统计学习六:2.对数线性模型之最大熵模型

全文引用自《统计学习方法》(李航)

最大熵模型(maximum entropy model)同样是一类对数线性模型,主要由最大熵原理推导得出。本文主要介绍最大熵原理的基本概念、最大熵模型的推导过程以及模型的学习形式。

1.最大熵原理

最大熵原理是概率模型学习的一个准则。具体表现为,在给定多个约束条件之后,对于所有满足约束条件的概率模型所组成的集合,熵最大的模型一定是最好的模型,此时应选择该模型为最终模型。

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

\[
H(P)=-\sum_xP(x)\log P(x)
\]

熵满足不等式:\(0\le H(P)\le \log|X|\),其中|X|为X的取值个数,当且仅当X的分布为均匀分布时,右侧等式成立,此时熵最大。

最大熵原理认为,要选择的概率模型必须首先满足给定的已有事实条件约束。在没有更多的信息的情况下,满足确定的约束条件后的那些不确定因素,应当都是等可能的。而等可能的概念在模型的选择中并不容易实现,但因为熵是一个可优化的数值指标,所以可以利用熵的最大化来表示等可能性。

例如,假定随机变量X有5个可能的取值{A,B,C,D,E},要估计各个取值的可能概率P(A),P(B),P(C),P(D),P(E)。

首先,这些概率的取值满足约束条件:

\[
P(A)+P(B)+P(C)+P(D)+P(E)=1
\]

由于满足此条件的概率分布为无穷多个,若没有其他约束条件,那么对概率分布进行估计的一个方法,就是认为每个取值的概率是相等的:

\[
P(A)=P(B)=P(C)=P(D)=P(E)=\frac{1}{5}
\]

等概率表示了对事实的无知。 因为没有更多有用的信息,所以这种判断是合理的。

有时,若是能从一些先验知识中得到一些对概率值的约束条件,如:

\[
\begin{aligned}
P(A)+P(B)=\frac{3}{10}\P(A)+P(B)+P(C)+P(D)+P(E)=1
\end{aligned}
\]

那么,满足这两个约束条件的概率分布仍然有无穷多个。在没有其他信息的情况下,可以认为A和B是等概率的,C,D和E是等概论的,即:

\[
\begin{aligned}
P(A)=P(B)=\frac{3}{10}\P(C)=P(D)=P(E)=\frac{7}{30}
\end{aligned}
\]

2.最大熵模型的定义

假设分类模型时一个条件概率分布\(P(Y|X),X\in R^n\)表示输入,Y表示输出,两者分别属于输入和输出空间。则这个模型表示的是对于给定的输入X,以条件概率P(Y|X)输出Y。

给定训练数据集:

\[
T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}
\]

学习的最终目的为,利用最大熵原理选择最好的分类模型。

首先考虑模型应满足的条件。对于给定的训练数据集,可以确定其联合分布P(X,Y)的经验分布和边缘分布P(X)的经验分布,即:

\[
\begin{aligned}
\tilde{P}(X=x,Y=y)=\frac{v(X=x,Y=y)}{N}\\tilde{P}(X=x)=\frac{v(X=x)}{N}
\end{aligned}
\]

其中,v(X=x,Y=y)表示训练数据样本中(x,y)出现的频数,v(X=x)表示训练数据样本中输入x出现的频数,N表示训练样本容量。

以特征函数(feature function)f(x,y)来表示输入x和输出y之间满足的某一个事实,其定义为:

\[
f(x,y)=
\begin{cases}
1,\text{x与y满足某一事实}\0,\text{否则}
\end{cases}
\]

特征函数f(x,y)关于经验分布\(\tilde{P}(X,Y)\)的期望为:

\[
E_{\tilde{P}}(f)=\sum_{x,y}\tilde{P}(x,y)f(x,y)
\]

特征函数f(x,y)关于模型P(Y|X)与经验分布\(\tilde{P}(X)\)的期望值为:

\[
E_P(f)=\sum_{x,y}\tilde{P}(x)P(y|x)f(x,y)
\]

若模型能够获取训练数据集中的信息,那么就可以假设这两个期望值相等,即:

\[
\sum_{x,y}\tilde{P}(x,y)f(x,y)=\sum_{x,y}\tilde{P}(x)P(y|x)f(x,y)
\]

将上式作为模型学习的约束条件,假定有n个特征函数\(f_i(x,y),i=1,2,\cdots,n\),那么就具有n个约束条件。

