极大似然估计和最大熵模型

极大似然估计 


极大似然估计是建立在极大似然基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如若有若干个可能的结果A,B,C,...,若在一次试验中,A出现了,那么可以认为试验条件对A的出现有利,也即出现的概率P(A)较大。极大似然原理的直观想法我们用下面的例子说明。设甲箱中有99个白球,1个黑球;乙箱中有1个白球,99个黑球。现在随机取出一箱,再从抽取的一箱中随机取出一球,结果是黑球,这黑球从乙箱抽取的概率比从甲箱抽取的概率大得多,这是我们自然可以认为这个黑球是乙箱的。

一般来说,事件A发生的概率与某一未知参数 \(\theta\)有关,\(\theta\)取值不同,则事件A发生的概率\(P(A|\theta)\)也不同,当我们在一次试验中事件A发生了,则认为此时的\(\theta\)值应该是t的一切可能取值中使得\(P(A|\theta)\)达到最大的那一个,极大似然估计就是要选择这样的t值作为参数\(\theta\)的估计值,使所选取的样本在被选出的总体中出现的可能性为最大。

假设总体分布为\(f(x,\theta)\), \(X_1,X_2,X_3,...,X_n\)为该总体采样取得的样本。因为\(X_1,X_2,X_3,...,X_n\)是独立同分布的,于是,它的联合概率密度函数为:
\begin{equation}
L(X_1,X_2,...,X_n;\theta_1,\theta_2,...,\theta_k)=\prod_{i=1}^{n}f(x_{i};\theta_{1},\theta_{2},...,\theta_{k})
\end{equation}
在上面的这个式子中,\(\theta\)被看作是确定但是未知的参数,并且应为样本已经存在,所以\(X_1,X_2,X_3,...,X_n\)也是固定的。因此\(L(x,\theta)\)是关于\(\theta\)的函数,即似然函数。求解\(\theta\)的值,使得似然函数取得最大值,这就是极大似然估计。

在实践中,由于求导数的需要,往往将似然函数取对数,得到对数似然函数;如果似然函数可导,那么就可以通过求导数的方式得到驻点,从而算出极大值。
\begin{equation}
\frac{\partial L(\theta )}{\partial \theta _{i}}=0,i=1,2....k 
\end{equation}
求解极大似然估计量的一般步骤:
(1)写出似然函数
(2)对似然函数取对数
(3)求导数
(4)解似然方程

例子
极大似然估计和最大熵模型_第1张图片


极大似然估计特点:
1.比其他估计方法更简单;
2.收敛性:无偏或者渐近无偏,当样本数目增加时,收敛性质会更好;
3.如果假设的类条件概率模型正确,则通常能获得较好的结果,否则将导致非常差的估计结果。


最大熵原理 


最大熵原理是一种选择随机变量统计特性最符合客观情况的准则,也称为最大信息原理。随机变量的分布是很难预测的,一般只能测得其各种统计量(如数学期望,方差)或者已知某些限定条件的值(如峰值、取值个数等),符合测得这些值得分布可以有多种,通常其中有一种分布的熵最大。选用这种具有最大熵的分布作为该随机变量的分布,是一种有效的处理方法和准则。这种方法虽然有一定的主观性,但是可以认为是最符合客观情况的一种选择。在投资时候常常讲不要把所有的鸡蛋放在一个篮子里,这样可以降低风险。在信息处理中,这个原理同样适用。数学上称之为最大熵原理。

那么,什么是熵呢?简单来说,熵就是对平均不确定性的度量:
\begin{equation}
H(X)=-\sum_{x\epsilon X}^{ }p(x)lnp(x)
\end{equation}
由以上公式可知,熵是随机变量不确定性的度量,不确定性越大,熵就越大;当随机变量变成一个确定值的时候,熵就变成了0.需要指出的是均匀分布是最不确定的分布。

最大熵的一般模型:
\begin{equation}
max(p \in P)H(Y|X) = - \sum_{(x,y)}p(x,y)logp(y|x)
\end{equation}
其中P={p|p是X上满足条件的概率分布}

