最大熵模型与分类器

先推荐两个链接,都是讲最大熵的,强的一批。

http://blog.csdn.net/erli11/article/details/24718655

http://blog.csdn.net/v_july_v/article/details/40508465

一.思路

最大熵其实也是个用来做分类器的思想,用的是条件熵最大的意义(这一点可以看到跟极大似然估计很像),最大熵模型在做分类的时候其实也是判断

P(y|x)概率的大小的,从而决定归类。但是这里的p(y|x)不是跟朴素贝叶斯一样从样本数据中获得先验概率然后计算,而是通过条件熵最大而求得


每个讲解最大熵模型的都会用这么个例子,一个色子,6面,问人掷每面的概率是多少,每个人一定会说每面都是1/6,为什么每个人会说1/6,而不是说什么1是1/3,2是1/2这样子的组合呢,因为每个人潜意识里面觉得这样子最“保险”,那么“最保险”到底代表着什么意思呢?因为均匀分布刚好是熵最大的模型,而最大熵模型认为,对于那些不知道的事件,认为他们是等可能的是最好的,也满足最大熵的情况。

二.特征函数和限制条件

看过最大熵模型的人都知道会有这么一个限制条件,


那么这个特征函数到底代表什么意思。

看这么一个例子,对于X={x1,x2,x3,x4.....},每个x是n维向量,Y={Y1,Y2,Y3,....}这样子,经过我们观察发现当x的第3维的值为6的时候,y有着很大的概率为1(比如说0.9,0.88),那么如何表征这个特征呢,这里就用到了特征函数,f(x,y)表示这么个意思,很显然,我们觉得这个发现是很有意义的,我们决定给他加上限制条件,即(x的第3维的值为6的时候,y有着很大的概率为1)这个事件不能就这么被忽略掉,需要放到求解的式子作为限制条件,那么就用到了这个





让他们两个相等作为限制条件,很显然这样子的特征函数很可能不止一个,那么就有多条限制,同时还有


6.16这么个限制,也就是全部概率加起来为1。

三.模型求解

最大熵模型,顾名思义,就是求解一个表示条件熵的式子,P(y|x)作为变量,使得条件熵最大,从而求解P(y|x),但是现在的问题是有着上述这么多的限制条件,怎么求解,

很容易想到拉格朗日,就是为这么一个形式:



第二项和第三项都是为0的,但是通过这样来添加限制条件,对于这个式子,以P(y|x)为自变量,进行求偏导,得到形式


这样子,把P(y|x)代回之前的公式,那么这个公式就是关于W参数的式子,对他进行计算(有很多的算法,IIS,GIS,BFGS,SGD),可以得到w的值,代回去可以求得p(y|x)的值了.


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