hi,all: 沿着昨天的节奏,今天我们来重点谈谈最大熵建模,这里会有简单的公式推导,详细的可以参考百度搜索的相关链接结果,重点的在于最大熵模型的理解上,以及其重要的作用。 一、统计建模的基础知识 开始之前先介绍一下统计建模的基础知识,便于引出最大熵模型。 统计建模方法是用来modeling随机过程行为的。在构造模型时,通常供我们使用的是随机过程的采样,也就是训练数据。这些样本所具有的知识(较少),事实上,不能完整地反映整个随机过程的状态。建模的目的,就是将这些不完整的知识转化成简洁但准确的模型。我们可以用这个模型去预测随机过程未来的行为。 在统计建模这个领域,指数模型被证明是非常好用的。因此,自世纪之交以来,它成为每个统计物理学家们手中不可或缺的工具。最大熵模型是百花齐放的指数模型的一种,它表示的这类分布有着有趣的数学和哲学性质。尽管最大熵的概念可以追溯到远古时代,但直到近年来计算机速度提升之后,才允许我们将最大熵模型应用到统计评估和模式识别的诸多现实问题中(最大熵才在现实问题上大展身手)。 二、最大熵原理 最大熵原理指出,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以人们称这种模型叫“最大熵模型”。我们常说,不要把所有的鸡蛋放在一个篮子里,其实就是最大熵原理的一个朴素的说法,因为当我们遇到不确定性时,就要保留各种可能性。说白了,就是要保留全部的不确定性,将风险降到最小。----摘自《Google黑板报》作者:吴军 最大熵的方法回答了这两个问题。直观上讲,很简单,即:对已知的知识建模,对未知的不过任何假设(model all that is known and assume nothing about that which is unknown) 接下来为最大熵模型的推导过程,沿用常用的模型上帝视角方法论: 1、目标函数和约束函数构建;2、寻找预测函数;3、构造损失函数;4、求解 (1)最大熵模型的目标函数和约束函数: 最大熵模型完整公式 (2)这里引入Lagrange乘子法来求解上述目标函数,该条件约束优化问题的Lagrange函数为。详细推导过程见百度搜索相关文档,推导过程中除了Lagrange的引入之外,还有常用的迭代优化逻辑,即求最小值相当于可微函数(分段可微函数)求极值。这里直接给出最后的结论,最大熵模型的最优估计: 最大熵模型的最优估计 (3)为了实现上述迭代,常用优化算法包含:GIS、IS、BFGS 三、最大熵模型总结 最大熵模型在分类方法里算是比较优的模型,但是由于它的约束函数的数目一般来说会随着样本量的增大而增大,导致样本量很大的时候,对偶函数优化求解的迭代过程非常慢,scikit-learn甚至都没有最大熵模型对应的类库。但是理解它仍然很有意义,尤其是它和很多分类方法都有千丝万缕的联系。 我们总结下最大熵模型作为分类方法的优缺点: 最大熵模型的优点有: a) 最大熵统计模型获得的是所有满足约束条件的模型中信息熵极大的模型,作为经典的分类模型时准确率较高。 b) 可以灵活地设置约束条件,通过约束条件的多少可以调节模型对未知数据的适应度和对已知数据的拟合程度 最大熵模型的缺点有: a) 由于约束函数数量和样本数目有关系,导致迭代过程计算量巨大,实际应用比较难。 最后给出最大熵模型的不同维度的应用场景: (1)最大熵模型有两个基本的任务:特征选择和模型选择。 (2)最大熵模型的应用:词性标注、短语识别、指代消解、语法分析、机器翻译、文本分类、问题回答、语言模型等。 |
|