机器学习笔记(2)-极大似然估计
这一节我们要尝试通过极大似然函数来估计出当一个数据集符合正太分布时的参数。
极大似然估计
极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。
假设我们有一个数据集(X),其中(X=left ( x_{1},x_{2},...,x_{n}
ight )^{T}),并且为了简单起见,每一个样本点(x_{i})都是独立且服从正太分布的,即(x_{i}sim N(mu ,sigma ^{2})),令( heta=(mu,sigma^2)),则(p(x_{i})=frac{1}{sqrt{2pi }sigma}exp(-frac{(x_{i}-mu)^2}{2sigma^2}))。
根据极大似然估计得到(hat{ heta}_{MLE}):
[egin{aligned}
hat{ heta}_{MLE}&=underset{ heta}{argmax}Pleft ( X| heta
ight )\
&=underset{ heta}{argmax};logprod_{i=1}^{n}p(x_{i}| heta )\
&=underset{ heta}{argmax}sum_{i=1}^{n}log;p(x_{i}| heta )\
&=underset{ heta}{argmax}sum_{i=1}^{n}log (frac{1}{sqrt{2pi }sigma}exp(-frac{(x_{i}-mu)^2}{2sigma^2}))\
&=underset{ heta}{argmax}sum_{i=1}^{n}(-logsqrt{2pi }-logsigma-frac{(x_{i}-mu)^2}{2sigma^2})\
&=underset{ heta}{argmin}sum_{i=1}^{n}(logsqrt{2pi }+logsigma+frac{(x_{i}-mu)^2}{2sigma^2})
end{aligned}
]
接下来,由于上面只有第三项和(mu)有关,于是:
[egin{aligned}
hat{mu}_{MLE}&=underset{mu}{argmin}sum_{i=1}^{n}frac{(x_{i}-mu)^2}{2sigma^2}\
&=underset{mu}{argmin}sum_{i=1}^{n}(x_{i}-mu)^2
end{aligned}
]
我们对(mu)求偏导,得到:
[egin{aligned}
frac{partial }{partial mu}sum_{i=1}^{n}(x_{i}-mu)^2&=sum_{i=1}^{n}(-2x_{i}+2mu)=0\
nmu&=sum_{i=1}^{n}x_{i}\
mu_{MLE}&=frac{1}{n}sum_{i=1}^{n}x_{i}=ar{x}
end{aligned}
]
可以看到(mu)的极大似然估计就是(x)的平均值。接下来我们对(sigma)做估计:
[egin{aligned}
hat{sigma}_{MLE}&=underset{sigma}{argmin}sum_{i=1}^{n}(logsigma+frac{(x_{i}-mu)^2}{2sigma^2})
end{aligned}
]
对(sigma)求偏导,得到:
[egin{aligned}
frac{partial }{partial sigma}sum_{i=1}^{n}(logsigma+frac{(x_{i}-mu_{MLE})^2}{2sigma^2})&=sum_{i=1}^{n}(frac{1}{sigma}-frac{(x_{i}-mu_{MLE})^2}{sigma^3})=0\
sum_{i=1}^{n}sigma^2&=sum_{i=1}^{n}(x_{i}-mu_{MLE})^2\
nsigma^2&=sum_{i=1}^{n}(x_{i}-mu_{MLE})^2\
sigma_{MLE}^2&=frac{1}{n}sum_{i=1}^{n}(x_{i}-mu_{MLE})^2
end{aligned}
]
众所周知,(mu_{MLE})确实是(x)的平均值,但是(sigma_{MLE}^2)因该是均方差才对啊,显然我们得到的结果并不是均方差,所以当采用极大似然估计时,(mu_{MLE})为无偏估计,而(sigma_{MLE}^2)为有偏估计,下面我们就来证明。
有偏估计和无偏估计
上节说(mu_{MLE})为无偏估计,为啥呢?我们知道,如果一个变量的期望等于变量本身,则我们对该变量的估计就是无偏的,反之则认为是有偏的。那么观察(mu_{MLE}):
[egin{aligned}
E[mu_{MLE}]&=E[frac{1}{n}sum_{i=1}^{n}x_{i}]\
&=frac{1}{n}sum_{i=1}^{n}E[x_{i}]
end{aligned}
]
根据我们的假设,(x_{i})是服从正太分布(x_{i}sim N(mu ,sigma ^{2}))的,所以(E[x_{i}]=mu),因此(E[mu_{MLE}]=mu)为无偏估计。接下来我们看(sigma_{MLE}):
[egin{aligned}
E[sigma^2_{MLE}]&=E[frac{1}{n}sum_{i=1}^{n}(x_{i}-mu_{MLE})^2]\
&=frac{1}{n}sum_{i=1}^{n}E[x^2_{i}-2mu_{MLE}cdot x_{i}+mu_{MLE}^2]\
&=frac{1}{n}sum_{i=1}^{n}E[x^2_{i}]-2mu_{MLE}^2+mu_{MLE}^2\
&=frac{1}{n}sum_{i=1}^{n}E[x^2_{i}-mu^2 -(mu^2_{MLE}-mu^2)]\
&=frac{1}{n}sum_{i=1}^{n}E[x^2_{i}-mu^2]-frac{1}{n}sum_{i=1}^{n}E[mu^2_{MLE}-mu^2]
end{aligned}
]
我们知道:
(1)(E[x^2_{i}-mu^2])就是(x_{i})的方差(Var(x_{i})),也就是(sigma ^{2});
(2)(E[mu^2_{MLE}-mu^2])就是(mu_{MLE})的方差(Var(mu_{MLE}));
(3)根据我们无偏估计的证明(mu_{MLE}=frac{1}{n}sum_{i=1}^{n}x_{i})代入
[egin{aligned}
frac{1}{n}sum_{i=1}^{n}E[x^2_{i}-mu^2]-frac{1}{n}sum_{i=1}^{n}E[mu^2_{MLE}-mu^2]&=frac{1}{n}sum_{i=1}^{n}Var(x_{i})-frac{1}{n}sum_{i=1}^{n}Var(mu_{MLE})\
&=sigma^2-frac{1}{n}sum_{i=1}^{n}Var(frac{1}{n}sum_{j=1}^{n}x_{j})\
&=sigma^2-frac{1}{n}sum_{i=1}^{n}(frac{1}{n^2}sum_{j=1}Var(x_{j}))\
&=sigma^2-frac{1}{n}sum_{i=1}^{n}(frac{1}{n^2}sum_{j=1}sigma^2)\
&=sigma^2-frac{1}{n}sigma^2\
&=frac{n-1}{n}sigma^2
end{aligned}
]
所以我们就得到(E[sigma^2_{MLE}]=frac{n-1}{n}sigma^2),因此为了得到无偏估计的(sigma^2_{MLE}),得到:(frac{n-1}{n}sigma^2=E[sigma^2_{MLE}])
[egin{aligned}
sigma^2&=frac{n}{n-1}cdot E[sigma^2_{MLE}]\
&=frac{n}{n-1}cdot frac{1}{n}sum_{i=1}^{n}(x_{i}-mu_{MLE})^2\
&=frac{1}{n-1}cdotsum_{i=1}^{n}(x_{i}-mu_{MLE})^2
end{aligned}
]
由此就得到了(sigma ^{2})的无偏估计,这也就是为啥无偏估计的分母是(n-1)了。
总结
通过极大似然估计,我们可以把服从高斯分布的随机变量的参数(数据规律)给估计出来。但是会把高斯分布的方差给估小了,所以一般我们采用(frac{1}{n-1}cdotsum_{i=1}^{n}(x_{i}-mu_{MLE})^2)来计算,这就是分母为(n-1)的由来。