这几天看书的时候突然注意到了这个经典的优化方法,于是重新推导了一遍,为以后应用做参考。
背景
最小二乘法应该是我接触的最早的优化方法,也是求解线性回归的一种方法。线性回归的主要作用是用拟合的方式,求解两组变量之间的线性关系(当然也可以不是线性的,那就是另外的回归方法了)。也就是把一个系统的输出写成输入的线性组合的形式。而这组线性关系的参数求解方法,就是最小二乘法。
我们从最简单的线性回归开始,即输入和输出都是1维的。此时,最小二乘法也是最简单的。
假设有输入信号,同时输出信号为,我们假设输入信号和输出信号之间的关系可以写成如下形式:
我们需要求解最优的和,这里最优的含义就是,预测的最准确,也就是预测值和真实值的误差最小,即:
我们假设误差函数为:
对和分别求偏导:
根据极值定理,有,且,所以有:
其中,表示的均值,表示的均值。将Eq(9)代入Eq(4),有:
所以Eq(14)和Eq(9)就是最简单的最小二乘法的计算方法。
然后我们进一步考虑,如果输入和输出是多维数据,要如何计算。
假设输入信号为, 输出信号为,那么有:
其中是回归矩阵的系数,表示常数项,这里可以直接写到矩阵中。,
所以有:
假设误差函数为,则有:
计算对的偏导,则该偏导等于0:
所以有:
至此矩阵形式的最小二乘法(多元线性回归的参数解法)推导完成。注意这里的和中的数据排列方式为:每一行是一个维度的数据,每一列表示一个时间点。如果不是这么记录的话,那么公式需要加上转置。