联合熵和条件熵
熵:对不确定性的一种度量,不确定性越大熵值越大!(均匀分布是最不确定的分布)
联合熵:两个随机变量X,Y进行或运算!
条件熵:在Y确定的前提下,X发生带来的熵!(类似于条件概率,联合概率减去边缘概率而已)
利用联合熵对条件熵的推导:
相对熵(交叉熵,K-L距离)
相对熵:衡量两个随机变量之间的距离
交叉熵:对相对熵的形式进行变形
互信息(信息增益)
互信息:定义为两个随机变量的联合分布和独立分布乘积的距离,衡量了两个随机变量的依赖程度的大小,并且与值成正比关系!
ps:类似于联合概率。
互信息与相对熵:
互信息与信息增益:I(X;Y)=H(X)-H(X|Y) G(D,A)=H(D)-H(D|A)
互信息与条件熵:
Venn图记忆
1.最大熵原理
最大熵原理:在没有更多信息情况下,认为不确定的部分都是“等可能的”(均匀分布)。概率平均分布对应着熵最大!
信息量:
信息熵:对平均不确定性的度量 等价于自信息的期望
条件熵:
2.最大熵模型
建立模型:根据最大熵原理,利用条件熵建模然后让模型取最大即可。
至此就说明了构建的模型使用条件熵,然后让模型和样本的期望等价,都是假设但是这种假设真的可以吗?接下来使用极大似然估计去进行验证!
3.模型的准确性验证
验证:通过最大熵原理建立的模型没有理论依据,通过有严格数学证明的极大似然估计验证了模型建立的准确性。
拉格朗日乘子法:
模型和约束条件:
定义目标函数:
利用对偶函数的特点,先让函数对条件熵求导等于零然后将结果带入L函数中就变为了对偶函数,在对函数求极大值求出乘子(就是要学习的参数!)
对条件熵求导在等于零:
可解得:
带入得拉格朗日的对偶问题:
极大似然估计验证最大熵原理:
对数似然函数(目标函数):
利用极大似然估计已经推导出和最大熵模型的假设函数(条件熵)一样的形式了,两者就是函数是式相同,两者极有可能殊途同归!
最关键的一步,最优解带入到MLE式子里:
证明了:
最大熵模型的假设方法等价于极大似然估计方法,说明最大熵模型建立的准确性!证明了最大熵模型的合理性!
接下来参数的学习:
ps:拥有了softmax模型和优化目标对偶函数,接下来需要参数的优化。
4.模型的参数学习
需要优化的目标函数:
ps:变为了对偶问题的函数
迭代尺度法IIS:优化参数(思想类似于梯度下降法)
ps:梯度下降基于凸函数效果好,但是针对这个复杂的函数直接使用梯度下降可能会收敛不到一个比较好的结果。
迭代尺度法的思想:
假设最大熵模型当前的参数向量是λ,希望找到新的参数向量λ+δ,使得函数值增加。重复这一过程,直至找到对数似然函数的最大值。
ps:对偶问题就是求最大值的过程。
推导过程:
利用琴生不等式:
新的目标函数优化:
在实际中往往会用拟牛顿的思路,BFGS或者空间限定的LBFGS!还是因为怕二阶导不存在,矩阵求逆可能不正定求不了!
ps:通过尺度迭代法把原对偶问题的复杂函数(直接迭代更新收敛会很困难),变换为了一个相对较简易的形式,这样可以使迭代更快,更准确。