最大熵原理
1.前言
最大熵模型(maximum entropy model, MaxEnt)也是很典型的分类算法了,它和逻辑回归类似,都是属于对数线性分类模型。在损失函数优化的过程中,使用了和支持向量机类似的凸优化技术。而对熵的使用,让我们想起了决策树算法中的ID3和C4.5算法。理解了最大熵模型,对逻辑回归,支持向量机以及决策树算法都会加深理解。
2.信息论
2.1信息熵
熵度量了事物的不确定性,越不确定的事物,它的熵越大。在没有外部环境的作用下,事物总是向着熵增大的方向发展,所以熵越大,可能性越大。
2.2条件熵
X确定时,Y的不确定性度量。在X发生是前提下,Y发生新带来的熵。
2.3联合熵
X,Y在一起发生时的不确定性度量
2.4互信息(信息增益)
表示两个变量X与Y是否有关系,以及关系的强弱。
可以看出,I(X,Y)可以解释为由X引入而使Y的不确定度减小的量,这个减小的量为H(Y|X)。所以,如果X,Y关系越密切,I(X,Y)就越大,X,Y完全不相关,I(X,Y)为0,所以互信息越大,代表这个特征的分类效果越好。
3.最大熵模型
最大熵模型在分类方法里算是比较优的模型,但是由于它的约束函数的数目一般来说会随着样本量的增大而增大,导致样本量很大的时候,对偶函数优化求解的迭代过程非常慢,scikit-learn甚至都没有最大熵模型对应的类库。但是理解它仍然很有意义,尤其是它和很多分类方法都有千丝万缕的联系。
惯例,我们总结下最大熵模型作为分类方法的优缺点:
最大熵模型的优点有:
- 最大熵统计模型获得的是所有满足约束条件的模型中信息熵极大的模型,作为经典的分类模型时准确率较高。
- 可以灵活地设置约束条件,通过约束条件的多少可以调节模型对未知数据的适应度和对已知数据的拟合程度
最大熵模型的缺点有:
- 由于约束函数数量和样本数目有关系,导致迭代过程计算量巨大,实际应用比较难。