NeuromatchAcademy课程内容:线性回归与最大似然估计
2025-07-10 07:05:53作者:柏廷章Berta
教程目标
本教程是模型拟合系列的第二部分,重点介绍如何将随机噪声纳入我们的线性回归模型。通过本教程,您将:
- 了解概率分布和概率模型的基本概念
- 学习如何计算模型参数的似然
- 掌握最大似然估计(MLE)的实现方法,找到具有最大似然的模型参数
概率模型与高斯噪声
在简单线性回归中,我们通常假设数据来自一个带有噪声的线性关系:
y = θx + ε
其中ε代表噪声项。不同于将噪声视为简单的干扰项,我们可以将其直接建模为概率分布。
高斯分布特性
高斯分布(又称正态分布)由以下概率密度函数描述:
N(x; μ, σ²) = (1/√(2πσ²)) * exp(-(1/(2σ²))(x-μ)²)
该分布由两个参数决定:
- μ:均值,决定分布的中心位置
- σ:标准差,决定分布的宽度
在建模中,我们常假设噪声ε服从均值为0、方差为1的标准正态分布:
ε ∼ N(0, 1)
交互式演示:高斯分布探索器
通过调整μ和σ参数,可以直观地观察高斯分布形状的变化:
- 改变μ会使整个分布沿x轴平移
- 改变σ会影响分布的"胖瘦"程度,σ越大分布越扁平
概率模型构建
将噪声视为随机变量后,我们可以将y也视为随机变量,其分布为:
y ∼ N(θx, 1)
这意味着给定x和参数θ时,y的概率密度为:
p(y|x,θ) = (1/√(2π)) * exp(-(1/2)(y-θx)²)
似然估计
在概率模型框架下,我们不再简单寻找"最佳拟合",而是寻找最有可能产生观测数据的参数值。这引出了似然函数的概念:
L(θ|x,y) = p(y|x,θ) = (1/√(2πσ²)) * exp(-(1/(2σ²))(y-θx)²)
似然函数实现
对于σ=1的情况,似然函数可以简化为:
def likelihood(theta, x, y):
"""计算给定参数θ下的似然值
参数:
theta (float): 斜率参数
x (float): 输入值
y (float): 观测值
返回:
float: 似然值
"""
return (1/np.sqrt(2*np.pi)) * np.exp(-0.5*(y-theta*x)**2)
通过计算不同θ值下的似然,我们可以找到使似然最大的参数估计值,这就是最大似然估计的核心思想。
最大似然估计与最小二乘法的关系
有趣的是,在正态噪声假设下:
- 最大化似然函数
- 最小化均方误差
这两个方法会得到相同的参数估计结果。这是因为对数似然函数中的指数项最终转化为平方误差项。
实际应用建议
在实际数据分析中:
- 首先检查数据是否符合线性假设
- 检验残差是否近似正态分布
- 根据情况选择合适的估计方法
- 对于小样本数据,MLE通常能提供更稳定的结果
本教程通过概率视角重新审视线性回归问题,为后续更复杂的模型拟合奠定了基础。理解这些基本概念对于掌握现代数据分析技术至关重要。