老饼讲解:一步一步上手学习
最小二乘法是机器学习里最基础的一种求解方法,这节讲述最小二乘法公式的两种推导方法。
在说最小二乘法之前,我们先来晒两个矩阵X和Y。假设已采集 x 和 y 的m个样本,用矩阵表示的个样本,用维列向量 表示的个样本,形象点就是如下图示:

好了,假设用来拟合 y ,则所有样本的预测误差平方和为:
这里m是样本个数,代表第i个样本的x和y
事实上,上式也可以写为矩阵形式,那么就是:
现在我们要求解使E最小的w,那么这个问题,就称为最小二乘问题,从上面的问题背景,可以认为就是找出x的系数,使得它与y的误差最小。
而事实上,我们也可以从更纯粹的数学角度来看待最小二乘问题,那么最小二乘问题就是:
现有,求一,使 最小
而从数学角度来看,最小二乘问题的意义是,找出一个w,使得Xw最佳逼近Y:

怎么说呢,其实就是仅用X的各列,如何线性组合出一个与Y最接近的。
好了,这里我们直接晒一下最小二乘问题的求解公式,如下:
上面的w,就是最小二乘问题的最佳解,也就是它能令 最小。好了,如果公式有些抽象,那不妨来图示一下,如下:

这就是最小二乘问题的求解公式了,那么这条公式怎么来的呢?它可以用微分(求导)的方法推导出来,也可以用代数的方法推导出来,下面我们两种推导方法都来看一看。
使用微分的方法来推导最小二乘法的求解公式,在思路上很简单,因为在微积分中,驻点就是函数的最佳解了,因此我们只需要令E(w)的偏导全为0,然后再联立求解出w就可以了。话不多说,马上开干!
最小二乘法的误差函数为:
对于单个w,在E中的偏导如下:
根据单个分量的形式,就可以推广到整体w的偏导为:
接下来令它为0,就可以求得驻点如下:
这就得到了最小二乘法的求解公式:
通过代数中的空间最佳逼近原理也可推导最小二乘法,具体如下:
由于是对的最佳逼近,可知向量与构成的空间垂直

如图所示,与构成的空间垂直(即与X的每列的点积为0),即有:
进一步化简即可得到:
通过驻点求导来推导最小二乘法,虽然推导过程较为复杂,但思路简洁,知识要求起点低。而最佳逼近方法,在了解代数基础上,推导最小二乘法基本就是一步到位,随时手推,不必记公式。
最小二乘法就是找一个w,使得X的各列组合后与真实的y最佳迫近,它有精确的公式解,而公式的推导可以通过求驻点来推导,也可以用代数中的最佳迫近来推导,过程都很简单,特别是最佳迫近的方法,根本不用记公式。
评论