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

1. 概述

Logistic回归是统计学中的经典分类方法,最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型,logistic回归模型与最大熵模型都是对数线性模型

本文第一部分主要讲什么是logistic(逻辑斯谛)回归模型,以及模型的参数估计,使用的是极大对数似然估计以及梯度下降法,第二部分介绍什么是最大熵模型,首先介绍最大熵原理, 然后根据最大熵原理推出最大熵模型,在求解最大熵模型时候,要引入拉格朗日对偶性(在下一篇文章中)的讲解,将最大熵模型的学习归结为对偶函数的极大化,随后我们证明得对偶函数的极大化等价于最大熵模型的极大似然估计。那么这样的话逻辑斯谛回归模型和最大熵模型的学习归结为以似然函数为目标的最优化问题。最后提出模型学习的方法:IIS(改进的迭代尺度算法)(还有其他的方法,梯度下降法,牛顿和拟牛顿法)。

2. 逻辑斯谛回归模型

在介绍logistic回归模型之前,首先简单的讲解一下线性回归模型,这样引入逻辑斯谛会比较容易一些。在线性回归模型中,给定的数据集合D = {(x1, y1), (x2, y2),,…(xm,ym)},其中xi为输入的特征,yi为输出,线性回归试图学得一个线性模型以尽可能的准确的预测实值输出标记。即线性回归试图学得:
h ( x i ) = θ T x i
通过衡量h(x)和y之间的差别来确定w和b。使用的方法是试图让均方误差最小,即:
( w , b ) = a r g m i n i = 1 m ( h ( x i ) y i ) 2
基于均方误差的最小化求解模型的方法称为“最小二乘法”.

下面正式开始介绍logistic回归,在线性回归的基础上我们考虑二分类问题,也就是说其输出y的取值为0或者是1。而前面提到的线性模型的输出值为实值,于是我们要想办法把线性模型的输出值转化为0/1值,为此我们引入logistic函数:
y = 1 1 + e x p ( z )
将线性模型的输出作为logistic函数的输入则得到:
y = 1 1 + e x p ( θ T x )
经过变化得到:
l n y 1 y = θ T x

若将y视为x为正例的可能性,则1-y是其为反例的可能性,两者的比值y/(1 - y)称为几率,反应的是x为正例的相对可能性,对几率取对数则得到的对数几率 l n y / ( 1 y ) ,由此可以看出(2)式实际上是在使用线性回归模型的预测结果去逼近真实标记的对数几率,因此该模型称为“对数几率模型”(logisticre gression)。或者也可以认为logisticre gression就是被sigmoid函数(形状为S型的模型)归一化后的线性模型

3. 模型参数的估计:极大似然估计

若将y视作p(y = 1 | x),也就是x等于1的概率,则可得:
l n p ( y = 1 | x ) p ( y = 0 | x ) = w T x + b
进一步可得:
p ( y = 1 | x ) = e x p ( θ T x ) 1 + e x p ( θ T x ) , p ( y = 0 | x ) = 1 1 + e x p ( θ T x )

那么每一个观察到的样本出现的概率为:
p ( y i = 1 | x i ) i y P ( y i = 0 | x i ) 1 y i

此时可以得到似然函数如下:
1 N p ( y i = 1 | x i ) i y p ( y i = 0 | x i ) 1 y i

