线性回归最小二乘法和最大似然估计

线性回归最小二乘法和最大似然估计

概念

简单的说,线性回归代表基于某些特征 X (自变量)和预测变量 y(因变量)的线性关系。
公式如下:
y ( i ) = w 0 x 0 ( i ) + w 1 x 1 ( i ) + w 2 x 2 ( i ) + … + w n x n ( i ) y^{(i)} = w_0 x_0^{(i)} + w_1 x_1^{(i)} + w_2 x_2^{(i)} + … + w_n x_n^{(i)}y(i)=w0x0(i)+w1x1(i)+w2x2(i)++wnxn(i) ; 其中 x 0 ( i ) = 1 x_0^{(i)}=1x0(i)=1 (公式1_1)
即:
h w ( x ( i ) ) = y ( i ) = ∑ j = 1 n w j x j ( i ) h_w(x^{(i)}) = y^{(i)} = \displaystyle\sum_{j=1}^{n}w_jx_j^{(i)}hw(x(i))=y(i)=j=1nwjxj(i);(公式1_2)
其中 w 代表每一个特征的权重,
x ( i ) x^{(i)}x(i)代表每一个特征的值。
i ii 代表每一个样本

也可以用矩阵的方式表达:
h W ( X ) = y = X ∙ W T h_W(X) = y = X∙ W^ThW(X)=y=XWT ; (公式2)
其中 X 代表 m 个样本,每个样本包含 n 个特征值,即 m × n 的矩阵
W 代表 n 个特征值的权重,即 1 × n 的行向量
W.T 为 W 的转置,为 n × 1 的列向量
y 代表预测值,为 m × 1 的列向量

线性回归是一种监督学习,即已知特征 X 和 标记 y 。由公式2可知,未知的是权重 W
即线性回归模型实际上是求解每个特征 X 的权重 W

求解

求解线性回归主要有两种方法:最小二乘法和最大似然估计。下面我们具体来看下。

最小二乘法

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。
最小二乘法以估计值与观测值的平方和作为损失函数J(W) 。
有如下公式:
J ( W ) = ∑ i = 1 m ( y ( i ) − y p ( i ) ) 2 J(W) = \displaystyle\sum_{i=1}^{m} (y^{(i)} - y_p^{(i)})^2J(W)=i=1m(y(i)yp(i))2 ; (公式3)
其中 y^{(i)} 是样本标记,为实际值
y p ( i ) , y_p^{(i)},yp(i), 为模型预测值

由公式1_2和公式3可得:
J ( w ) = ∑ i = 1 m ( y ( i ) − h w ( x ( i ) ) ) 2 J(w) = \displaystyle\sum_{i=1}^{m} (y^{(i)} - h_w(x^{(i)}))^2J(w)=i=1m(y(i)hw(x(i)))2 ; (公式4)

为了方便表示,我们令 θ = W T θ = W^Tθ=WT
用矩阵表示可得到如下公式并化简:
J ( θ ) = ( X θ − y ) T ( X θ − y ) J(θ) = (Xθ - y)^T(Xθ -y)J(θ)=(Xθy)T(Xθy)
= ( θ T X T − y T ) ( X θ − y ) =(θ^TX^T - y^T)(Xθ -y)=(θTXTyT)(Xθy)
= θ T X T X θ − θ T X T y − y T X θ + y T y =θ^TX^TXθ - θ^TX^Ty - y^TXθ + y^Ty=θTXTXθθTXTyyTXθ+yTy (公式5)

要想使得线性回归模型拟合数据的能力变强,就要是得损失函数变小。
即求得 一个 θ 使得 J(θ) 最小,我们常用求驻点得方法得到 θ
关于向量、矩阵求导知识参见机器学习算法推导过程中的数学基础知识
公式5两边对 θ 求导 :
J ( θ ) ′ = ( θ T X T X θ ) ′ − X T y − X T y {J(θ)}' = ({θ^TX^TXθ})'-X^Ty-X^TyJ(θ)=(θTXTXθ)XTyXTy
= X T X θ + X T X θ − 2 X T y =X^TXθ+X^TXθ-2X^Ty=XTXθ+XTXθ2XTy
= 2 X T X θ − 2 X T y =2X^TXθ-2X^Ty=2XTXθ2XTy
J ( θ ) ′ = 0 {J(θ)}' = 0J(θ)=0
X T X θ = X T y X^TXθ=X^TyXTXθ=XTy
X T X X^TXXTX可逆,则 θ = ( X T X ) − 1 X T y θ=(X^TX)^{-1}X^Tyθ=(XTX)1XTy
X T X X^TXXTX不可逆,则需要加上一个干扰项使得( X T X + λ I ) (X^TX+λI)(XTX+λI)可逆,
从而求得 θ = ( X T X + λ I ) − 1 X T y θ=(X ^TX+λI)^{-1}X^Tyθ=(XTX+λI)1XTy

最大似然估计

最大似然估计是一个在已知观察结果(即样本)和给定概率分布模型的基础上,估计概率分布模型的参数,并使得在该参数下,生成这个已知样本的可能性最大的方法。
换句话说,最优的线性模型,其发生样本 X,y 的概率最大。
所以可以在预测值后加上一个误差 ε ( i ) ε^{(i)}ε(i)
y ( i ) = h w ( x ( i ) ) − ε ( i ) y^{(i)} = h_w(x^{(i)}) - ε^{(i)}y(i)=hw(x(i))ε(i);(公式6)
其中 y ( i ) y^{(i)}y(i):某个样本的实际值。
h w ( x ( i ) ) h_w(x^{(i)})hw(x(i)):使用模型预测出来的值
ε ( i ) ε^{(i)}ε(i):误差
所有样本的误差是独立同分布的,服从均值为0,方差为某个定值的高斯分布(即正态分布)
举个简单的例子:
比如现在有A,B 两个口袋,
A口袋里面有9个白球,1个黑球。
B口袋里面有1个白球,9个黑球。
现在我从某一个口袋里面拿到了一个白球,那么你猜我是从哪个口袋拿的?
大部分人都会猜是从A口袋拿的,因为A口袋拿到白球的概率是90%,而B口袋只有10%

