矩阵最小二乘法(正规方程化)

在机器学习中,若有多个特征值,可以使用此方法:

 比如这里有4个特征值,其中y那一列表示的是真实结果,以矩阵的形式表示为:

X=\begin{bmatrix}1 & 2104&5 &1 &45 \\1 & 1416&3 &2 &40 \\1 & 1534&3 &2 &30 \\1 & 852&2 &1 &36 \end{bmatrix},y=\begin{bmatrix}460 \\232 \\315 \\178 \end{bmatrix},\theta =\begin{bmatrix}\theta _{0} \\\theta _{1} \\\theta _{2} \\\theta _{3} \\\theta _{4} \end{bmatrix}

 其中X=m\times n\ \ \ \ y=m\times1\ \ \ \ \theta =n\times1

则损失函数=(预测值-真实值)^2,为什么使用平方呢?有这两个优点:

1.为了抵消正负误差相抵消

2.扩大大的误差,缩小小的误差

 F(\theta)=(X\theta -y)^{2}\Rightarrow (X\theta -y)^{T}(X\theta -y)=(\theta ^{T}X^{T}-y^{T})(X\theta-y)

=\theta ^{T}X^{T}X\theta-\theta ^{T}X^{T}y-y^{T}X\theta+y^{T}y 

=\theta ^{T}X^{T}X\theta-2\theta^{T}X^{T}y+y^{T}y

 至于中间两项为什么能合并,会在底部解释,然后利用矩阵求导的理论对矩阵求导:

\frac{\partial F}{\partial \theta}=(X^{T}X+X^{T}X)\theta-2X^{T}y =0

 \theta = (X^TX)^{-1}X^{T}y,这样就得出了正规化方程,在特征值不多的时候可以使用。


需要理解的知识点:

 因为中间两项其实都是标量,也就是一个1*1的数,所以可以合并一起。

 

 


版权声明:本文为weixin_42430074原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。