线性回归的目标函数为什么是最小二乘

前言

关于线性回归的目标函数的由来,个人一直很好奇,索性自己下去研究了一番,着实有趣,特整理这篇文章,供自已以后翻阅回味,同时也供广大同胞们解解馋。

一、线性回归的似然函数

我们都知道线性回归是用数学方程式的形式去拟合现实生活中的问题,然后期望通过这样的方式能够找到问题的最优解。

这里我们还是以最为经典的波士顿房价预测为例:
线性回归的目标函数为什么是最小二乘_第1张图片
前13个属性是特征值,这里为了方便,记作 { x 1 , x 2 , . . . , x 13 } \{x_1,x_2,...,x_{13}\} {x1x2...x13} ,最后一个属性是我们要预测的真实目标值 y ^ \hat{y} y^ ,我们假设目标值(房价)和特征之间存在这样的关系:
h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ 13 x 13 h_θ(x) = θ_0 + θ_1x_1 + θ_2x_2 + ... + θ_{13}x_{13} hθ(x)=θ0+θ1x1+θ2x2+...+θ13x13
其中 { θ 0 , θ 1 , . . . , θ 13 } \{θ_0,θ_1, ...,θ_{13}\} {θ0θ1...θ13} 分别是截距和特征值的系数,我们的目的就很明显了,就是要求得这一组系数的值,使得房价的真实值 y ^ \hat{y} y^ 和房价的预测值 h θ ( x ) h_θ(x) hθ(x) 之间的差值最小,换句话说,就是让房价的预测值 h θ ( x ) h_θ(x) hθ(x) 无限的向房价的真实值 y ^ \hat{y} y^ 逼近

实际上,上述房价的预测公式可以改写成以下形式:
h θ ( x ) = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ 13 x 13 h_θ(x) = θ_0x_0 + θ_1x_1 + θ_2x_2 + ... + θ_{13}x_{13} hθ(x)=θ0x0+θ1x1+θ2x2+...+θ13x13
其中 x 0 x_0 x0 恒为 1 1 1 ,因为最终我们是要求解参数的值,特征值和目标值都是已知的,所以这样的转换是可行的。那么我们将上述场景拓展成一般形式,可以改写成包含参数的 n n n 维列向量的转置 θ ⃗ T = ( θ 0 , θ 1 , . . . , θ n ) \vec{θ}^T = (θ_0,θ_1, ...,θ_n) θ T=(θ0θ1...θn) 与包含特征值的 n n n 维列向量 x ⃗ = ( x 0 , x 1 , . . . , x n ) T \vec{x} = (x_0,x_1, ...,x_n)^T x =(x0x1...xn)T 的向量内积的形式:
h θ ( x ) = ∑ i = 1 n θ i x i = θ ⃗ T ⋅ x ⃗ h_θ(x) = \sum_{i=1}^n θ_ix_i = \vec{θ}^T \cdot \vec{x} hθ(x)=i=1nθixi=θ Tx

那么真实值和预测值之间存在如下关系,即线性回归的似然函数为:
y ^ ( i ) = θ ⃗ T ⋅ x ( i ) + ε ( i ) \hat{y}^{(i)} = \vec{θ}^T \cdot x^{(i)} + ε^{(i)} y^(i)=θ Tx(i)+ε(i)
其中 ε ( i ) ε^{(i)} ε(i) 表示第 i i i 个样本的预测值与真实值之间的偏差。

二、中心极限定理

根据中心极限定理:在自然界与生产中,一些现象受到许多相互独立的随机因素的影响,如果每个因素所产生的影响都很微小时,总的影响可以近似服从正态分布的。

类比到这里,我们有两个假设
①这些随机变量都是相互独立的。
②这些随机变量服从均值为0,方差为某定值 σ 2 \sigma^2 σ2 的高斯分布。

所以, ε ( i ) ε^{(i)} ε(i)独立同分布的。

那么我们就可以写出 ε ( i ) ε^{(i)} ε(i) 的概率密度函数:
p ( ε ( i ) ) = 1 2 π σ e ( − ( ε ( i ) ) 2 2 σ 2 ) p(ε^{(i)}) = \frac{1}{\sqrt{2\pi}\sigma} e^{(-\frac{(ε^{(i)})^2}{2\sigma^2})} p(ε(i))=2π σ1e(2σ2(ε(i))2)