最大熵模型的定义为:

  • 假设满足所有约束条件的模型集合为

    \[
    C\equiv\{P|E_P(f_i)=E_{\tilde{P}}(f_i),i=1,2,\cdots,n\}
    \]

  • 定义在条件概率P(Y|X)上的条件熵为

    \[
    H(P)=-\sum_{x,y}\tilde{P}(x)P(y|x)\log P(y|x)
    \]

    则模型集合C中条件熵H(P)最大的模型为最大熵模型。上式中的对数为自然对数。

3.最大熵模型的学习

最大熵模型的学习过程,实际上就是求解最大熵模型的过程。对于最大熵模型的学习,可以将其形式化为约束最优化问题。

对于给定的训练数据集\(T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}\)和特征函数\(f_i(x,y),i=1,2,\cdots,n\),最大熵模型的学习等价于约束最优化问题:

\[
\begin{aligned}
&\max_{P\in C}&H(P)&=-\sum_{x,y}\tilde{P}(x)P(y|x)\log P(y|x)\&s.t.&E_P(f_i)&=E_{\tilde{P}}(f_i),i=1,2,\cdots,n\& &\sum_yP(y|x)&=1
\end{aligned}
\]

按照最优化问题的习惯,将求最大值问题改写为等价的求最小值问题:

\[
\begin{aligned}
&\max_{P\in C}&-H(P)&=\sum_{x,y}\tilde{P}(x)P(y|x)\log P(y|x)\&s.t.&E_P(f_i)&-E_{\tilde{P}}(f_i)=0,i=1,2,\cdots,n\& &\sum_yP(y|x)&=1
\end{aligned}
\]

求解上式约束最优化问题,所得出的解就是最大熵模型学习的解。具体的推导过程如下:

  • 首先,引入拉格朗日乘子\(w_0,w_1,w_2,\cdots,w_n\),定义拉格朗日函数L(P,w):

    \[
    \begin{aligned}
    L(P,w)&\equiv -H(P)+w_0\left(1-\sum_yP(y|x)\right)+\sum_{i=1}^nw_i(E_{\tilde{P}}(f_i)-E_P(f_i))\&=\sum_{x,y}\tilde{P}(x)P(y|x)\log P(y|x)+w_0\left(1-\sum_yP(y|x)\right)\&\quad+\sum_{i=1}^nw_i\left(\sum_{x,y}\tilde{P}(x,y)f_i(x,y)-\sum_{x,y}\tilde{P}(x,y)P(y|x)f_i(x,y)\right)
    \end{aligned}
    \]

  • 那么最优化的原始问题为

    \[
    \min_{P\in C}\max_wL(P,w)
    \]

  • 其对偶问题为:

    \[
    \max_w\min_{P\in C}L(P,w)
    \]

    拉个朗日函数L(P,w)为P的凸函数,原始问题的解与对偶问题的解等价,因此,可以通过求解对偶问题来求解原始问题。

  • 首先,求解对偶问题内部的极小化问题\(\min_{_{P\in C}}L(P,w)\),则\(\min_{_{P\in C}}L(P,w)\)为w的函数,记为:

    \[
    \Psi(w)=\min_{P\in C}L(P,w)=L(P_w,w)
    \]

  • 其中\(\Psi(w)\)称为对偶函数,其解记为:

    \[
    P_w=\arg\min_{P\in C}L(P,w)=P_w(y|x)
    \]

  • 求L(P,w)对P(y|x)的偏导数:

    \[
    \begin{aligned}
    \frac{\partial L(P,w)}{\partial P(y|x)}&=\sum_{x,y}\tilde{P}(x)(\log P(y|x)+1)-\sum_yw_0-\sum_{x,y}\left(\tilde{P}(x)\sum_{i=1}^nw_if_i(x,y)\right)\&=\sum_{x,y}\tilde{P}(x)\left(\log P(y|x)+1-w_0-\sum_{i=1}^nw_if_i(x,y)\right)
    \end{aligned}
    \]

    令偏导数为0,在\(\tilde{P}(x)>0\)的情况下,得

    \[
    P(y|x)=\exp\left(\sum_{i=1}^nw_if_i(x,y)+w_0-1\right)=\frac{\exp\left(\sum_{i=1}^nw_if_i(x,y)\right)}{\exp(1-w_0)}
    \]

  • 由于\(\sum_yP(y|x)=1\),得:

    \[
    \begin{aligned}
    P_w(y|x)&=\frac{1}{Z_w(x)}\exp\left(\sum_{i=1}^nw_if_i(x,y)\right)\Z_w(x)&=\sum_y\exp\left(\sum_{i=1}^nw_if_i(x,y)\right)
    \end{aligned}
    \]

    其中\(Z_w(x)\)称为规范化因子,\(f_i(x,y)\)是特征函数,\(w_i\)是特征的权值,则由上式表示的模型\(P_w=P_w(yy|x)\)就是最大熵模型,w是最大熵模型中的参数向量。

    之后,求得对偶问题外部的极大化问题\(\max_w\Psi(w)\),将其解记为\(w^*\),即:

    \[
    w^*=\arg\max_w\Psi(w)
    \]

    此时,\(P^*=P_{w^*}=P_{w^*}(y|x)\)就是可以学习到的最优模型。所以,可以利用最优化算法求解对偶函数\(\Psi(w)\)的极大值,因此,最大熵模型的学习最终转化为对偶函数\(\Psi(w)\)的极大化。