极大似然估计和最大熵模型_第2张图片

极大似然估计和最大熵模型_第3张图片
例子

假设随机变量X有5个取值{A,B,C,D,E},且满足条件P(A)+P(B)=0.3且P(A)+P(B)+P(C)+P(D)+P(E)=1。求最大熵模型。
为了方便,我们定义\(y_1~y_5\)表示A~E,于是最大熵模型的最优化问题变为:
\begin{equation}
min-H(p)=\sum_{i=1}^{5}p(y_{i})logp(y_{i}) \\
s.t.  p(y_{1})+p(y_{2})=\widetilde{p}(y_{1})+\widetilde{p}(y_{2})=\frac{3}{10} \\
\sum_{i=1}^{5}p(y_{i})=\sum_{i=1}^{5}\widetilde{p}(y_{i})=1
\end{equation}
引进拉格朗日乘子\(w_0\)和\(w_1\),定义拉格朗日函数如下:
\begin{equation}
L(p,w)=p(y_{i})log p(y_{i})+w_{1}(p(y_{1})+p(y_{2})-\frac{3}{10})+w_{0}(\sum_{i=1}^{5}p(y_{i})-1)
\end{equation}
根据拉格朗日对偶性,可以通过求解对偶最优化问题得到原始最优化问题的解。所以求解\(max min L(p,w)\)首先需要求解关于p的极小化问题。为此我们需要固定\(w_0\)和\(w_1\)。求偏导数:
\begin{equation}
\frac{\partial L(p,w)}{\partial p(y_{1})}=1+log p(y_{1})+w_{1}+w_{0}\\
\frac{\partial L(p,w)}{\partial p(y_{2})}=1+log p(y_{2})+w_{1}+w_{0}\\
\frac{\partial L(p,w)}{\partial p(y_{3})}=1+log p(y_{3})+w_{0}\\
\frac{\partial L(p,w)}{\partial p(y_{4})}=1+log p(y_{4})+w_{0}\\
\frac{\partial L(p,w)}{\partial p(y_{5})}=1+log p(y_{5})+w_{0}
\end{equation}
令上面五个偏导数都为0,可求得:
\begin{equation}
p(y_{1})=p(y_{2})=e^{-w_{1}-w_{0}-1},p(y_{3})=p(y_{4})=p(y_{5})=e^{-w_{0}-1}
\end{equation}
把\(p(y_1)\),\(p(y_2)\),\(p(y_3)\),\(p(y_4)\),\(p(y_5)\)代入到\(L(p,w)\)中,再求\(L(p,w)\)关于\(w\)的极大化问题:
\begin{equation}
max L(p_{w},w)=-2 e^{-w_{1}-w_{0}-1}-3e^{-w_{0}-1}-\frac{3}{10}w_{1}-w_{0}
\end{equation}
令\(w_0\)和\(w_1\)偏导等于0可以得到:
\begin{equation}
p(y_{1})=p(y_{2})=\frac{3}{20},p(y_{3})=p(y_{4})=p(y_{5})=\frac{7}{30}
\end{equation}
解得:
\begin{equation}
p(y_{1})=p(y_{2})=\frac{3}{20},p(y_{3})=p(y_{4})=p(y_{5})=\frac{7}{30}
\end{equation}

因此,最大熵模型在分类方法里算是比较优秀的模型,但是由于约束函数的数目一般会随着样本量的增大而增加,导致样本量很大的时候,对偶函数优化求解的迭代过程非常慢。但是理解最大熵模型可以很好的理解机器学习中的多分类问题,二分类问题中逻辑回归对应于极大似然估计,而多分类问题对应于最大熵模型。

最大熵模型是获得所有满足约束条件的模型中信息熵极大的模型,作为经典的分类模型时准确率非常高;同时最大熵模型可以灵活地设置约束条件,通过约束条件的多少可以条件模型对于未知数据的适应度和对已知数据的拟合程度。

 

你可能感兴趣的:(机器学习)