机器学习--最大熵模型

其实说到底也就通过条件熵最大和约束条件,得到原始问题maxmin,再通过对偶条件转化为minmax(更好求),然后分别求导,得到结果。

为什么是使得条件熵最大,H§其实就是在p(y|x),在x的约束条件下取得H§的最大。又因为Ep的假设,经验分布和要求的分布是相等的,那么就可以进一步拆成下式–也就是条件熵。

机器学习--最大熵模型_第1张图片
归结起来就是两个点: 1、条件熵极大化 2、模型的分布P(X,Y) = P(Y|X)*P(X)与经验分布的期望一致。3、在x的条件下概率之和等于1.

最大熵模型指出,在预测一个样本或者一个事件的概率分布时,首先应当满足所有的约束条件,进而对未知的情况不做任何的主观假设。在这种情况下,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大。

最大熵模型其实也就是约束最优化问题,求条件熵的极大。

熵–熵最大的模型是最好的模型。–一般来说没有多余约束条件,就认为是均匀分布–熵最大。
条件熵:
机器学习--最大熵模型_第2张图片

经验分布与特征函数结合便能代表概率模型需要满足的约束,只需使得两个期望项相等。最右侧是经验分布(也就是从数据的分布得到的):
在这里插入图片描述

机器学习--最大熵模型_第3张图片
机器学习--最大熵模型_第4张图片
因此可以得到最大熵模型的原始问题:
机器学习--最大熵模型_第5张图片
原始问题的最优化:
机器学习--最大熵模型_第6张图片

引入拉格朗日函数的对偶性:
在这里插入图片描述
则最优化的对偶问题为:机器学习--最大熵模型_第7张图片
求解的话就是先对内层进行极小化,再对外层进行极大化。
机器学习--最大熵模型_第8张图片
机器学习--最大熵模型_第9张图片
因为P之和为1机器学习--最大熵模型_第10张图片
在这里插入图片描述
机器学习--最大熵模型_第11张图片
令Zw(x)表示exp(1-w0)
机器学习--最大熵模型_第12张图片
就得出了P(y|x)和w的关系,从而可以把对偶函数ψ(w)里面的所有的P(y|x)替换成用w表示,这样对偶函数ψ(w)就是全部用w表示了。接着我们对ψ(w)求极大化,就可以得到极大化时对应的w向量的取值,带入P(y|x)和w的关系式, 从而也可以得到P(y|x)的最终结果。

对ψ(w)求极大化,由于它是连续可导的,所以优化方法有很多种,比如梯度下降法,牛顿法,拟牛顿法都可以。对于最大熵模型还有一种专用的优化方法,叫做改进的迭代尺度法。

最大熵模型的优缺点

优点:
最大熵统计模型获得的是所有满足约束条件的模型中信息熵极大的模型,作为经典的分类模型时准确率较高。
可以灵活地设置约束条件,通过约束条件的多少可以调节模型对未知数据的适应度和对已知数据的拟合程度
缺点:
1.由于约束条件的个数往往是跟样本的数量有关,因此当样本数量越来越多的时候,对应的约束条件也会相应增加,这样就会导致计算量越来越大,迭代速度越来越慢,这在实际应用中很难。

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