最小二乘(Least Squares)

已经很久没有写博客了,今天决定写一篇关于最小二乘的博客,发表下自己的理解,有不足或错误之处,欢迎大家指正。

最小二乘,又被叫做最小乘方or最小平方,它是一种优化技术。当给你一堆数据点,你可以想象成初中数学课堂上学习解析几何的时候,在坐标轴上给出一些点(通常这些点连起来是一条直线),然后要求算出这条直线的解析式(也就是拟合这些数据点),或计算斜率(可以理解成回归系数),然后要你算出当x等于多少时y的值之类的。我们在利用坐标轴上的点进行计算解析式的时候,其实就是找到最佳斜率(回归系数)来对这些数据点进行拟合了。

现在回到最小二乘上来,最小二乘,就是用来找到最佳的回归系数的方法。在过去的30年中,线性模型一直是统计学的主要支柱,并且现在仍然是最重要的工具之一。给定一个输入向量 X=(X 1 ,X 2 ,,X p )  ,可以通过下面的模型来预测输出 Y  :

Y ^ =β ^  0 + j=1 p X j β ^  j  
β ^  0   是截距,在机器学习中也称偏置(bias)。通常我们将 X 0   设为 1,与偏置相乘,这样,上面向量形式的线性模型可以写成内积的形式:
Y ^ =X T β ^  
可以发现,上面的公式中 Y  β  上面有个尖尖的帽子样的符号,这表示一个最佳估计,与真实的 Y  β  区分开。

现在我们需要找到这样的最佳 β  来对 Y  进行预测,我们要找到使误差和,也就是  N i=1 (y i x T i β)  最小的 β  ,如果将各个误差累加的话,正负误差会抵消,那就起不到效果,找不到最佳回归系数,所以将每个误差值先平方,再求和,这样就不存在误差抵消的情况,这就叫做最小二乘:

RSS(β)= i=1 N (y i x T i β) 2  
很容易发现这是一个关于 β  的二次函数,所以极小值总是存在,但可能不唯一,我们把上式写成矩阵的形式:
RSS(β)=(yXβ) T (yXβ) 
现在来回顾下高中的知识,当要求二次函数的极值时,我们的做法通常是对其求导,令其等于0(因为导数为0的点,其切线的斜率为0,而这样的点就是极值点),这样就能求的极值点,现在我们对上式中的 β  求微分(用用高等数学术语吧:)), 因为我们要求的最小的 β  来最小化误差,这样我们得到了标准方程:
X T (yXβ)=0 
如果 X T X  是非奇异的,也就是它们是满秩矩阵,其行列式不等于0(参考大学课程线性代数)。那么我们可以得到 β  的一个最佳估计:
β ^ =(X T X) 1 y 
这样,我们就计算出了回归系数(可以理解为一次函数的斜率)了, 有了回归系数,我们就确定了预测 Y  的方程 Y ^ =X T β ^   ,这个方程叫做回归方程,而使用最小二乘计算回归系数的过程就叫做回归。

你可能感兴趣的:(机器学习,回归,最小二乘)