【算法】最大熵模型

版权声明:可以转载奥 https://blog.csdn.net/Jiajikang_jjk/article/details/83312317

最大熵模型

最大熵原理

       最大熵原理是概率模型学习的一个准则,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型,通常用约束条件来确定概率模型的集合,所以,最大熵原理也可以表述为满足约束条件的模型集合中选取熵最大的模型。
如下解释:
        假设离散随机变量 X 的概率分布是 P ( X ) P(X) ,则其熵是 H ( P ) = x P ( x ) l o g P ( x ) H(P)=-\sum_{x}^{} P(x)logP(x) ,熵满足下列不等式:
0 H ( P ) l o g X 0 \leq H(P)\leq log|X| 式中,|X|是X的取值个数,当且仅当X的分布是均匀时右边的等号成立,这就是说,当X服从均匀分布时,熵最大。

最大熵模型的定义

前言

        最大熵原理是统计学习的一般原理,将它应用到分类得到最大熵模型,这也是此次博主为了学习它而有个这篇博文的缘由。


背景

        假设分类模型是一个条件概率分布 P ( Y X ) , X χ R n P(Y|X), X\in\chi\subseteq R^{n} 表示输入, Y y Y\in y 表示输出, χ \chi y y 分别是输入和输出的集合。这个模型表示的是对于给定的输入 X X ,以条件概率 P ( Y X ) P(Y|X) 输出 Y Y .
       给定一个训练数据集

                        T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . ( x N , y N ) } T=\left \{ (x_1,y_1),(x_2,y_2),..(x_N,y_N)\right \}

分析

学习的目的是用最大熵原理选择最好的分类模型。
模型满足的条件:
     1:给定训练数据集 ,以此来确定联合概率分布 P ( X , Y ) P(X,Y) 的经验分布,边缘分布 P ( X ) P(X) 的经验分布,分别以 P ~ ( X , Y ) \widetilde{P}(X,Y) P ~ ( X ) \widetilde{P}(X) 表示。这里

                                                        P ~ ( X = x , Y = y ) = v ( X = x Y = x ) / N \widetilde{P}(X=x,Y=y)=v(X=x,Y=x)/N
                                                       P ~ ( X = x ) = v ( X = x ) / N \widetilde{P}(X=x)=v(X=x)/N

其中, v ( X = x , Y = y ) v(X=x,Y=y) 表示训练数据中样本 ( x , y ) (x,y) 出现的频数, v ( X = x ) v(X=x) 表示训练数据中输入x出现的频数,N 表示训练样本容量。
     2:用特征函数 f ( x , y ) f(x,y) 描述输入的 x 和 输入 y 之间的某一个事实, 其定义是

                                                        f ( x , y ) = { 1 , x y 0 f(x,y)=\left\{\begin{matrix}1,& x与y满足某一个事实\\ 0, & 否则\end{matrix}\right.
它是一个二值函数,当 x 和 y 满足这个事实时取值为 1 ,否则取值为 0 .
特征函数 f ( x , y ) f(x,y) 关于经验分布 P ~ ( X , Y ) \widetilde{P}(X,Y) 的期望值,用 E p ~ ( f ) E_{\widetilde p}(f) 表示。

                                                        E p ~ ( f ) = x , y p ~ ( x , y ) f ( x , y ) E_{\widetilde p}(f)=\sum_{x,y}\widetilde p(x,y)f(x,y)

特征函数 f ( x , y ) f(x,y) 关于模型 P ( Y X ) P(Y|X) 与经验分布 P ~ ( X ) \widetilde P(X) 的期望值,用 E p ( f ) E_p(f) 表示

                                                        E p ( f ) = x , y P ~ ( x ) P ( y x ) f ( x , y ) E_p(f)=\sum_{x,y}\widetilde P(x)P(y|x)f(x,y)

如果模型能够获取训练数据中的信息,那么就可以假设这两个期望值相等,即

                                                        E p ( f ) = E p ~ ( f ) E_p(f)=E_{\widetilde p(f)}

                                                        x , y P ~ ( x ) P ( y x ) f ( x , y ) = x , y P ~ ( x , y ) f ( x , y ) \sum_{x,y}\widetilde P(x)P(y|x)f(x,y)=\sum_{x,y}\widetilde P(x,y)f(x,y)

其中
                                                        E p ( f ) = E p ~ ( f ) E_p(f)=E_{\widetilde p(f)} x , y P ~ ( x ) P ( y x ) f ( x , y ) = x , y P ~ ( x , y ) f ( x , y ) \sum_{x,y}\widetilde P(x)P(y|x)f(x,y)=\sum_{x,y}\widetilde P(x,y)f(x,y) 作为模型学习的约束条件。假如有 n 个特征函数 f i ( x , y ) , i = 1 , 2 , . . . n f_i(x,y),i=1,2,...n ,那么就有 n 个约束条件。

结论

假设蛮子所有约束条件的模型集合为
                                                        C { p ρ E p ( f i ) = E p ~ ( f i ) , i = 1 , 2 , . . . n } C\equiv\left\{ p \in\rho | E_p(f_i)=E_{\widetilde p(f_i), i=1,2,...n}\right \} 定义再条件概率分布 P ( Y X ) P(Y|X) 上的条件熵是

                                                        H ( P ) = x , y P ~ ( x ) P ( y x ) l o g P ( y x ) H(P)=-\sum_{x,y} \widetilde P(x)P(y|x)logP(y|x)

则模型集合 C 中的条件熵 H ( P ) H(P) 最大的模型称为最大熵模型,式中的对数为自然对数。

猜你喜欢

转载自blog.csdn.net/Jiajikang_jjk/article/details/83312317