4.极大似然估计

由上节可知,最大熵模型即为以下条件概率分布:

\[
\begin{aligned}
P_w(y|x)&=\frac{1}{Z_w(x)}\exp\left(\sum_{i=1}^nw_if_i(x,y)\right)\Z_w(x)&=\sum_y\exp\left(\sum_{i=1}^nw_if_i(x,y)\right)
\end{aligned}
\]

已知训练数据的经验概率分布\(\tilde{P}(X,Y)\),条件概率分布P(Y|X)的对数似然函数为:

\[
L_{\tilde{P}}(P_w)=\log\prod_{x,y}P(y|x)^{\tilde{P}(X,Y)}=\sum_{x,y}\tilde{P}(X,Y)\log P(y|x)
\]

当条件概率分布P(Y|X)是最大熵模型时,对数似然函数\(L_{\tilde{P}}(P_w)\)为:

\[
\begin{aligned}
L_{\tilde{P}}(P_w)&=\sum_{x,y}\tilde{P}(x,y)\log P(y|x)\&=\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_{x,y}\tilde{P}(x,y)\log Z_w(x)\&=\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_{x}\tilde{P}(x)\log Z_w(x)
\end{aligned}
\]

又有对偶问题\(\Psi(w)\)为:

\[
\begin{aligned}
\Psi(w)&=\sum_{x,y}\tilde{P}(x)P_w(y|x)\log P_w(y|x)\&\quad+\sum_{i=1}^nw_i\left(\sum_{x,y}\tilde{P}(x,y)f_i(x,y)-\sum_{x,y}\tilde{P}(x)P_w(y|x)f_i(x,y)\right)\&=\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y)+\sum_{x,y}\tilde{P}(x,y)P_w(y|x)\left(\log P_w(y|x)-\sum_{i=1}^nw_if_i(x,y)\right)\&=\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_{x,y}\tilde{P}(x,y)P_w(y|x)\log Z_w(x)\&=\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_{x}\tilde{P}(x,y)\log Z_w(x)
\end{aligned}
\]

其中,最后一步由\(\sum_yP(y|x)=1\)可得。

比较上面的推导,可得对偶函数与对数似然函数等价,即最大熵模型的学习中对偶函数的极大化等价于最大熵模型中的极大似然估计。因此,可以将最大熵模型的学习问题转换为求解对数似然函数的极大化或对偶函数极大化的问题

原文地址:https://www.cnblogs.com/zhiyuxuan/p/9703018.html

时间: 2024-08-03 00:11:18

统计学习六:2.对数线性模型之最大熵模型的相关文章

统计学习六:1.对数线性模型之逻辑回归

全文引用自<统计学习方法>(李航) 本节介绍的对数线性模型,主要包括逻辑斯谛回归(logistic regression)模型以及最大熵模型(maximum entropy model).逻辑斯谛回归模型是统计学中十分经典的分类方法,而最大熵是概率学习中的一个准则,通过推广到分类问题,可以得到最大熵模型.本文主要介绍逻辑斯谛回归模型,并在以后详细介绍最大熵模型以及对数线性模型的优化方法. 1.逻辑斯谛分布 逻辑斯谛分布(logistic distribution)定义: 设X是连续的随机变量,

第六章 logistic回归与最大熵模型

