李宏毅机器学习笔记-回归
1 一元线性回归与多元线性回归
回归:Regression 就是找到一个函数 f u n c t i o n function function ,通过输入特征 x x x,输出一个数值 S c a l a r Scalar Scalar。
一元线性回归:以一个特征 x c p x_{cp} xcp 为例,线性模型假设 y = b + w ⋅ x c p y = b + w·x_{cp} y=b+w⋅xcp ;当 x c p x_{cp} xcp有多个特征时,线性模型: y = b + ∑ w ⋅ x c p y = b + \sum w·x_{cp} y=b+∑w⋅xcp 为多元线性模型。
因此,假设线性模型为: y = b + ∑ w i x i y = b + \sum w_ix_i y=b+∑wixi
其中: x i x_i xi:就是各种特征(fetrure) x c p , x h p , x w , x h , ⋅ ⋅ ⋅ x_{cp},x_{hp},x_w,x_h,··· xcp,xhp,xw,xh,⋅⋅⋅
w i w_i wi:各个特征的权重 w c p , w h p , w w , w h , ⋅ ⋅ w_{cp},w_{hp},w_w,w_h,·· wcp,whp,ww,wh,⋅⋅
b b b:偏移量
2 损失函数与梯度下降
怎么衡量模型的好坏呢?从数学的角度来讲,我们使用距离。求真实值与预测值差,来判定模型的好坏。也就是使用损失函数(Loss function) 来衡量模型的好坏,统计10组原始数据 ( y ^ n − f ( x c p n ) ) 2 \left ( \hat{y}^n - f(x_{cp}^n) \right )^2 (y^n−f(xcpn))2 的和,和越小模型越好。如下图所示:
公式定义为: L ( w , b ) = ∑ n = 1 10 ( y ^ n − ( b + w ⋅ x c p ) ) 2 L(w,b)= \sum_{n=1}^{10}\left ( \hat{y}^n - (b + w·x_{cp}) \right )^2 L(w,b)=∑n=110(y^n−(b+w⋅xcp))2
我们将 w w w, b b b 在二维坐标图中展示,如图所示:
- 图中每一个点代表着一个模型对应的 w w w 和 b b b
- 颜色越深代表模型更优
可以与后面的图11(等高线)进行对比
3 模型评价与正则化
3.1 梯度下降法
对于已知的模型集合,需要选择最优的模型,即最优参数w,b;
w ∗ = a r g min x L ( w ) w^* = arg\ \underset{x}{\operatorname{\min}} L(w) w∗=arg xminL(w)
对此我们有梯度下降法
首先在这里引入一个概念 学习率 :移动的步长,如图7中 η \eta η
- 步骤1:随机选取一个 w 0 w^0 w0
- 步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向
- 大于0向右移动(增加 w w w)
- 小于0向左移动(减少 w w w)
- 步骤3:根据学习率移动
- 重复步骤2和步骤3,直到找到最低点
从图3-8中可以看出,我们通过梯度下降gradient descent不断更新损失函数的结果,这个结果会越来越小,但是会存在以下问题:
- 问题1:当前最优(Stuck at local minima)
- 问题2:等于0(Stuck at saddle point)
- 问题3:趋近于0(Very slow at the plateau)
可见,梯度下降法并不能保证找到全局最优点,为了解决这一问题,可以通过多次实验,保证每次的起始点不同,最后找到L(w,b)最小值对应的w,b。
3.2 过拟合与正则化
在模型上,我们再可以进一部优化,使用更高次方的模型,如图所示
- 训练集平均误差【15.4】【15.3】【14.9】【12.8】
- 测试集平均误差【18.4】【18.1】【28.8】【232.1】
可以发现,当模型的阶数越高,模型在训练集的误差很小,但是在测试集上的误差很大,这样的模型,其泛化能力很小,过分的依赖于训练数据,这种情况被称为过拟合。
为了避免过拟合,需要在模型中加入正则项,即当模型变得复杂时,对其进行惩罚。
w 越小,表示 f u n c t i o n function function 较平滑的, f u n c t i o n function function输出值与输入值相差不大
在很多应用场景中,并不是 w w w 越小模型越平滑越好,但是经验值告诉我们 w w w 越小大部分情况下都是好的。
b b b 的值接近于0 ,对曲线平滑是没有影响