线性回归算法:最小二乘算法
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。《摘自Baidu百科》
下面详细介绍最小二乘法在机器学习线性回归中的原理。
样本特征集:n个样本,每个样本有m个特征,一个分类标签。
X∈Rm×n,Y∈Rn×1X \in \mathbb R^{m \times n} ,Y\in \mathbb R^{n \times1} X∈Rm×n,Y∈Rn×1
而需要求解的特征系数
W∈Rm×1W \in R^{m \times1} W∈Rm×1
线性回归预测结果
Y^=XTW,Y^∈Rn×1\hat{Y} = X^{T}W,\hat{Y} \in R^{n \times1} Y^=XTW,Y^∈Rn×1
线性回归模型误差
J(W)=∣∣Y^−Y∣∣2=(Y^−Y)T(Y^−Y)=(Y^T−YT)(Y^−Y)=Y^TY^−Y^TY−YTY^+YTY=Y^TY^−2Y^TY+YTY=(XTW)T(XTW)−2(XTW)TY+YTY=WTXXTW−2WTXY+YTY\begin{aligned} J(W) &= ||\hat{Y}-Y||^{2} \\&=(\hat{Y}-Y)^{T}(\hat{Y}-Y) \\&=(\hat{Y}^{T}-Y^{T})(\hat{Y}-Y) \\&=\hat{Y}^{T}\hat{Y}-\hat{Y}^{T}Y-{Y}^{T}\hat{Y}+Y^{T}Y \\&=\hat{Y}^{T}\hat{Y}-2\hat{Y}^{T}Y+Y^{T}Y \\&=(X^{T}W)^{T}(X^{T}W)-2(X^{T}W)^{T}Y+Y^{T}Y \\&=W^{T}XX^{T}W-2W^{T}XY+Y^{T}Y \end{aligned} J(W)=∣∣Y^−Y∣∣2=(Y^−Y)T(Y^−Y)=(Y^T−YT)(Y^−Y)=Y^TY^−Y^TY−YTY^+YTY=Y^TY^−2Y^TY+YTY=(XTW)T(XTW)−2(XTW)TY+YTY=WTXXTW−2WTXY+YTY
J(W)J(W)J(W)对WWW求导可以得到:
∂J(W)∂W=2XXTW−2XY\frac {\partial J(W)}{\partial W} = 2XX^{T}W-2XY ∂W∂J(W)=2XXTW−2XY
令导数等于0,可以得到:
W=(XXT)−1XYW=(XX^{T})^{-1}XY W=(XXT)−1XY
注意:上式成立的前提条件是XXTXX^{T}XXT可逆,样本数量n>特征数量m。
公式推导需要用到的矩阵求导公式为:
∂XTAX∂X=(A+AT)X\frac {\partial X^{T}AX}{\partial X} = (A+A^{T})X ∂X∂XTAX=(A+AT)X
∂XTA∂X=A\frac {\partial X^{T}A}{\partial X} = A∂X∂XTA=A
∂AX∂X=AT\frac {\partial AX}{\partial X} = A^T∂X∂AX=AT