机器学习笔记2——线性回归

常见应用:股市预测、无人驾驶、推荐系统
讲解实例:预测一只口袋妖怪进化之后的战斗力
在这里插入图片描述
一个实例口袋妖怪x=(xcp,xs,xhp,xw,xh) 括号中的每一项代表该实例在该属性(战斗力,种类,生命值,重量,高度)上的取值。我们希望找到一个函数来预测一只口袋妖怪进化之后的战斗力即CP值。
线性模型:在这里插入图片描述
w,b为参数,其中w为权重,直观表达了各属性在预测中的重要性。
第一步:建立模型(先只考虑xcp一个属性对于进化之后战斗力的影响)
在这里插入图片描述
学得w和b之后模型就可以确定。
第二步:确定函数好坏(模型性能)的标准即确定Loss Function L
在这里插入图片描述
第三步:训练模型即确定参数从而确定模型。
在这里插入图片描述
即找到使L(f)最小的w和b
【注解】:梯度下降法

在这里插入图片描述

该曲线为L随w取值变化的曲线。
(1)随机选取一个起始点w0
(2)计算曲线在该点的导数(微分)
(3)若值大于零则减小w的值,若值小于0则增大w的值,直至导数为零。
在这里插入图片描述
其中在这里插入图片描述
为学习速率。
(4)多变量函数的梯度向下同理,将倒数换成偏导数即可。

通过以上步骤我们训练得到参数b = -188.4 w = 2.7 在样本数据(训练数据)上的平均误差为31.9,在测试数据上的平均误差为35.0。
为了得到更好的预测效果我们分别以
y = b + w1 xcp + w2 (xcp)2
y = b + w1 xcp + w2 (xcp)2+ w3 (xcp)3
y = b + w1 xcp + w2 (xcp)2+ w3 (xcp)3 + w4 (xcp)4
y = b + w1 xcp + w2 (xcp)2+ w3 (xcp)3 + w4 (xcp)4+ w5 (xcp)5
为模型进行训练,我们发现第一第二个模型的性能相较于前一个模型均有提升,而第三个模型相较于第二个性能反而有所下降,第四个模型的性能极差。从理论上来说,如果我们能够找到该组模型中最好的函数,那么越复杂的模型在训练数据上的误差就会越小,但是在测试数据上,很多时候模型越复杂并不意味着具有更好的预测性能。
【注解】:过拟合——模型在训练集上的表现很好,但是泛化能力比较差,在测试集上表现不好。

在这里插入图片描述
当我们扩大样本(训练数据)的数量之后,我们发现同一cp值可能会对应不同的结果,我们之前所建立的模型并不能很好地拟合大多数样本,那么我们考虑到出了CP值意外是不是还有其他的属性值影响口袋妖怪进化之后的CP值呢?我们将种类因素考虑在内:

在这里插入图片描述
将其改写为线性模型形式训练后结果如下:
在这里插入图片描述
同理我们可以将更多属性值考虑在影响因素内进行尝试。为了避免过拟合我们可以对步骤2中的L函数做如下改进。
在这里插入图片描述 这样可以得到w更小的函数(更平滑的曲线)。 【注解】:正则化是一种为了减小测试误差的行为(有时候会增加训练误差)。我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模型比如神经网络,去拟合数据时,很容易出现过拟合现象(训练集表现很好,测试集表现较差),这会导致模型的泛化能力下降,这时候,我们就需要使用正则化,降低模型的复杂度。