最大似然估计也是同一个道理,我们已知已经拿到了样本X,y的数据,那么我们是从哪个口袋拿出来的概率最大呢?这里的口袋就代表权重W

接下来我们从概率最大的角度来求解权重W
我们由公式6可得:
ε ( i ) = y ( i ) − h w ( x ( i ) ) ε^{(i)}=y^{(i)}- h_w(x^{(i)})ε(i)=y(i)hw(x(i));(公式7)
又因为误差服从高斯分布,可得概率密度函数:
p ( ε ( i ) ) = 1 σ 2 π e ( − ( ε ( i ) ) 2 2 σ 2 ) p(ε^{(i)})=\frac{1}{σ\sqrt 2π}e^{(-\frac{(ε^{(i)})^2}{2σ^2})}p(ε(i))=σ2π1e(2σ2(ε(i))2);(公式8)
联合公式7,8可得:
p ( y ( i ) ∣ h w ( x ( i ) ) = 1 σ 2 π e ( − ( y ( i ) − h w ( x ( i ) ) 2 2 σ 2 ) p(y^{(i)}|h_w(x^{(i)})=\frac{1}{σ\sqrt 2π}e^{(-\frac{(y^{(i)}-h_w(x^{(i)})^2}{2σ^2})}p(y(i)hw(x(i))=σ2π1e(2σ2(y(i)hw(x(i))2)
此公式表示在给定模型 h w ( x ( i ) ) h_w(x^{(i)})hw(x(i)) 的情况下,发生结果为实际值y的概率。
那么似然函数公式如下:
L ( h w ( x ( i ) ) ) = ∏ i = 1 m p ( y ( i ) ∣ h w ( x ( i ) ) L(h_w(x^{(i)}))=\displaystyle\prod_{i=1}^{m} p(y^{(i)}|h_w(x^{(i)})L(hw(x(i)))=i=1mp(y(i)hw(x(i))
= ∏ i = 1 m 1 σ 2 π e ( − ( y ( i ) − h w ( x ( i ) ) 2 2 σ 2 ) =\displaystyle\prod_{i=1}^{m} \frac{1}{σ\sqrt 2π}e^{(-\frac{(y^{(i)}-h_w(x^{(i)})^2}{2σ^2})}=i=1mσ2π1e(2σ2(y(i)hw(x(i))2);(公式9)
对公式9两边取对数,不影响求该函数的驻点。得:
l n ( L ( h w ( x ( i ) ) ) ) = l n ( ∏ i = 1 m p ( y ( i ) ∣ h w ( x ( i ) ) ) ln(L(h_w(x^{(i)})))=ln(\displaystyle\prod_{i=1}^{m} p(y^{(i)}|h_w(x^{(i)}))ln(L(hw(x(i))))=ln(i=1mp(y(i)hw(x(i)))
= ∑ i = 1 m l n 1 σ 2 π e ( − ( y ( i ) − h w ( x ( i ) ) 2 2 σ 2 ) =\displaystyle\sum_{i=1}^{m}ln \frac{1}{σ\sqrt 2π}e^{(-\frac{(y^{(i)}-h_w(x^{(i)})^2}{2σ^2})}=i=1mlnσ2π1e(2σ2(y(i)hw(x(i))2)
= m ∗ l n 1 σ 2 π − 1 2 σ 2 ∑ i = 1 m ( y ( i ) − h w ( x ( i ) ) 2 =m*ln \frac{1}{σ\sqrt 2π}-\frac{1}{2σ^2}\displaystyle\sum_{i=1}^{m}(y^{(i)}-h_w(x^{(i)})^2=mlnσ2π12σ21i=1m(y(i)hw(x(i))2;(公式10)
我们知道 h w ( x ( i ) ) h_w(x^{(i)})hw(x(i)) 是关于权重W的函数,那么公式10也是一个关于权重W的函数
设为 l ( W ) l(W)l(W),则有:
l ( W ) = m ∗ l n 1 σ 2 π − 1 2 σ 2 ∑ i = 1 m ( y ( i ) − h w ( x ( i ) ) 2 l(W)=m*ln \frac{1}{σ\sqrt 2π}-\frac{1}{2σ^2}\displaystyle\sum_{i=1}^{m}(y^{(i)}-h_w(x^{(i)})^2l(W)=mlnσ2π12σ21i=1m(y(i)hw(x(i))2
m ∗ l n 1 σ 2 π m*ln \frac{1}{σ\sqrt 2π}mlnσ2π1 这是一个常数项,所以要想 l ( W ) l(W)l(W) 最大,
只需 1 2 σ 2 ∑ i = 1 m ( y ( i ) − h w ( x ( i ) ) 2 \frac{1}{2σ^2}\displaystyle\sum_{i=1}^{m}(y^{(i)}-h_w(x^{(i)})^22σ21i=1m(y(i)hw(x(i))2 这个最小。去掉前面的常数系数,不影响求驻点。其实这个就是公式4最小二乘法。之后的求解过程同最小二乘法。

总结

细心的同学可以发现,可以通过最大似然估计来推导最小二乘法。
两种方法从两个角度出发都得到了同一个结果。
最大似然估计比较难理解,可以多学习下概率知识。

以上如有不对之处,还望指出。


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