单变量线性回归

章节2 单变量线性回归 - 图1%20%3D%20%CE%B8_0%20%2B%20%CE%B8_1x#card=math&code=h%28x%29%20%3D%20%CE%B8_0%20%2B%20%CE%B8_1x)

章节2 单变量线性回归 - 图2%20%3D%20%5Cfrac%7B1%7D%7B2m%7D*%5Csum%7Bi%3D1%7D%5E%7Bm%7D%7B(h(x_i)-y)%5E2%7D#card=math&code=J%28%5Ctheta_0%2C%20%5Ctheta_1%29%20%3D%20%5Cfrac%7B1%7D%7B2m%7D%2A%5Csum%7Bi%3D1%7D%5E%7Bm%7D%7B%28h%28x_i%29-y%29%5E2%7D)

目标:求解 minisize{章节2 单变量线性回归 - 图3#card=math&code=J%28%5Ctheta_0%2C%20%5Ctheta_1%29)}

  • 代价函数 章节2 单变量线性回归 - 图4#card=math&code=J%28%5Ctheta_0%2C%20%5Ctheta_1%29)
    又称为平方代价函数或平方误差函数。解决回归问题最常用的手段。

简化问题

章节2 单变量线性回归 - 图5%20%3D%20%5Ctheta1x#card=math&code=h%28x%29%20%3D%20%5Ctheta_1x)
章节2 单变量线性回归 - 图6%20%3D%20%5Cfrac%7B1%7D%7B2m%7D*%5Csum
%7Bi%3D1%7D%5E%7Bm%7D%7B(%5Ctheta1x-y)%5E2%7D#card=math&code=J%28%5Ctheta_1%29%20%3D%20%5Cfrac%7B1%7D%7B2m%7D%2A%5Csum%7Bi%3D1%7D%5E%7Bm%7D%7B%28%5Ctheta_1x-y%29%5E2%7D)

通过选取一些离散的 章节2 单变量线性回归 - 图7 的值我们可以大致画出 章节2 单变量线性回归 - 图8章节2 单变量线性回归 - 图9#card=math&code=J%28%CE%B8_1%29) 之间的关系曲线

章节2 单变量线性回归 - 图10

学习算法的优化目标就是找到令 章节2 单变量线性回归 - 图11#card=math&code=J%28%CE%B8_1%29) 最小的情况, 即图中 章节2 单变量线性回归 - 图12 的点。对于这组数据集 J(1) 就是我们的目标代价函数。

对于原问题的代价函数,用以下 3D 图和等高线图展示

章节2 单变量线性回归 - 图13

章节2 单变量线性回归 - 图14

梯度下降

算法梗概

  1. 从某个初值出发
  2. 朝梯度下降最快的方向更新参数的值,重复此步骤知道达到局部最优解

以下图片展示了梯度下降公式和参数更新的方法

章节2 单变量线性回归 - 图15

  • 说明

要同时更新所有参数,如左侧流程所示。

α 表示学习率,即由于控制朝局部最优解更新参数时的步长。α 太小则学习(朝局部最优解优化)的效率过低 ,α 太大则学习时的效率会提高但很有可能在某次更新时错过局部最优解,甚至无法收敛

章节2 单变量线性回归 - 图16

当然,在我们朝局部最优解优化时,梯度下降算法能够自动采取更小的变化幅度来逼近目标。

章节2 单变量线性回归 - 图17

线性回归的梯度下降

Batch 算法:每一步梯度下降都用全部的数据集

以下为各参数的偏导数

章节2 单变量线性回归 - 图18