深度理解线性回归:从中心极限定理到最大似然估计
深度理解线性回归:从中心极限定理到最大似然估计
本文深入探讨了线性回归算法的核心原理,包括中心极限定理、最大似然估计(MLE)以及均方误差(MSE)的推导过程。通过详细的数学推导和理论解释,帮助读者建立对线性回归算法的深刻理解。
深入线性回归推导出MSE
深入线性回归算法的推导
深入理解线性回归
前面我们已经了解了线性回归的基本概念,知道回归任务是预测连续值。但是,具体如何求解最优参数,还需要补充一些核心概念。只有理解了这些概念,我们才能推导出线性回归所需的损失函数,进而求解最优参数。
理解回归一词来源
回归一词源于"回归平均值"(regression to the mean)。这个概念最早由达尔文的表哥高尔顿提出。他通过大量观察数据发现:
- 父亲高,儿子也高
- 父亲矮,儿子也矮
- 但父亲特别高(如2.26米)的儿子不会达到同样的高度
- 父亲特别矮(如1.65米)的儿子通常会比父亲高
这种现象表明,自然倾向于将身高回归到一个平均区间内。
中心极限定理
中心极限定理(central limit theorem)是概率论中讨论随机变量序列部分和分布渐近于正态分布的一类定理。这组定理是数理统计学和误差分析的理论基础,指出了大量随机变量累积分布函数逐点收敛到正态分布的积累分布函数的条件。
它是概率论中最重要的一类定理,有广泛的实际应用背景。在自然界与生产中,一些现象受到许多相互独立的随机因素的影响,如果每个因素所产生的影响都很微小时,总的影响可以看作是服从正态分布的。中心极限定理就是从数学上证明了这一现象 。
正态分布与预测的关系
正态分布,也叫高斯分布,是自然界中最常见的分布之一。
举例来说,在预测足球队或篮球队队员的身高时,我们首先需要判断数据集更符合哪种分布。如果有一组身高数据,人眼可以直观判断其服从哪种分布,但计算机需要通过计算数值来判断。关键在于如何计算这些数值。
如果我们知道某个样本(如某人的身高)在篮球队出现的概率,同时知道这个样本在足球队出现的概率,我们可以通过比较概率值来判断这个人更可能是打篮球还是踢足球的。将这个问题扩展到所有样本,就变成了判断这组样本更可能来自篮球队还是足球队的问题。这时,我们需要更科学的估计方法。
假设误差服从正态分布 - 最大似然估计MLE
再理解一遍误差
误差是实际值与预测值之间的差异。对于第i个样本,其实际值yi可以表示为预测值yi_hat加上误差εi,即:
yi = yi_hat + εi
假定所有的样本误差都是独立的,有上下的震荡,根据中心极限定理,这些误差的分布将趋近于正态分布。在机器学习中,我们通常假设误差符合均值为0、方差为定值的正态分布。
最大似然估计
最大似然估计(Maximum Likelihood Estimation,MLE)是一种常用的参数估计方法。给定一个概率分布D及其概率密度函数f_D,以及一个分布参数θ,我们可以从这个分布中抽出一个具有n个值的采样X1,X2,...,X_n,利用f_D计算出其似然函数:
- 若D是离散分布,似然函数为:L(θ) = P(X1,X2,...,X_n | θ)
- 若D是连续分布,似然函数为:L(θ) = f_D(X1) * f_D(X2) * ... * f_D(X_n)
最大似然估计会寻找关于θ的最可能的值,即在所有可能的θ取值中,寻找一个值使这个采样的“可能性”最大化。
引入正态分布的概率密度函数
在数学中,连续型随机变量的概率密度函数是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数。最简单的概率密度函数是均匀分布的密度函数。最常见的连续概率分布是正态分布,其概率密度函数如下:
随着参数μ和σ变化,概率分布也产生变化。对于线性回归中的误差,我们可以将其视为服从均值为0、方差为定值的正态分布。
明确目标通过最大总似然求解θ
接下来,我们将最大似然函数通过正态分布概率密度函数表达出来。由于假设了误差服从正态分布,且符合中心极限定理,因此样本误差服从互相独立的假设。我们可以将似然函数写成连乘的形式:
由于讲的是线性回归,误差函数可以写为:
从上式中可以看出,历史数据中的X和y都可以被用来求解θ。
推导出线性回归损失函数MSE
明确目标
我们的目标是推导出线性回归的损失函数,因为要找到最优解,通常需要最小化损失函数。因此,必须首先知道这个算法对应的损失函数是什么。
对数似然函数
对数似然函数的特性是当底数a>1时,它是一个单调递增的函数。这意味着如果x1<x2,那么必然y1<y2。由于我们的目标是找出总似然最大时对应的θ,因此可以转化为找出总似然的对数形式最大时对应的θ。选择底数为e,因为e的对数函数在数学上更为简洁。
继续推导出损失函数MSE
通过最大似然估计,我们最终推导出MSE损失函数:
从公式可以看出,MSE全称为Mean Squared Error,上式也叫做最小二乘。
总结与扩展
这种最小二乘估计,假定了误差服从正态分布,认为样本误差的出现是随机的、独立的。使用最大似然估计思想,通过最小化MSE来求解最优解。如果数据误差不是互相独立的,或者不是随机出现的,就不适合假设为正态分布,不能用正态分布的概率密度函数推导损失函数,因此不能用MSE作为损失函数。
解析解方法求解线性回归
解析解的推导
有了损失函数形式,目标就是最小化损失函数。接下来需要确定θ何时可以使损失函数最小。
最小二乘形式变化个写法
损失函数可以变换为:
推导出θ的解析解形式
为了方便理解,可以把横轴看成是θ轴,纵轴看成是loss损失,曲线是loss function。极小值(最优解)一定是个驻点,驻点的特点是统统梯度为0。
如何求?求函数在某个驻点上的一阶导数即为切线的斜率。
θ解析解的公式_是否要考虑损失函数是凸函数
解析解为方程的解析式,是方程的精确解。如果我们有数据集X,y时,可以带入上面解析解公式,直接求出对应的θ值。
判定损失函数凸函数
判定损失函数是凸函数的好处在于可以确定求得的极值即最优解是全局最优解。判定凸函数的方式之一是看Hessian矩阵是否是半正定的。
黑塞矩阵(hessian matrix)是由目标函数在点 X 处的二阶偏导数组成的对称矩阵。对于我们的式子来说,就是在导函数的基础上再次对θ来求偏导。
所谓正定就是 A 的特征值全为正数,那么是正定的。半正定就是A的特征值大于等于0,就是半正定。
这里我们对 J 损失函数求二阶导的黑塞矩阵是:
,之后得到的一定是半正定的,自己和自己做点乘嘛!
在机器学习中,损失函数往往是凸函数,但在深度学习中,损失函数往往是非凸函数,即找到的解未必是全局最优,只要模型堪用就好!