最小二乘法简述

2022-11-14 15:54:57 浏览数 (2)

最小二乘法,说白了其实就是解决线性回归问题的一个算法。这个算法最早是由高斯和勒让德分别独立发现的,也是当今十分常见的线性拟合算法,并不复杂。

我们常用的最小二乘法有两种,一种是普通方程表示的简单线性拟合问题,另一种是矩阵表示的高维度的线性拟合问题。

普通最小二乘法

他解决的基本问题其实就是给定一些数对(x1,y1),(x2,y2),(x3,y3),....,让你求出参数β0,β1,使得直线y=β0 β1x能够最好的拟合这个数据集,也就是使得他的平方损失函数取到最小值,即

Q=underset{i=1}{overset{n}{sum}} (y_i-beta_0-beta_1x_i)^2

最小。

为了取得最小值,我们分别对beta_0,beta_1求偏导,并使之为0。

left{begin{aligned}&frac{partial Q}{partial beta_0}=-2underset{i=1}{overset{n}{sum}}(y_i-beta_0-beta_1 x_i)=0\& frac{partial Q}{partial beta_1}=-2underset{i=1}{overset{n}{sum}}x_i(y_i-beta_0-beta_1 x_i)=0end{aligned}right.

解得:

left{begin{aligned}&beta_0=frac{nsum x_iy_i-sum x_isum y_i}{nsum x_i^2-(sum x_i)^2}\& beta_1=frac{sum x_i^2sum y_i-sum x_isum x_iy_i}{nsum x_i^2-(sum x_i)^2}end{aligned}right.

套用这个公式得到的参数beta_0,beta_1就是最好的拟合参数了。

矩阵最小二乘法

用矩阵表示的最小二乘法则更加方便,能够用非常简单的矩阵形式进行计算,而且能拟合多维度的线性方程。

对于线性回归,我们要做的事情其实可以近似等同于解线性方程AX=Y,其中A是mn的矩阵,X,Y是1m的矩阵。m是数据的对数,n是数据的维数加1(因为还有常数),而且n应该小于m。

当然,这个方程是没有解得,不过我们可以通过数值运算计算出一个解,可以证明这个解就是平方损失函数最小的解。

X=(A*A^T)^{-1}A^TY

解出的X就是线性回归函数的系数矩阵。

0 人点赞