对其取对数得到对数似然函数为:(简单介绍下极大似然估计的原理, 就是要让我们收集到的样本的概率最大,也就是要让上式的值最大).
L ( w ) = i N ( y i l o g p ( y i = 1 | x i ) + ( 1 y i ) l o g ( 1 p ( y i = 1 | x i ) )
= i N ( y i l o g p ( y i = 1 | x i ) 1 p ( y i = 1 | x i ) + l o g ( 1 p ( y i = 1 | x i ) )
= i N ( y i ( w T x i ) l o g ( 1 + e x p ( w T x i ) ) )

这样问题就变成了以对数似然函数为目标函数的最优化问题,通常采用梯度下降或者拟牛顿法求取参数。

4. 信息论中关于熵的基础知识

在介绍最大熵之前,首先简单的介绍下信息论中的熵的有关的基础的知识。

熵是随机变量的不确定性的度量,一个随机变量X的熵H(X)定义为:
H ( p ) = p ( x ) l o g p ( x )
如果X服从p(x),则随机变量g(X)的期望可记为 E g ( x ) = g ( x ) p ( x ) ,那么当g(X)= -log(p(X))时候,X的熵可以解释为变量-log(p(X))的期望值,也就是自信息的期望值。其中自信息是指事件自身所包含的信息,定义为概率的负对数。
直观解释:
  熵描述事物的不确定性,或者说事物的信息量。当我们不知道事物的具体状态却知道其所有的可能性时,显然可能性越多,不确定性越大,被获知时得到的信息量越大。反之,当事物是确定的,其信息量为0.假设有X~p(x),对于随机变量的某一个状态 x i ,其所包含的信息量由它的不确定性决定,设 x i 发生的概率 p ( x i ) ,那么他的自信息量可以表示为 l o g ( P ( x i ) ) ,另外需要考虑的是,不同的状态发生的概率不同,则信息量也不同,所以自信息不可以用来表征信源的不确定性。而要使用平均自信息量来表征整个信源的信息量。

5. 最大熵原理

最大熵原理是概率模型学习的一个准则,最大熵原理认为,学习概率模型时,在所有的可能的概率模型中,熵最大的模型是最好的模型。通常用约束条件来确定概率模型的集合,所以,熵最大原理也可以描述为在满足约束条件的模型集合中选取熵最大的模型。
直观讲, 最大熵原理认为要选择的概率模型

(1)首先必须满足已有的事实,即约束条件。

(2)在没有更多信息的情况下,就假设那些不确定的部分都是等可能的。

举个例子:假设随机变量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)=1/5.

6.最大熵模型

假设分类模型是一个条件概率分布p(Y|X),这个模型表示的是对于给定的输入X以条件概率P(Y|X)输出Y。
给一个训练集: T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) , ( x n , y n )

学习的目标是用最大熵原理选择最好的分类模型。

该模型能够准确表示随机过程的行为。该模型任务是预测在给定x的情况下,输出y的概率:p(y| x).

(1). 考虑模型应该满足的条件(或者说是样本的特性),给定的训练集合,可以确定的是联合分布P(X,Y)的经验分布边缘分布P(X)的经验分布,分别以 P t ( X , Y ) P t ( X ) 表示(这里t表示的是经验的意思)这里:
P t ( X = x , Y = y ) = v ( X = x , Y = y ) N
P t ( X = x ) = v ( X = x ) N
其中V(X = x, Y = y)表示的是训练数据中样本(x,y)出现的频数,V(X =x)表示的是x出现的频数。N是训练集合的大小。

2).假设给出了很多关于数据的先验信息,也可以理解为约束条件,我们要将这些信息添加到模型中去,为了完成这个目标我们引入了特征函数这个概念。用特征函数f(x, y)描述x和输出y之间的某一个事实,其定义是:
f(x,y) =1 ,x和 y 满足某一个事实
______0,否则

(3). 特征函数f(x, y)关于经验分布的Pt(x, y)的期望值,用 E P t ( f ) 表示:(特征的经验概率期望值是所有满足特征要求的经验概率之和):
E p t ( f ) = x , y P t ( x , y ) f ( x , y )
特征函数f(x,y)关于模型P(Y|X)与经验分布Pt(X)的期望值, 用Ep(f)表示:(特征的真实期望概率是特征在所学习的随机事件中的真实分布) :
E p t ( f ) = x , y P t ( x ) P t ( x | y ) f ( x , y )

如果模型能够获取训练数据集中的信息,那么就可以假设两个期望值是相等的.
(4)最大熵模型的定义:

   假设满足所有的约束条件的模型的集合是:
   C = p P | E p ( f i ) = E p t ( f i ) , i = 1 , 2 , 3... n
