第六章-逻辑回归与最大熵模型

本文介绍了逻辑回归和最大熵模型的共性与区别。逻辑回归属于判别模型,最大熵模型则属于生成模型。最大熵模型在满足约束条件的模型中选择熵最大的模型。文章还探讨了最大熵模型的数学推导,并提供了Python实现的最大熵模型。
摘要由CSDN通过智能技术生成

逻辑斯谛回归是统计学习中的经典分类方法,和最大熵模型相比,具有以下的共同点和区别:

  • 共同点
    • 都属于概率模型,该模型要寻找的是给定一个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(yx)=yP(yx)lnP(yx)
对于一个训练数据集样本,我们可以确定联合分布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,,xy
直观的看,比较难以理解。可以举个例子,比如我们在做一个机器英译汉的翻译的时候,如果你输入一句话中带有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,yP (x,y)f(x,y)P (YX)P (X)EP(f)=x,yP (x)P(yx)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) :ζ={ PQEp(fi)=EP (fi),i=1,2,3...n}P(YX)H(P)=x,yP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值