最小二乘法Least Squares

1. 核心思想

最小二乘法是勒让德( A. M. Legendre)于1805年在其著作《计算慧星轨道的新方法》中提出的。其核心的思想就是说求解未知参数,使得理论值与观测值之差(误差,或者说残差)的平方和(一般叫做损失函数)达到最小:

最小二乘法的损失函数

其中 y_i 就是我们的观测样本,\hat y 就是我们的理论值(也叫你和函数),目标函数就是我们说的损失函数 E ,我们的目标就是得到使得 E 最小时候的参数取值。

所谓最小二乘,其实也可以叫做最小平方和,其目的就是通过最小化误差的平方和,使得拟合对象无限接近目标对象。换句话说,最小二乘法可以用于对函数的拟合。

2. 通用解法

  • 列出损失函数E,样本值用 x_i 来表示
  • 求损失函数关于参数的导数,使导数为0,代表损失函数最小
  • 此时的参数即为我们所求解得未知参数

3. 对真值的估计

这里看一个例子理解一下上面所说的1/2两点。
我们用最小二乘法来解释 为什么多次测量取平均值的结果就接近于真值,比如说我们测身高时候取三次平均。
我们对某个未知量 θ 观测 m 次,记录每次结果为 x_i。则写出其损失函数 E
E= \sum_{i=1}^m e_i^2= \sum_{i=1}^m(x_i-a)^2
其中 a 是未知量的真实值。根据上面的计算过程,我们令导数为0,可得:
\sum_{i=1}^m-(x_i-a)=0
最终解得:\theta=a={{\sum x_i} \over m}
即多次的算术平均就是真实值。

4. 多元线性回归

上面我们提到了,求导计算是最通用的解法,但实际上,矩阵法要比代数法简单很多。而且,矩阵法可以取代循环,所以现在很多书和机器学习库都是用矩阵法来做最小二乘。
对于函数 h_\theta(x_1,x_2,...,x_n)=\theta_0+\theta_1x_1+...+\theta_nx_n,我们将其矩阵形式计为:

多元线性函数的矩阵形式

损失函数定义为:(1/2系数是为了简化运算的)

矩阵迹计算公式:

令上式为0,求解可得
\theta = (X^TX)^{-1}X^TY

这里所谓的迹计算公式我不太懂,不过知道是这样来的就行了。

5. 最小二乘法的适用场景

这里需要考虑一下样本数量 m 和特征数量 n 之间的大小关系。如果 m<n,则上一小节中解得的 X^TX矩阵的逆是不存在的,这时候需要做正则化(这一部分和西瓜书对应的部分是一致的)。m=n,直接解方程组即可。m>n,这时候用最小二乘法。

局限性

  • 第一,最小二乘法需要计算 (XTX) 逆矩阵,有可能逆矩阵不存在,这样就没有办法直接用最小二乘法。
  • 第二,当样本特征n非常的大的时候,计算逆矩阵是一个非常耗时的工作,甚至不可行。建议不超过10000个特征。
  • 第三,如果拟合函数不是线性的,这时无法使用最小二乘法,需要通过一些技巧转化为线性才能使用。

6. 总结

最小二乘法用最小化损失函数的方法,来拟合线性函数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容