9.深入线性回归推导出MSE——不容小觑的线性回归算法

引言

通过8.机器学习从线性回归开始——不容小觑的线性回归算法-CSDN博客的学习,我们已经掌握了线性回归模型的概念和基本原理。均方误差(MSE,Mean Squared Error)是评价线性回归模型性能的一个核心指标。

通过阅读本篇博客,你可以:

1.深入理解线性回归

2.学习如何推导出线性回归模型的MSE

一、深入理解线性回归

通过线性回归的讲解,我们已经理解了回归任务是做什么用途的。但还是不知道具体该如何求出最优解。为了透彻理解回归任务,我们将补充这一概念的学习。只有掌握了这些概念我们后面才能推导出线性回归所需要的损失函数,进而去寻找最优解的解法。

1.中心极限定理

中心极限定理(central limit theorem)是概率论中讨论随机变量序列部分和分布渐进于正态分布的一类定理。这组定理是数理统计学和误差分析的理论基础,指出了大量随机变量累积分布函数逐点收敛到正态分布的积累分布函数的条件。

上图是大名鼎鼎的高尔顿钉板,它由一个垂直的板子组成,板子上布满了均匀分布的小钉子。小球从板子顶部自由下落,通过钉子时发生随机弹跳,最终在板子底部形成钟状分布。如果我们让每个因素所产生的影响都很微小,总的影响是可以看作是服从正态分布的。

2.正态分布与机器学习的关系

在讨论正态分布与机器学习的关系之前,我们要再理解一遍误差。第 i 个样本实际的值 y_{i} 等于预测值 \hat{y}_{i} 加误差 \varepsilon _{i},公式也可以表达为下:

\varepsilon _{i} = \left | y_{i} -\hat{y}_{i}\right |

假定所有的样本的误差都是独立的,有上下的震荡,震荡认为是随机变量,足够多的随机变量叠加之后形成的分布,根据中心极限定理,它服从的就是正态分布,均值是某个值,方差是某个值。方差我们先不管,因为我们这里有 \beta _{0} 截距,均值我们总有办法让它去等于0,所有误差我们就可以认为是独立分布的,1 <= i <= m 服从均值为0,方差为某定值的正态分布。机器学习中我们假设误差符合均值为0,方差为某定值的正态分布

3.最大似然估计

在寻求最优解的过程当中,我们需要了解最大似然估计。最大似然估计(MLE,maximum likelihood estimation)是统计学中的专有名词,"似然"用现代的中文来说即"可能性"。所以,称它为"最大可能性估计"更加的通俗易懂。

给定一个概率分布D,已知其概率密度函数(连续分布)或概率质量函数(离散分布)为f_D,以及一个分布参数 \theta,我们可以从这个分布中抽出一个具有 n 个值的采样 x_{1},x_{2},...,x_{n} ,利用f_D计算出其似然函数:

 L\left ( \theta |x_{1},...,x_{n} \right ) = f_{\theta }\left ( x_{1},...,x_{n} \right )        

若D是离散分布,f_{\theta } 即是在参数为 \theta 时观测到这一采样的概率。若其是连续分布,f_{\theta }则为 x_{1},x_{2},...,x_{n} 联合分布的概率密度函数在观测值处的取值。一旦我们获得 x_{1},x_{2},...,x_{n},我 们就能求得一个关于 \theta 的估计。最大似然估计会寻找关于 \theta 的最可能的值(即,在所有可能的 \theta 取值中,寻找一个值使这个采样的“可能性”最大化)。

从数学上来说,我们可以在 \theta 的所有可能取值中寻找一个值使得似然函数取到最大值。这个使可能性最大的 \hat{\theta } 值即称为 \theta 的最大似然估计

4.概率密度函数

在数学中,连续型随机变量的概率密度函数是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数。而随机变量的取值落在某个区域之内的概率则为概率密度函数在这个区域上的积分。最常见的连续概率分布正态分布,而这正是我们所需要的,其概率密度函数如下:f(x|\mu ,\sigma ^{2}) = \frac{1}{\sqrt{2\pi \sigma ^{2}}}e^{-\frac{(x-\mu)^{2}}{2\sigma ^{2}}}

随着参数 \mu 和 \sigma 变化,概率分布也产生变化。因为我们假设数据的误差服从一个正态分布,并且通过截距项来本质上平移整体分布的位置从而使得 \mu = 0 ,所以对于一条样本的误差我们可以表达其概率密度的值为如下:

f(\varepsilon _{i}|\mu ,\sigma ^{2}) = \frac{1}{\sqrt{2\pi \sigma ^{2}}}e^{-\frac{(\varepsilon _{i}-0)^{2}}{2\sigma ^{2}}}

5.正态分布的线性回归的最大总似然

我们要把最大总似然函数通过正态分布概率密度函数表达出来并且将其与线性回归模型结合到一起。

L_{\theta }(\varepsilon _{1},...,\varepsilon _{m}) = f(\varepsilon _{1},...,\varepsilon _{m}|\mu ,\sigma ^{2})

因为我们假设了误差服从正态分布,符合中心极限定理,那么也就服从了互相独立的假设,所以我们可以把上面的式子写出连乘的形式。关于独立为什么可以连乘,大家回想一下关于概率的公式

P(A*B) = P(A) * P(B)

