最大熵、逻辑回归的关系

最大熵

最大熵原理

最大熵原理是概率模型学习的一个准则:学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型

假设随机变量X的概率分布是P(X),则其熵为:

熵满足不等式,

|X|为x的取值个数,仅当X服从均匀分布时,熵最大

最大熵模型

应用最大熵原理得到的模型就是最大熵模型.
对于给定数据集,可以确定联合分布与边缘分布的经验分布公式,

用特征函数f(x,y)描述x,y之间的一个事件,定义为:

特征函数f(x,y)关于经验分布的期望为

特征函数关于模型与经验分布的期望为

该式可以作为模型学习的约束条件.假设有n个特征函数,则可以得到n个约束条件.

定义:在条件概率分布P(Y|X)上的条件熵H(P)最大的模型为最大熵模型

最大熵模型的学习

等价于如下的约束优化问题:

对于优化问题,下面采用拉格朗日乘子法.

省略计算过程.

得到:

另外由于P(y|x)关于y累加和为1,得到

Z称为规范化因子,f为特征函数,w为特征权值.所求的P即为最大熵模型.最后求解对偶问题外部的极大化问题

然后用极大似然估计来求解w.
pic1

理解最大熵

吴军博士在其所著的《数学之美》一书中曾经谈到:“有一次,我去AT&T实验室作关最大熵模型的报告,随身带了一个骰子。我问听众‘每个面朝上的概率分別是多少’,所有人都说是等概率,即各种点数的概率均为1/6。这种猜测当然是对的。我问听众为什么,得到的回答是一致的:对这个‘一无所知’的骰子,假定它毎一面朝上概率均等是最安全的做法。(你不应该主观假设它像韦小宝的骰子—样灌了铅。)从投资的角度看,就足风险最小的做法。从信息论的角度讲,就足保留了最大的不确定性,也就是说让熵达到最大。

接着我又告诉听众,我的这个骰子被我特殊处理过,已知四点朝上的概率是1/3,在这种情况下,每个面朝上的概率是多少?这次,大部分人认为除去四点的概率是1/3,其余的均是2/15,也就是说已知的条件(四点概率为1/3)必须满足,而对于其余各点的概率因为仍然无从知道,因此只好认为它们均等。注意,在猜测这两种不同情况下的概率分布时,大家都没有添加任何主观的假设,诸如四点的反面一定是三点等等。(事实上,有的骰子四点的反面不是三点而是一点。)这种基于直觉的猜测之所以准确,是因为它恰好符合了最大熵原理。”

我们可以对最大熵有一个基本的认识是:
“model all that is known and assume nothing about that which is unknown”

那么问题:什么是已知的?
我们的数据集就是已知的.

约束条件

通过数据集来确定约束条件.
假设分类模型是一个条件概率分布P(Y|X),X∈Input表示输入(特征向量),Y∈Output表示输出(分类标签).

特征函数

特征函数在这里其实就是相当于一个特征,用来描述输入x和y之间的某一事实(即x和y同时出现时给定一个特征值)

特征函数f(x,y)关于经验分布$\overline{P}(X,Y)$的期望值,用$E_{\overline{P}}(f)$表示.

而同理,$E_p(f)$表示f(x,y)在模型上关于实际联合分布P(X,Y)的数学期望,类似地则有

因此这里要求关于模型的联合分布P(X,Y)与经验分布$\overline{P}(X,Y)$的特征函数数学期望相等,说白了就是希望能让模型拟合数据集上的特征函数的数学期望

这里有个问题就是如何求P(x,y),可以有P(x,y)=P(x)P(y|x).但是P(x)是未知的.因此只能用$\overline{P}(X)$来近似.
则有

其中P(y|x)是模型。

逻辑回归与最大熵

我们从上面可以看到最大熵优化问题中求解P(y|x)
pic2
通过拉格朗日乘子法得到的是:

可以看到这里P(y|x)的形式与逻辑回归的softmax的形式类似.
softmax可以视为最大熵的P(y|x)的一种特例,即$f_i(x,y)=x_i$
注意:这里i=1,…,n表示的i是特征数.而约束就是对特征的约束.

总而言之,言而总之

逻辑回归先是直接假设数据的分布,二项分布或多项分布。
而最大熵是直接统计训练集中的各个特征与目标值的分布关系.(这就不需要我们猜测sigmoid或者softmax的函数形式)
pic3

一般模型中的说的特征都是指输入的特征,而最大熵模型中的”特征”指的是输入和输出有多么倾向于同时出现

可以以多类logistic regression为例,来感受一下两种视角的不同。

  1. 一般的视角下,每条输入数据会被表示成一个n维向量,可以看成n个特征。而模型中每一类都有n个权重,与n个特征相乘后求和再经过softmax的结果,代表这条输入数据被分到这个类的概率
  2. 在最大熵模型的视角下,每条输入的n个”特征”与k个类别共同组成了nk个特征,模型中有nk个权重,与特征一一对应.每个类别会触发nk个特征中的n个,这n个特征的加权和经过softmax,代表输入被分到各类的概率
-------------本文结束感谢您的阅读-------------