线性模型
用一条线拟合实际数据:h(θ)=θ0x0+θ1x1+...+θnxn
这里,将h(θ) 称为假设函数,是对实际值的一种估计,是估计就会有偏差,我们的目标是尽量的找到估计值与实际值之间的误差最小的拟合线,这样可以使用拟合线预测未知数据。
利用最小二乘法构建损失函数
损失函数:J(θ)=2N1∑i=1N(hθ(x(i))−y(i))2
以单变量线性模型为例,下图表示θ0=0时,不同的θ1值的拟合线与真实值之间的关系, 最好的拟合线是橘色线,即斜率为2.

- 当θ1=0<2(最佳拟合)时,估计值与真实值差距大,损失函数值大
- 当θ1=3>2(最佳拟合)时,估计值与真实值差距大,损失函数值大
- 即,损失函数在最佳取值左右两侧都会比较大
损失函数随θ的变化情况:

梯度下降法优化损失函数
梯度下降的方式是在不知道最优参数时,初始化一个参数值,然后不断优化,在找最小值的过程中沿着负梯度(一阶导)的方向下降最快,因此沿着这个方向走。方向确定好,确定向前走的步长(学习率)。
-
梯度对优化的影响:
- 初始值在最优点右侧时,负梯度<0,步长α>0,更新参数时,参数向减小的方向移动。

- 初始值在最优点左侧时,负梯度>0,步长α>0,更新参数时,参数向增加的方向移动。
- 步长对优化的影响
- 步长α过大,可能造成不收敛,左图
- 步长α过小,优化速度会比较慢

推广到多变量线性模型,梯度下降对参数的更新:
- θj:=θj−α∂θj∂J(θ)
- 线性模型:θj:=θj−αN1∑i=1N(hθ(x(i)−y(i))xj(i))
- 梯度下降对参数的更新要所有参数一起更新。即每轮更新成新的hθ(X),假设函数中,每个参数都更新,再进行下一轮。
当然不仅仅是线性模型可以用梯度下降的方式进行优化,很多其他的数学模型也都可以用梯度下降的方法进行优化。梯度下降是一类优化的方法。
【小结】想要求得最能拟合真实数据的线性模型,可以先设置一个初始值,用最小二乘法构造损失函数,通过梯度下降的优化方法不断更新参数,使其达到最优。
直接计算最优解
梯度下降的方式,需要通过不断迭代找到最优解,那能否通过直接找到最优解的位置呢?对凸函数来说,一阶导为0处,就是一个可直接计算出的最优解。
h(θ)=θ0x0+θ1x1+...+θnxn
- 模型共有n个特征,N个样本数据,y(i)是预测值。
- 用矩阵可以表示为

用X是(n+1)xN维特征矩阵,θ是(n+1)维参数列向量,Xθ是N维列向量(估计值)。Y是N维列向量(真实值)。
最小二乘法 构造损失函数
min∣∣Xθ−Y∣∣22 L-2距离的平方:即各项平方和
令∂θ∂S=0 ,得θ=(XTX)−1XTY