极大似然估计(MLE)和贝叶斯估计(MAP)
标签(空格分隔):机器学习笔记
极大似然估计与贝叶斯估计是统计中两种对模型的参数确定的方法,两种参数估计方法使用不同的思想。
前者来自于频率派,认为参数是固定的,我们要做的事情就是根据已经掌握的数据来估计这个参数(上帝眼中参数
θ
早已经固定了,带入
xi
样本来求
θ
,根据样本来求
θ
,最大的值就是最大的估计,就是我们认为固定的值)
:X=(x1,x2...xn)
样本集
p(X|θ)=∏ni=1(xi|θ)
一般取对数,求偏导数得出
θ
MLE的初衷就是选择,使得该模型
产生的这些样本数据概率最大
MLE的初衷就是选择
θ
,使得该模型产生的这些样本数据概率最大
而后者属于贝叶斯派,认为参数也是服从某种概率分布的,已有的数据只是在这种参数的分布下产生的。所以,直观理解上,极大似然估计就是假设一个参数 θ,然后根据数据来求出这个θ. 而贝叶斯估计的难点在于p(θ) 需要人为设定,之后再考虑结合MAP (maximum a posterior)方法来求一个具体的θ:
θ̂ =argmaxθp(θ|X)=argmaxθp(θ)∏i=1np(xi|θ)
同样取对数:
θ̂ =argmaxθlnp(θ|X)=argmaxθ[lnp(θ)+∑i=1nlnp(xi|θ)]
朴素贝叶斯就是MAP的一个应用
由于朴素贝叶斯是一个生产模型,用来做分类器使用。
假设总共的类别是
{Ck}
类,那么假设一封邮件判断它是不是垃圾邮件,
Ck={0,1}
0代表正常邮件,1代表垃圾邮件。
假设一封邮件
X={x(1),x(2),x(3)....x(n)}
先验概率:
朴素贝叶斯假设条件独立这样就可以概率相乘:
P(X=x|Y=ck)=∏nj=1P(X=x(1),X=x(2)...X=x(n)|Y=ck)
=
∏nj=1P(X=x(j)|Y=Ck)
根据贝叶斯公式:
P(B|A)=P(A|B)P(B)P(A)
邮件分类:
这封邮件是
ck
类的概率
P(Y=Ck|X=x)=P(Y=Ck)∏P(X=xi|Y=Ck)P(X)=P(Y=Ck)∏P(X=xi|Y=Ck)∑kP(Y=Ck)∏P(X=xi|Y=Ck)
P(X)就是X集合的联合概率分布
y1是指正常邮件的概率;要y2是指垃圾邮件的概率
y1=P(Y=0)∏P(X=xi|Y=0)P(Y=0)∏P(X=xi|Y=0)+P(Y=1)∏P(X=xi|Y=1)
y1=P(Y=1)∏P(X=xi|Y=1)P(Y=0)∏P(X=xi|Y=0)+P(Y=1)∏P(X=xi|Y=1)
分母是相同的 所以只需要比较分子,哪个大分到哪一类。
P(Y=0)=∑I(y=0)N
正常邮件占总共邮件N的比值。
P(X=x|Y=0)=∏nj=1P(X=x(j)|Y=0)=∏nj=1∑I(X=x(j),y=0)∑I(Y=0)
上面这俩式其实式最大似然估计的结果。
所以朴素贝叶斯是MAP和极大似然估计的结合(类别(
θ
)参数估计是MAP,最大似然估计出
p(Y=ck),p(X=xi|Y=ck)
)。
所以极大似然估计与贝叶斯估计最大的不同就在于是否考虑了先验,而两者适用范围也变成了:极大似然估计适用于数据大量,估计的参数能够较好的反映实际情况;而贝叶斯估计则在数据量较少或者比较稀疏的情况下,考虑先验来提升准确率。