f(\varepsilon _{1},...,\varepsilon _{m}|\mu ,\sigma ^{2}) = f(\varepsilon _{1}|\mu ,\sigma ^{2}) * f(\varepsilon _{2}|\mu ,\sigma ^{2}) * ... *f(\varepsilon _{m}|\mu ,\sigma ^{2})

所以

L_{\theta }(\varepsilon _{1},...,\varepsilon _{m}) = \prod_{m}^{i=1}f(\varepsilon _{i}|\mu ,\sigma ^{2}) = \prod_{m}^{i=1}\frac{1}{\sqrt{2\pi \sigma ^{2}}}e^{-\frac{(\varepsilon _{i}-0)^{2}}{2\sigma ^{2}}}

因为是线性回归,我们可以将误差函数写为如下:

\varepsilon _{i} = \left | y_{i} - \hat{y_{i}} \right | = \left | y_{i} - W^{T}x_{i} \right | = \left | y_{i} - \theta ^{T}x_{i} \right |

从上式可以看出来,我们历史数据中的 x 和 y 就都可以用上去求解了,所以正态分布假设下的最大似然估计函数可以写成如下:

L_{\theta }(\varepsilon _{1},...,\varepsilon _{m}) = \prod_{m}^{i = 1}\frac{1}{\sqrt{2\pi \sigma ^{2}}}e^{-\frac{(\varepsilon _{i}-0)^{2}}{2\sigma ^{2}}} = \prod_{m}^{i=1}\frac{1}{\sqrt{2\pi \sigma ^{2}}}e^{-\frac{(y_{i}-\theta ^{T}x_{i}^{2})}{2\sigma ^{2}}}

二、线性回归损失函数MSE的推导

1.目标

线性回归中最优解问题其实就是最小化损失函数。我们沿用总似然最大化的思路去推导。最大似然估计就是一种参数估计的方式,就是把总似然最大的那一时刻对应的参数 \theta 当成是要求的最优解。公式如下:

\arg \max _{\theta }L_{\theta }(\varepsilon _{1},...,\varepsilon _{m}) = \arg \max _{\theta } \prod_{m}^{i = 1}\frac{1}{\sqrt{2\pi \sigma ^{2}}}e^{-\frac{(y_{i}-\theta ^{T}x_{i})^{2}}{2\sigma ^{2}}}

这时我们就可以把通过最大化似然函数的形式成为我们的目标函数,因为我们的目标就是最大化这个式子从而求解 \theta 。

2.对数似然函数

我们知道了通过连乘的方式可以求出最优解参数 \theta 。但是对于计算机而言,以上式子的连乘运算是相当麻烦的。所以我们往往会将式子等价为对数的形式,就是在式子上加一个 \log 。\log 对数函数有一个相当棒的特性,即单调性。当它底数 a > 1 时,单调递增。当 0 < a < 1 时,单调递减。

我们加上以 e 为底的 \log 之后,公式如下(以 e 为底的效果马上就会展现):

\arg \max _{\theta }L_{\theta }(\varepsilon _{1},...,\varepsilon _{m}) = \arg \max _{\theta } \log_{e}\prod_{m}^{i = 1}\frac{1}{\sqrt{2\pi \sigma ^{2}}}e^{-\frac{(y_{i}-\theta ^{T}x_{i})^{2}}{2\sigma ^{2}}}

接下来,\log 函数 继续为我们带来惊喜:

通过法则(1),我们可以将式子继续向下推导:

这样一来,对整体进行连乘就变为了对以 e 为底的对数函数进行连加。   

l(\theta ) = \sum_{m}^{i =1}\log_{e}\frac{1}{\sqrt{2\pi \sigma ^{2}}}e^{-\frac{(y_{i}-\theta ^{T}x_{i})^{2}}{2\sigma ^{2}}}

由对数运算法则(1)可得

l(\theta ) = \sum_{m}^{i = 1}\log_{e}\frac{1}{\sqrt{2\pi \sigma ^{2}}} +\sum_{m}^{i=1} \log_{e}e^{-\frac{(y_{i}-\theta ^{T}x_{i})^{2}}{2\sigma ^{2}}}

这个时候,底数为 e 的惊喜就出现了,我们可以直接把 \log_{e}e 直接消掉!

l(\theta ) = m \log_{e}\frac{1}{\sqrt{2\pi \sigma ^{2}}} + \sum_{m}^{i = 1}(-\frac{(y_{i}-\theta ^{T}x_{i})^{2}}{2\sigma ^{2}})

进一步简化:

l(\theta ) = m\log_{e}\frac{1}{\sqrt{2\pi \sigma ^{2}}} - \frac{1}{\sigma ^{2}}\cdot \frac{1}{2}\sum_{m}^{i=1}(y_{i}-\theta ^{T}x_{i})^{2}

去除已知常量,我们可以发现 \sum_{m}^{i =1}(y_{i} - \theta ^{T}x_{i})^{2} 就是平方误差和(SSE,Sum of Squared Errors)。当我们将其取平均 \frac{1}{m}\sum_{m}^{i =1}(y_{i} - \theta ^{T}x_{i})^{2} 这就是均方误差(MSE,Mean Squared Error)

总结

本篇博客深入理解了线性回归的概念以及损失函数MSE的推导。希望可以对大家起到作用,谢谢。


关注我,内容持续更新(后续内容在作者专栏《从零基础到AI算法工程师》)!!!

猜你喜欢

转载自blog.csdn.net/dxyl632956/article/details/142343620