线性回归

  线性回归假设特征和结果满足线性关系。 其实线性关系的表达能力非常强大,每个特征
对结果的影响强弱可以有前面的参数体现,而且每个特征变量可以首先映射到一个函数,然
后再参与线性计算。这样就可以表达特征与结果之间的非线性关系。

  我们用 X1, X2..Xn 去描述 feature 里面的分量,如n=2时估计函数表示为:


这里θ为学习器参数,令x0为1,则估计函数可表示为:


评估学习器模型的好坏需要评估参数θ的好坏,一般称这个函数为损失函数或错误函数J(θ)

如何调整θ以使得J(θ)取最小值就是我们评估的标准。取最小值的常见方法包括最小二乘法和梯度下降法。

最小二乘法与梯度下降法的关系?

  最小二乘法的目标:求误差的最小平方和,对应有两种:线性和非线性。线性最小二乘的解是closed-form即

而非线性最小二乘没有closed-form,通常用迭代法求解。

  迭代法:即在每一步update未知量逐渐逼近解,可以用于各种各样的问题(包括最小二乘),比如求的不是误差的最小平方和而是最小立方和。
  梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。高斯-牛顿法是另一种经常用于求解非线性最小二乘的迭代法(一定程度上可视为标准非线性最小二乘求解方法)。
  还有一种叫做Levenberg-Marquardt的迭代法用于求解非线性最小二乘问题,就结合了梯度下降和高斯-牛顿法。

  所以如果把最小二乘看做是优化问题的话,那么梯度下降是求解方法的一种,
是求解线性最小二乘的一种,高斯-牛顿法和Levenberg-Marquardt则能用于求解非线性最小二乘。

最小二乘法LMS

  使用一些初始θ参数值,然后每次更新theta值使得J(theta)最小,可以使用梯度下降算法:

使用初始θ每次更新θ,式子中α为步长,不能太大也不能太小,太大的话可能会越过最低点,甚至可能无法收敛,下一次迭代又移动了一大步,越过一次,又越过一次,一次次越过最低点,直到你发现实际上离最低点越来越远,所以,如果α太大,它会导致无法收敛,甚至发散;α也不能太小,α太小的话,下降会很慢,示意图如下:


线性回归_第1张图片

如果θ0一直为 0, 则theta1与J的函数为:


线性回归_第2张图片

如果有θ0与θ1都不固定,则theta0、theta1、J 的函数为:
线性回归_第3张图片

注意:如果是线性回归,则损失函数J(θ)的形状一定是碗状的,即只有一个最小值。

线性回归_第4张图片
线性回归_第5张图片

线性回归_第6张图片

矩阵求导

线性回归_第7张图片

推导过程参考https://wenku.baidu.com/view/cee1ff5e5727a5e9846a610a.html

你可能感兴趣的:(线性回归)