1.logistic回归是统计学习中的经典分类方法. 最大熵模型:最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型. 两者都是对数线性模型. 2.二项logstic分类模型:用于二类分布. 多项logstic分类模型:用于多类分布. 3.最大熵模型(maximum entropy model):是由最大熵原理推导实现. 4.熵最大原理:学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型. 5.当X服从均匀分布时,熵最大. 6.改进的迭代尺度法(improve

3月机器学习在线班第六课笔记--信息熵与最大熵模型

原文:https://www.zybuluo.com/frank-shaw/note/108124 信息熵 信息是个很抽象的概念.人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少.比如一本五十万字的中文书到底有多少信息量.直到1948年,香农提出了“信息熵”的概念,才解决了对信息的量化度量问题.(百度百科) 香农定义的信息熵的计算公式如下: H(X)=−∑p(xi)log(p(xi))    (i=1,2,…,n) 其中X 表示的是随机变量,随机变量的取值为(x1,x2,…,xn)

统计学习方法(六)——逻辑斯谛回归与最大熵模型

/*先把标题给写了,这样就能经常提醒自己*/ 转自别处 有很多与此类似的文章  也不知道谁是原创 因原文由少于错误 所以下文对此有修改并且做了适当的重点标记(横线见的内容没大明白 并且有些复杂,后面的运行流程依据前面的得出的算子进行分类) 初步接触 谓LR分类器(Logistic Regression Classifier),并没有什么神秘的.在分类的情形下,经过学习之后的LR分类器其实就是一组权值w0,w1,...,wm. 当测试样本集中的测试数据来到时,这一组权值按照与测试数据线性加和的方式

【统计学习】随机梯度下降法求解感知机模型

1. 感知机学习模型 感知机是一个二分类的线性分类问题,求解是使误分类点到超平面距离总和的损失函数最小化问题.采用的是随机梯度下降法,首先任意选取一个超平面w0和b0,然后用梯度下降法不断地极小化目标损失函数,极小化过程中不是一次使所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降.假设误分类点集合M是固定的,那么损失函数L(w,b)的梯度: 随机选取一个误分类点,对w和b进行更新: 其中n是步长,又称为学习率(learning rate),这样通过迭代可以使损失函数L(w,b)不

统计学习方法一:基础

对统计学习方法中的基础概念和理论做一个总结.逐步更新. 内容摘自<统计学习方法>第一章,第一章内容基本全是重要内容,因此此篇部落格算是一个加入了自己理解思路的读书笔记. 一.统计学习方法包含哪几种? 监督学习:用于学习的数据集都是输入\输出数据对(有标记的样本),学习的任务是找到输入与输出的对应规则.主要用于分类.标注.回归分析. 非监督学习:用于学习的数据集只有输入(未标记的样本),学习的任务是对于数据进行分析,找到输出.主要用于聚类. 半监督学习:是监督学习和非监督学习的结合,它主要考虑如

统计学习的相关定义

1. 什么是统计学习? 统计学习(statistical learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科.具有以下特点: (1)以计算机和网络为平台:(2)以数据为对象,数据驱动的学科:(3)目的是对数据进行预测和分析:(4)以方法为中心,统计学习方法构建模型并应用模型进行预测和分析:(5)概率论.信息论.计算理论.最优化理论及计算机学习的交叉学科. 统计学习方法的步骤: (1)得到一个有限的训练数据集合:(2)得到包含所有可能的模型的假设空间,即

机器学习实战——最大熵模型

信息熵 香农与1948年提出的信息论以其中的信息熵这一基本概念为基础,用来表征人们对客观事件的不确定性的度量,与物理学中的熵表征物质的混乱程度有相似之处. 当处理不确定事件时,最常用的方式就是用概率方式描述,一般假定不确定的事件A每种可能的状态都有一个概率与之对应: P(Ai)s.t.∑i=1nP(Ai)=1P(Ai)≥0 而总共可能的状态如果是有限个(n个),那么就是离散的事件,用离散的随机变量表示:如果可能的状态是无穷多个,那么就是连续的事件,用连续的随机变量表示.本文所有说明仅以离散事件说

逻辑斯谛回归,softmax回归与最大熵模型

逻辑斯谛回归(logistic regression)是统计学习中的经典分类方法 最大熵是概率模型学习的一个准则,被推广到分类问题后可得到最大熵模型(Maximum Entropy Model) 逻辑斯谛回归模型与最大熵模型都属于对数线性模型,而对数线性模型又是广义线性模型的一种. 科普一下:狭义的线性模型是指 自变量的线性预测 就是 因变量的估计值, 而广义的线性模型是指 自变量的线性预测的函数 是 因变量的估计值. 逻辑斯谛回归 逻辑斯蒂分布 logistic distribution,设X