则模型集合C中条件熵H(P)最大的模型称为最大熵模型。(在满足约束条件中选择熵最大的那个。这是一个有约束的优化问题)

7. 最大熵模型的学习

7.1 最大熵模型对偶函数的极大化

最大熵模型的学习过程就是求解最大熵模型的过程,最大模型的学习可以形式化为约束最优化问题
m a x p c H ( p ) = x , y P t ( x ) P ( y | x ) l o g P ( y | x )
s . t . E p ( f i ) = E p t ( f i ) , i = 1 , 2 , 3 , 4... , n
y P ( y | x ) = 1

按照最优化的习惯,将求最大值的问题改写为等价的求最小值问题
m i n p c H ( p ) = x , y P t ( x ) P ( y | x ) l o g P ( y | x )
s . t . E p ( f i ) = E p t ( f i ) , i = 1 , 2 , 3 , 4... , n
y P ( y | x ) = 1

在这里我们将约束最优化的原始问题转化为无约束的最优化的对偶问题(http://blog.csdn.net/robin_xu_shuai/article/details/52803645),通过求解对偶问题来求解原始问题.
(1)首先引入拉格朗日乘子w0,w1,…,wn。定义拉格朗日函数L(P,w).
L ( p , w ) = H ( p ) + w 0 ( 1 y P ( y | x ) ) + i = 1 w i ( E p t ( f i ) E p ( f i ) )
= x , y P t ( x ) P ( y | x ) l o g P ( y | x ) + w 0 ( 1 y P ( y | x ) ) + i = 1 w i ( E p t ( f i ) E p ( f i ) )

最优化的原始问题是:
m i n p c ) m a x w L ( P , W )

对偶问题是:
m a x w m i n p c L ( P , W )

(2)求解对偶问题内部的极小化问题,它是关于w的函数,将其记作:
P ( w ) = a r g m i n L ( P , W ) = D w ( y | x ) .
求L(P, w)对P(y|x)的偏导数:
δ L ( P , W ) δ L ( y | x ) = x , y P t ( x ) ( l o g P ( y | x ) + 1 ) i = 1 m w i | s u m x , y P t ( y | x ) f i ( x , y )

令偏导数为0,P(x)>0的情况下,解得:
p w ( y | x ) = e x p ( i = 1 m w i f i ( x , y ) ) y e x p ( i = 1 n w i f i ( x , y ) )
其中 f i ( x , y ) 为特征函数, w i 为特征的权值,P_w = P_w(y | x)就是最大熵模型,w是最大熵模型中的参数向量。

7.2 最大熵模型的极大似然估计

训练数据的经验概率分布Pt(x,y),条件概率分布P(Y|X)的对数似然函数表示为:
L p t ( P w ) = l o g p ( y | x ) p t ( x , y ) = P t ( x , y ) l o g P ( y | x )

(note:标准的对数似然函数 l o g P ( y | x ) ,但是在这里为了更好的反应出现x,y关于经验分布Pt(x,y)的分布特征,通过在每个概率上添加相应的指数运算来给出更多的关于经验分布的信息)

1)当P(y|x)是最大熵模型时,对数似然函数为:
这里写图片描述

2)当条件概率分布是P(y|x),再看对偶函数 ψ(w) = min L(P, w) = L(Pw , w)
这里写图片描述

于是证明了最大熵学习中的对偶函数的极大化等价于最大熵模型的极大似然估计.

8. 结束

最大熵模型和logistic回归模型有类似的形式,它们又称为对数线性模型模型学习就是在给定的训练数据条件下对模型进行极大似然估计。也就是说logistic回归模型和最大熵模型学习归结为以似然函数为目标函数的最优化问题,通常通过迭代算法求解。

猜你喜欢

转载自blog.csdn.net/jcsyl_mshot/article/details/80766259
今日推荐