1、熵的定义
熵最早是一个物理学概念,由克劳修斯于1854年提出,它是描述事物无序性的参数,跟热力学第二定律的宏观方向性有关:在不加外力的情况下,总是往混乱状态改变。熵增是宇宙的基本定律,自然的有序状态会自发的逐步变为混沌状态。
1948年,香农将熵的概念引申到信道通信的过程中,从而开创了”信息论“这门学科。香农用“信息熵”来描述随机变量的不确定程度,也即信息量的数学期望。给定随机变量,其取值,则信息熵为:
关于信息熵、条件熵、联合熵、互信息、相对熵、交叉熵请点击蓝字直达
各种熵之间的关系
2、最大熵模型
这里引用吴军博士《数学之美》中关于最大熵的论述
最大熵原理指出,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以人们称这种模型叫“最大熵模型”
理解最大熵原理,最简单的例子就是掷色子,当我们对这个色子一无所知时,我们一般会假定它每面朝上的概率是均等的,即各点出现的概率均为 1/6。这就保留了最大的不确定性,也就是说让熵达到最大。当我们假定这个色子是韦小宝的,六点朝上的概率是 1/2,如果没有更多的信息,,则那些不确定部分都是“等可能的”,即其他面朝上的概率均为 1/10.最大熵模型要解决的就是已知 X,计算 Y 的概率,且尽可能让 Y 的概率最大的问题。
3、最大熵模型的学习
最大熵模型的学习等价于约束最优化问题:
4、模型对比
最大熵模型与LR模型的关系:最大熵模型和 LR 模型都属于对数线性模型,LR 及最大熵模型学习一般采用极大似然估计,或正则化的极大似然估计。LR 及最大熵模型学习可以形式化为无约束最优化问题,求解时有改进的迭代尺度法、梯度下降法、拟牛顿法。逻辑回归跟最大熵模型没有本质区别。逻辑回归是最大熵对应类别为二类时的特殊情况,也就是当逻辑回归类别扩展到多类别时,就是最大熵模型。
最大熵模型与决策树模型的关系:最大熵原理选取熵最大的模型,而决策树的划分目标选取熵最小的划分。原因在于:
最大熵原理认为在满足已知条件之后,选择不确定性最大(即:不确定的部分是等可能的)的模型。也就是不应该再施加任何额外的约束。因此这是一个求最大不确定性的过程,所以选择熵最大的模型。
决策树的划分目标是为了通过不断的划分从而不断的降低实例所属的类的不确定性,最终给实例一个合适的分类。因此这是一个不确定性不断减小的过程,所以选取熵最小的划分。
最大熵和朴素贝叶斯的联系:两者都使用了P(y|x),区别在于朴素贝叶斯使用先验概率求解,最大熵利用最大化条件熵求解。朴素贝叶斯倾向于从基本信息中提取新的信息,而最大熵将提取信息的程度进行了量化(就好像强迫自己获得概率一定是要均匀分布一样)。
5、最大熵模型的 Python 实现
这里就不再贴代码,网上有许多优秀的博主已经共享过了
最大熵模型作为经典的分类模型时准确率比较高,但是在样本量很大的时候,对偶函数优化求解的迭代过程计算量巨大,实际应用中还是比较适合小样本集。