根据线性回归的似然函数 y ^ ( i ) = θ ⃗ T ⋅ x ( i ) + ε ( i ) \hat{y}^{(i)} = \vec{θ}^T \cdot x^{(i)} + ε^{(i)} y^(i)=θ Tx(i)+ε(i) 可将上式改写为:
p ( y ^ ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ e ( − ( y ^ ( i ) − θ ⃗ T ⋅ x ( i ) ) 2 2 σ 2 ) p(\hat{y}^{(i)}|x^{(i)};θ) = \frac{1}{\sqrt{2\pi}\sigma} e^{(-\frac{(\hat{y}^{(i)} - \vec{θ}^T \cdot x^{(i)})^2}{2\sigma^2})} p(y^(i)x(i);θ)=2π σ1e(2σ2(y^(i)θ Tx(i))2)
这里我们可以看出偏差的概率密度函数与偏差 ε ( i ) ε^{(i)} ε(i) 本身就没有关系了,对于已知的参数 θ ⃗ T \vec{θ}^T θ T 来说,只要给出了特征值 x ( i ) x^{(i)} x(i) 的分布,我们就可以得出目标值 y ^ ( i ) \hat{y}^{(i)} y^(i) 的近似分布。

三、极大似然估计MLE

接下来我们就可以使用极大似然估计写出似然概率
L ( θ ) = ∏ i = 1 m p ( y ^ ( i ) ∣ x ( i ) ; θ ) L(θ) = \prod_{i=1}^m p(\hat{y}^{(i)}|x^{(i)};θ) L(θ)=i=1mp(y^(i)x(i);θ)
因为我们假设 ε ( i ) ε^{(i)} ε(i)独立同分布的,所以多个偏差 ε ε ε联合概率等于各偏差的边缘概率的乘积:
p ( ε ( 1 ) , ε ( 2 ) , . . . , ε ( i ) ) = p ( ε ( 1 ) ) p ( ε ( 2 ) ) . . . p ( ε ( i ) ) p(ε^{(1)}, ε^{(2)}, ..., ε^{(i)}) = p(ε^{(1)})p(ε^{(2)})...p(ε^{(i)}) p(ε(1),ε(2),...,ε(i))=p(ε(1))p(ε(2))...p(ε(i))

我们对似然概率进一步转换:
L ( θ ) = ∏ i = 1 m 1 2 π σ e ( − ( y ^ ( i ) − θ ⃗ T ⋅ x ( i ) ) 2 2 σ 2 ) L(θ) = \prod_{i=1}^m \frac{1}{\sqrt{2\pi}\sigma} e^{(-\frac{(\hat{y}^{(i)} - \vec{θ}^T \cdot x^{(i)})^2}{2\sigma^2})} L(θ)=i=1m2π σ1e(2σ2(y^(i)θ Tx(i))2)

四、对数似然

在这里为了方便后续的计算(连乘和指数形式不方便后续求导),我们对原似然概率函数取对数进行求解,而且取对数操作之后,不会影响原函数的单调性
l ( θ ) = l o g L ( θ ) l(θ) = logL(θ) l(θ)=logL(θ)
= l o g ∏ i = 1 m 1 2 π σ e ( − ( y ^ ( i ) − θ ⃗ T ⋅ x ( i ) ) 2 2 σ 2 ) = log\prod_{i=1}^m \frac{1}{\sqrt{2\pi}\sigma} e^{(-\frac{(\hat{y}^{(i)} - \vec{θ}^T \cdot x^{(i)})^2}{2\sigma^2})} =logi=1m2π σ1e(2σ2(y^(i)θ Tx(i))2)
= ∑ i = 1 m l o g ( 1 2 π σ e ( − ( y ^ ( i ) − θ ⃗ T ⋅ x ( i ) ) 2 2 σ 2 ) ) = \sum_{i=1}^m log{(\frac{1}{\sqrt{2\pi}\sigma} e^{(-\frac{(\hat{y}^{(i)} - \vec{θ}^T \cdot x^{(i)})^2}{2\sigma^2})})} =i=1mlog(2π σ1e(2σ2(y^(i)θ Tx(i))2))
= m l o g 1 2 π σ − 1 σ 2 ⋅ 1 2 ∑ i = 1 m ( y ^ ( i ) − θ ⃗ T ⋅ x ( i ) ) 2 = mlog\frac{1}{\sqrt{2\pi}\sigma} - \frac{1}{\sigma^2} \cdot \frac{1}{2}\sum_{i=1}^m (\hat{y}^{(i)} - \vec{θ}^T \cdot x^{(i)})^2 =mlog2π σ1σ2121i=1m(y^(i)θ Tx(i))2
我们的目的是要求似然概率函数的极大值,即:
m a x ( l ( θ ) ) = m a x ( m l o g 1 2 π σ − 1 σ 2 ⋅ 1 2 ∑ i = 1 m ( y ^ ( i ) − θ ⃗ T ⋅ x ( i ) ) 2 ) max(l(θ)) = max(mlog\frac{1}{\sqrt{2\pi}\sigma} - \frac{1}{\sigma^2} \cdot \frac{1}{2}\sum_{i=1}^m (\hat{y}^{(i)} - \vec{θ}^T \cdot x^{(i)})^2) max(l(θ))=max(mlog2π σ1σ2121i=1m(y^(i)θ Tx(i))2)
因为对于给定的随机变量, m m m σ 2 \sigma^2 σ2 都是已知的,所以上述求最大值的问题可以等价转换为:
m i n ( 1 2 ∑ i = 1 m ( y ^ ( i ) − θ ⃗ T ⋅ x ( i ) ) 2 ) min(\frac{1}{2}\sum_{i=1}^m (\hat{y}^{(i)} - \vec{θ}^T \cdot x^{(i)})^2) min(21i=1m(y^(i)θ Tx(i))2)

即我们要求解一组参数 θ ⃗ T \vec{θ}^T θ T ,使得下式能取得最小值
J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ^ ( i ) ) 2 J(θ) = \frac{1}{2}\sum_{i=1}^m (h_θ(x^{(i)}) - \hat{y}^{(i)})^2 J(θ)=21i=1m(hθ(x(i))y^(i))2
这个式子我想大家应该就很眼熟了吧,没错,它就是最小二乘法!至此,关于线性回归的目标函数(或者损失函数、代价函数)为什么是最小二乘,我相信大家读到这儿就应该能领悟了!!!

你可能感兴趣的:(python)