最大似然估计
最大似然估计(Maximum likelihood estimation)可以简单理解为我们有一堆数据(数据之间是独立同分布的.iid),为了得到这些数据,我们设计了一个模型,最大似然估计就是求使模型能够得到这些数据的最大可能性的参数,这是一个统计(statistics)问题
与概率(probability)的区别:概率是我们已知参数θ来预测结果,比如对于标准高斯分布X~N(0,1),我们知道了确切的表达式,那么最终通过模型得到的结果我们大致也可以猜测到。但是对于统计问题,我们预先知道了结果,比如我们有10000个样本(他们可能服从某一分布,假设服从高斯分布),我们的目的就是估计μ&σ使得我们假设的模型能够最大概率的生成我们目前知道的样本
一、似然函数定义
似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性,用L表示,给定输出x时,关于参数θ的似然函数L(θ|x)在数值上等于给定参数θ后变量X的概率
L(θ|x)=P(X=x|θ)
在统计学习中,我们有N个样本x1,x2,x3...xN,假设他们之间是相互独立的,那么似然函数
L(θ)=P(X1=x1,X2=x2...XN=xN)=N∏i=1p(Xi=xi)=N∏i=1p(xi,θ)
最大似然函数的目的就是求解一个θ使得L(θ)最大化
二、最大似然估计的无偏性判断
这里用一维高斯分布来判断μ和σ2的无偏性及有偏性,一维高斯分布函数
f(x|θ)=f(x|μ,σ)=1√2πσe−(x−μ)22σ2
其中最大似然估计
MLE:^θ=argmaxθ lnL(X|μ,σ)
分为三种情况
(1)已知σ2,未知μ,求μ的最大似然估计量^μ
似然函数:L(X|μ)=∏Ni=1p(xi|μ)=∏Ni=11√2πσe−(xi−μ)22σ2
两边分别取对数:lnL(X|μ)=ln∏Ni=1p(xi|μ)=−N2ln(2π)−Nlnσ−12σ2∑Ni=1(xi−μ)2
两边对μ求导
dlnL(X|μ)dμ=N∑i=11σ2(xi−μ)=0N∑i=1(xi−μ)=0→N∑i=1xi−Nμ=0^μ=1NN∑i=1xi=¯¯¯¯¯X
可以发现,当σ2已知时,μ的最大似然估计量只受样本
的影响,^μ是μ的无偏估计
E[^μ]=E[1N∑Ni=1xi]=1N∑Ni=1E[xi]=1NNμ=μ
(2)已知μ,未知σ2,求σ2的最大似然估计量^σ2
似然函数:L(X|σ2)=∏Ni=1p(xi|σ2)=∏Ni=11√2πσe−(xi−μ)22σ2
两边分别取对数:lnL(X|σ2)=ln∏Ni=1p(xi|σ2)=−N2ln(2π)−Nlnσ−12σ2∑Ni=1(xi−μ)2
两边对σ2求导
dlnL(X|σ2)dσ2=N∑i=11σ2(xi−μ)=0−N2σ2+12σ4N∑i=1(xi−μ)2=0^σ2=1NN∑i=1(xi−μ)2
可以发现,当μ已知时,^σ2的最大似然估计量受到样本以及样本均值
的影响,^σ2是σ2的无偏估计
E[^σ2]=E[1N∑Ni=1(xi−μ)2]=E[1N∑Ni=1x2i−1N∑Ni=12xiμ+1N∑Ni=1μ2]=E[1N∑i=1Nx2i−2μ2+μ2]=E[1N∑Ni=1x2i−μ2]=1N∑Ni=1(E(x2i)−E2(xi))=D(xi)=σ2
(3)μ和σ2均未知,求μ、σ2的最大似然估计量^μ和^σ2
似然函数:L(X|μ,σ2)=∏Ni=1p(xi|μ,σ2)=∏Ni=11√2πσe−(xi−μ)22σ2
两边分别取对数:lnL(X|μ,σ2)=ln∏Ni=1p(xi|μ,σ2)=−N2ln(2π)−Nlnσ−12σ2∑Ni=1(xi−μ)2
dlnL(X|μ)dμ=N∑i=11σ2(xi−μ)=0N∑i=1(xi−μ)=0→N∑i=1xi−Nμ=0^μ=1NN∑i=1xi=¯¯¯¯¯X
dlnL(X|σ2)dσ2=N∑i=11σ2(xi−μ)=0−N2σ2+12σ4N∑i=1(xi−μ)2=0^σ2=1NN∑i=1(xi−^μ)2=1NN∑i=1(xi−¯¯¯¯¯X)2
可以发现,当μ的最大似然估计量^μ只受样本的影响(因为在计算时σ2被消去了),^μ是μ的无偏估计
E[^μ]=E[¯¯¯¯¯X]=E[1N∑Ni=1xi]=1N∑Ni=1E[xi]=1NNμ=μ
但是在计算σ2的最大似然估计量^σ2不仅受到样本的影响,还受到μ的影响,其中μ未知,只能用计算出的^μ来替代,通过下面计算可以发现^σ2是σ2的有偏估计
E[^σ2]=E[1NN∑i=1(xi−¯¯¯¯¯X)2]=E[1NN∑i=1x2i−1NN∑i=12xi¯¯¯¯¯X+1NN∑i=1¯¯¯¯¯X2]=E[1Ni=1∑Nx2i−2¯¯¯¯¯X2+¯¯¯¯¯X2]=E{(1NN∑i=1x2i−¯¯¯¯¯X2)−(¯¯¯¯¯X2−¯¯¯¯¯X2)}=E[(1NN∑i=1x2i−¯¯¯¯¯X2)]−E(¯¯¯¯¯X2−¯¯¯¯¯X2)=1NN∑i=1[E(x2i)−E2(xi)]−[E(¯¯¯¯¯X2)−E2(¯¯¯¯¯X)]=D(xi)−D(¯¯¯¯¯X)=σ2−σ2N=N−1Nσ2
所以在计算样本的方差S2时,需要在在前面乘上一个系数,即S2=NN−1E[^σ2]
三、最大似然和最小二乘的关系
当数据为高斯分布时,最大似然和最小二乘相同
假设一个模型为线性回归模型,噪声为高斯噪声
已知fθ(x)=f(y|x,w)=∑Ni=1xiwTi+ϵ=xwT+ϵ,设ϵi~N(0,σ2),f(yi|xi,wi)=yi~N(xiwTi,σ2)
由上面推导的最大似然函数求解:argmaxw lnL(w)=ln∏Ni=1p(yi|xi,wi)=−N2ln(2π)−Nlnσ−12σ2∑Ni=1(yi−xiwTi)2
由于前两项都与w无关,因此可以将上式简化为:argmaxw lnL(w)=−12σ2∑Ni=1(yi−xiwTi)2~∑Ni=1(yi−xiwTi)2
而最小二乘法的公式也是如此:argminw f(w)=∑Ni=1(yi−xiwTi)2=||Y−XWT||22
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律