1、熵的定义
熵最早是一个物理学概念,由克劳修斯于1854年提出,它是描述事物无序性的参数,跟热力学第二定律的宏观方向性有关:在不加外力的情况下,总是往混乱状态改变。熵增是宇宙的基本定律,自然的有序状态会自发的逐步变为混沌状态。 1948年,香农将熵的概念引申到信道通信的过程中,从而开创了”信息论“这门学科。香农用“信息熵”来描述随机变量的不确定程度,也即信息量的数学期望。 关于信息熵、条件熵、联合熵、互信息、相对熵、交叉熵请点击蓝字直达
2、最大熵模型 这里引用吴军博士《数学之美》中关于最大熵的论述
最大熵原理指出,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以人们称这种模型叫“最大熵模型”
理解最大熵原理,最简单的例子就是掷色子,当我们对这个色子一无所知时,我们一般会假定它每面朝上的概率是均等的,即各点出现的概率均为 1/6。这就保留了最大的不确定性,也就是说让熵达到最大。当我们假定这个色子是韦小宝的,六点朝上的概率是 1/2,这样其他面朝上的概率是多少呢?在无其他信息情况下,其他面朝上的概率均为 1/10. 在满足已知条件前提下,如果没有更多的信息,则那些不确定部分都是“等可能的”。而等可能性通过熵最大化来刻画。最大熵模型要解决的问题就是已知 X,计算 Y 的概率,且尽可能让 Y 的概率最大。
由此,就可以引出最大熵模型的定义:
最大熵模型假设分类模型是一个条件概率分布$P(Y|X)$,X 为特征,Y 为输出。 给定一个训练集${(x^{(1)},y^{(1)}), (x^{(2)},y^{(2)}), ... ,(x^{(m)},y^{(m)})}$,其中 x 为n维特征向量,y 为类别输出。我们的目标就是用最大熵模型选择一个最好的分类类型。 在给定训练集的情况下,我们可以得到总体联合分布$P(X,Y)(的经验分布)overline(X,Y)$,和边缘分布$P(X)(的经验分布)overline(X)(。)overline(X,Y)(即为训练集中 X,Y 同时出现的次数除以样本总数 m,)overline(X)$即为训练集中 X 出现的次数除以样本总数 m。 用特征函数$f(x,y)$描述输入 x 和输出 y 之间的关系。定义为:
可以认为只要出现在训练集中出现的$(x^{(i)},y^{(i)})$,其$f(x^{(i)},y^{(i)}) = 1$. 同一个训练样本可以有多个约束特征函数。 特征函数$f(x,y)(关于经验分布)overline(X,Y)$的期望值,用$E_{overline}(f)$表示为:
E_(f) = sumlimits_{x,y}overline(x)P(y|x)f(x,y)
E_{overline}(f) = E_(f)
H(P) = -sumlimits_{x,y}overline(x)P(y|x)logP(y|x)
egin maxlimits_{Pinmathcal}& H(P)=-sum_{x,y} ilde(x)P(y|x)log P(y|x) onumber 4 E_P(f_k)=E_ ilde(f_k),k=1,2,cdots,K onumber && sum_yP(y|x)=1 onumber end
egin &minlimits_{Pinmathcal}& -H(P)=sum_{x,y} ilde(x)P(y|x)log P(y|x) onumber &s.t.& E_P(f_k)-E_ ilde(f_k)=0,k=1,2,cdots,K onumber && sum_yP(y|x)=1 onumber end
egin L(P,eta)&=& -H(P)+eta_0(1-sum_yP(y|x))+sum_^Keta_k(E_ ilde(f_i)-E_P(f_i)) onumber &=&sum{x,y} ilde(x)P(y|x)log P(y|x)+eta_0(1-sum_yP(y|x)) onumber &+&sum_^Keta_k(sumlimits{x,y} ilde(x,y)f(x,y)-sumlimits_{x,y} ilde(x)P(y|x)f(x,y)) onumber end
egin frac{partial L(P,eta)}{partial P(y|x)}&=&sum_{x,y} ilde(x)(log P(y|x)+1)-sum_yeta_0-sum_{x,y}( ilde(x)sum_^Keta_kf_k(x,y)) onumber &=&sum_{x,y} ilde(x)Big{(}log P(y|x)+1-eta_0-sum_^Keta_kf_k(x,y)Big{)} onumber &=&0 onumber end
P(y|x)=exp(sumlimits_^Keta_kf_k(x,y)+eta_0-1)=frac{exp(sumlimits_^Keta_kf_k(x,y))}{exp(1-eta_0)}
P_eta(y|x)=frac{1}{Z_eta(x)}exp(sumlimits_^Keta_k f_k(x,y))
P^=P_{eta^}(y|x)
L_ ilde(P_eta)=sumlimits_{x,y} ilde(x,y)log P(y|x)