逻辑斯谛回归是统计学习中的经典分类方法,和最大熵模型相比,具有以下的共同点和区别:
- 共同点
- 都属于概率模型,该模型要寻找的是给定一个x,得到输出变量Y的概率分布P(Y|x),如果是二分类,Y取值为0或1,如果是多分类,Y有K个不同的类别。
- 都属于对数线性模型,对概率分布P(Y|x)取对数,可得lnP(Y|x)=w * x关于x的线性函数。
- 两个模型之前的区别是Logistic回归属于判别模型,最大熵模型属于生成模型。在最大熵模型中,不仅x有随机性,Y也具有随机性,是一个随机变量。
Logistic回归模型(Logistic Regression Model)
详细可参考我的博客
最大熵模型(Maximum Entropy Model)
最大熵模型主要是在自然语言处理中应用的比较广泛。最大熵模型是由最大熵原理推导实现的。而最大熵原理指的是在满足约束条件的模型集合中选择熵最大的模型。那么我们为何需要选择熵最大的模型呢?在决策树中,我们已经提到熵的概念,熵其实表示的是数据的混乱程度。在我们不知道任何信息的情况下,我们就只能假设数据在各个取值上比较平均,比较散乱,即比较数据的混乱程度。这样描述,可能不太清楚,直接看下面的一个例题:
假设随机变量X由5个取值{A,B,C,D,E},要估计取各个值的概率P(A),P(B),P©,P(D),P(E)。
对于一个概率问题,我们可以知道:
P(A) + P(B)+ P© + P(D) + P(E) =1
根据最大熵原理,取值随机且平均,那么P(A)=P(B)=P©=P(D)=P(E)=1/5。
当然有时候我们也能得到一些先验条件,比如:P(A)+P(B)=3/10。对于这种问题,我们在问题中就出现了一些约束条件,此时的熵就是条件熵,即:
H ( y ∣ x ) = − ∑ y P ( y ∣ x ) l n P ( y ∣ x ) H(y|x)=-\sum_y P(y|x)lnP(y|x) H(y∣x)=−y∑P(y∣x)lnP(y∣x)
对于一个训练数据集样本,我们可以确定联合分布P(X,Y)的经验分布和边缘分布P(X)的经验分布,但是求解条件熵仍然存在困难,因为在所有数据集中x的取值是不一样的,而且不固定。此时,我们可以采用经验分布的期望来进行比较。为何可以这样说呢?这就需要我们了解一个二值函数——特征函数(Feature Function)。该函数描述的是输入x和输出y之间的某一个事实,可以定义为:
f ( x , y ) = { 1 , x 与 y 满 足 某 一 个 事 实 0 , 否 则 f(x,y) = \left\{ \begin{aligned} 1 & , & x与y满足某一个事实 \\ 0 & , & 否则 \end{aligned} \right. f(x,y)={
10,,x与y满足某一个事实否则
直观的看,比较难以理解。可以举个例子,比如我们在做一个机器英译汉的翻译的时候,如果你输入一句话中带有take
单词的英文句子I take a lot of money to buy a house.
,此时take
的含义表示花费
,但是如果你输入She decided to take a bus to work since yesterday.
,此时take
的含义表示乘坐
。take
单词后面跟着不同单词,就需要翻译成不同的意思,此时next word
是一个条件,在这种条件下,take
翻译成不同的含义,满足这一个事实。由此,可以得到特征函数关于经验分布P(X,Y)和P(Y|X)与P(X)的期望值如下表述:
经 验 分 布 P ~ ( X , Y ) 的 期 望 : E P ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) 经 验 分 布 P ~ ( Y ∣ X ) 与 P ~ ( X ) 的 期 望 : E P ( f ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) 经验分布\widetilde{P}(X,Y)的期望:\\ E_{\widetilde{P}}(f)= \sum_{x,y}\widetilde{P}(x,y)f(x,y) \\ 经验分布\widetilde{P}(Y|X)与\widetilde{P}(X)的期望:\\ E_{P}(f)= \sum_{x,y}\widetilde{P}(x)P(y|x)f(x,y) \\ 经验分布P
(X,Y)的期望:EP
(f)=x,y∑P
(x,y)f(x,y)经验分布P
(Y∣X)与P
(X)的期望:EP(f)=x,y∑P
(x)P(y∣x)f(x,y)
如果模型能够获取训练数据集中的信息,那么可以假设两个期望相等。得到以下最大熵模型。
最 大 熵 模 型 定 义 : 假 设 满 足 所 有 约 束 条 件 的 模 型 集 合 为 : ζ = { P ∈ Q ∣ E p ( f i ) = E P ~ ( f i ) , i = 1 , 2 , 3... n } 定 义 在 条 件 概 率 分 布 P ( Y ∣ X ) 上 的 条 件 熵 为 : H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) 最大熵模型定义:假设满足所有约束条件的模型集合为:\\ \zeta = \{P \in Q|E_p(f_i)=E_{\widetilde{P}}(f_i),i=1,2,3...n\}\\ 定义在条件概率分布P(Y|X)上的条件熵为:\\ H(P)=-\sum_{x,y}\widetilde{P}(x)P(y|x)logP(y|x) 最大熵模型定义:假设满足所有约束条件的模型集合为:ζ={ P∈Q∣Ep(fi)=EP (fi),i=1,2,3...n}定义在条件概率分布P(Y∣X)上的条件熵为:H(P)=−x,y∑P