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


 

逻辑斯谛回归模型与最大熵模型都属于对数线性模型。

 

逻辑斯谛回归模型


 

逻辑斯谛分布

设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列分布函数和密度函数:

                              

LGB模型中num_leaves的含义_最优化

                              

LGB模型中num_leaves的含义_最大熵模型_02

式中,µ 为位置参数,γ>0为形状参数。该曲线以点 (µ,0.5)为中心对称。形状参数γ的值越小,曲线在中心附近增长得越快。 

二项逻辑斯谛回归模型 

二项逻辑斯谛回归模型(binomial logistic regression model)是一种分类模型,由条件概率分布P(Y|X)表示,随机变量X取值为实数,随机变量Y取值为1或0。

二项逻辑斯谛回归模型是如下的条件概率分布:

 

LGB模型中num_leaves的含义_最优化_03

w称为权值向量,b称为偏置,

有时为了方便,将权值向量和输入向量加以扩充,仍记作w,x,即w =(w(1),w(2),…,w(n),b)T,x =(x(1),x(2),…,x(n),1)这时,逻辑斯谛回归模型如下:

 

LGB模型中num_leaves的含义_最优化_04

 

可以将线性函数w·x转换为概率:这时,线性函数的值越接近正无穷,概率值就越接近1;线性函数的值越接近负无穷,概率值就越接近0。这样的模型就是逻辑斯谛回归模型。 

一个事件的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值。对二项逻辑斯谛回归而言:

LGB模型中num_leaves的含义_似然函数_05

这就是说,在逻辑斯谛回归模型中,输出Y=1的对数几率是输入x的线性函数。

 

模型参数估计

可以应用极大似然估计法估计模型参数

设 

LGB模型中num_leaves的含义_似然函数_06

, 则似然函数为  

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_07

对数似然函数为

LGB模型中num_leaves的含义_最大熵模型_08

 

 

对L(w)求极大值,得到w的估计值。这样,问题就变成了以对数似然函数为目标函数的最优化问题。逻辑斯谛回归学习中通常采用的方法是梯度下降法及拟牛顿法。

多项逻辑斯谛回归 

假设离散型随机变量Y的取值集合是{1,2,…,K},那么多项逻辑斯谛回归模型是 

 

LGB模型中num_leaves的含义_最大熵模型_09

二项逻辑斯谛回归的参数估计法也可以推广到多项逻辑斯谛回归。

 

最大熵模型


最大熵原理

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

熵满足不等式:  

LGB模型中num_leaves的含义_最大熵模型_10

式中,|X|是X的取值个数,当且仅当X的分布是均匀分布时右边的等号成立。这就是说,当X服从均匀分布时,熵最大。 

直观地,最大熵原理认为要选择的概率模型首先必须满足已有的事实,即约束条件。在没有更多信息的情况下,那些不确定的部分都是“等可能的”。最大熵原理通过熵的最大化来表示等可能性(“等可能”不容易操作,而熵则是一个可优化的数值指标)

下图是用最大熵原理进行概率模型选择的几何解释。概率模型集合P可由左图的三角形表示。一个点代表一个模型,整三角形代表模型集合。右图上的一条直线对应于一个约束条件,直线的交集对应于满足所有约束条件的模型集合。一般地,这样的模型仍有无穷多个。学习的目的是在可能的模型集合中选择最优模型,而最大熵原理则给出最优模型选择的一个准则。

 

LGB模型中num_leaves的含义_最优化_11

 

最大熵模型的定义 

给定训练数据集,可以确定联合分布P(X,Y)的经验分布和边缘分布P(X)的经验分布

 

LGB模型中num_leaves的含义_最大熵模型_12

 

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

用特征函数(feature function)f(X,Y)描述输入x和输出y之间的某一个事实。其定义是

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_13

 

特征函数f(X,Y)关于经验分布的期望值  

LGB模型中num_leaves的含义_似然函数_14

   ,关于模型P(Y|X)与经验分布的期望值  

LGB模型中num_leaves的含义_最大熵模型_15

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

LGB模型中num_leaves的含义_最大熵模型_16

最大熵模型: 假设满足所有约束条件(上述两期望值相等),定义在条件概率分布P(Y|X)上的条件熵为

LGB模型中num_leaves的含义_最优化_17

则模型集合中条件熵 H(P)最大的模型称为最大熵模型。

 

最大熵模型的学习

 

最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。最优化问题的习惯一般是求解最小值:

LGB模型中num_leaves的含义_最大熵模型_18

这里,将约束最优化的原始问题转换为无约束最优化的对偶问题。通过求解对偶问题求解原始问题。具体参考拉格朗日对偶性

首先,引进拉格朗日乘子w0,w1,w2,…,wn,定义拉格朗日函数 L(P,w):

LGB模型中num_leaves的含义_似然函数_19

 

最优化的原始问题是  

LGB模型中num_leaves的含义_似然函数_20

  ,对偶问题是  

LGB模型中num_leaves的含义_最大熵模型_21

由于拉格朗日函数L(P,w)是P的凸函数,原始问题的解与对偶问题的解是等价的。这样,可以通过求解对偶问题来求解原始问题。

首先,求解对偶问题内部的极小化问题  

LGB模型中num_leaves的含义_似然函数_22

 ,是w的函数,记作

LGB模型中num_leaves的含义_似然函数_23

将其

LGB模型中num_leaves的含义_似然函数_24

具体地,求L(P,w)对P(Y|X)的偏导数 

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_25

令偏导数等于0,在

LGB模型中num_leaves的含义_似然函数_26

(x)>0的情况下,解得 

LGB模型中num_leaves的含义_似然函数_27

 

 

又因为

LGB模型中num_leaves的含义_似然函数_28

(注意只和上式分子有关,下面式子分母单纯是利用该条件凑的)可令

LGB模型中num_leaves的含义_最优化_29

其中,

LGB模型中num_leaves的含义_最大熵模型_30

 

 

Zw(x)称为规范化因子;fi(X,Y)是特征函数;wi是特征的权值。上式表示的模型Pw=Pw(Y|X)就是最大熵模型。这里,w是最大熵模型中的参数向量。同时也可得出 Zw(x) = e(1-w0)

之后,求解对偶问题外部的极大化问题 

LGB模型中num_leaves的含义_最大熵模型_31

,将其解记为w*,即 

LGB模型中num_leaves的含义_似然函数_32

 。

 

这就是说,可以应用最优化算法求对偶函数极大化,得到 w*。这里,P*=Pw*=Pw*(Y|X)表示的条件概率分布是最优模型(最大熵模型)。也就是说,最大熵模型的学习归结为对偶函数的极大化。

对照课本例题很容易理解。

 

极大似然估计

下面证明对偶函数的极大化等价于最大熵模型的极大似然估计。 

已知训练数据的经验概率分布

LGB模型中num_leaves的含义_最优化_33

(X,Y),条件概率分布P(Y|X)的对数似然函数表示为 

LGB模型中num_leaves的含义_最大熵模型_34

当条件概率分布P(Y|X)是最大熵模型

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_35

时,对数似然函数为

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_36

 

此时,对偶函数

LGB模型中num_leaves的含义_最大熵模型_37

LGB模型中num_leaves的含义_最优化_38

 

可得 

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_39

 ,所以最大熵模型的学习问题就转换为具体求解对数似然函数极大化或对偶函数极大化的问题。 

上面可知最大熵模型的形式为

LGB模型中num_leaves的含义_最优化_29

最大熵模型与逻辑斯谛回归模型有类似的形式,它们又称为对数线性模型(log linearmodel)。

 

模型学习的最优化算法  


 

逻辑斯谛回归模型、最大熵模型学习归结为以似然函数为目标函数的最优化问题,通常通过迭代算法求解。从最优化的观点看,这时的目标函数是光滑的凸函数,多种最优化方法都可以保证能找到全局最优解。常用的方法有改进的迭代尺度法、梯度下降法、牛顿法或拟牛顿法。牛顿法或拟牛顿法一般收敛速度更快。

 

改进的迭代尺度法

改进的迭代尺度法(improved iterative scaling,IIS)是一种最大熵模型学习的最优化算法。

已知最大熵模型为

 

LGB模型中num_leaves的含义_似然函数_41

其中

LGB模型中num_leaves的含义_最优化_42

 

对数似然函数为

 

LGB模型中num_leaves的含义_似然函数_43

对于给定的经验分布

LGB模型中num_leaves的含义_似然函数_44

(X,Y),模型参数从 w 到 w +δ ,对数似然函数的改变量是 

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_45

LGB模型中num_leaves的含义_最优化_46

因此有

LGB模型中num_leaves的含义_最大熵模型_47

将右端记为

LGB模型中num_leaves的含义_似然函数_48

于是可以得到

LGB模型中num_leaves的含义_最优化_49

如果能找到适当的δ使下界A(δ|w)提高,那么对数似然函数也会提高。然而,δ是一个向量,含有多个变量,不易同时优化。IIS试图一次只优化其中一个变量δi,而固定其他变量δj,i≠j。 

为达到这一目的,IIS进一步降低下界A(δ|w)。具体地,IIS引进一个量f#(X,Y), 

LGB模型中num_leaves的含义_似然函数_50

 。

因为fi是二值函数,故f#(x,y)表示所有特征在(X,Y)出现的次数。这样,A(δ|w)可以改写为

LGB模型中num_leaves的含义_最优化_51

利用指数函数的凸性以及对任意i,有 

LGB模型中num_leaves的含义_最优化_52

 这一事实,根据Jensen不等式,得到 

LGB模型中num_leaves的含义_最优化_53

 

当凸函数是指数函数时,Jensen不等式在统计学中有 

LGB模型中num_leaves的含义_最大熵模型_54

 。令 

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_55

 ,则有 

LGB模型中num_leaves的含义_似然函数_56

 ,也就是上述不等式。

于是,有

LGB模型中num_leaves的含义_似然函数_57

 

不等式右边记为

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_58

于是得到  

LGB模型中num_leaves的含义_最优化_59

 。

 

这里,B(δ|w)是对数似然函数改变量的一个新的(相对不紧的)下界。求 B(δ|w)对δi的偏导数:

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_60

令偏导数为0,可得

LGB模型中num_leaves的含义_最大熵模型_61

 

如果f#(X,Y)是常数,即对任何x,y,有f#(X,Y)=M,那么δi可以显式地表示成 

LGB模型中num_leaves的含义_最优化_62

 。

如果不是常数,那么必须通过数值计算求δi。简单有效的方法是牛顿法。以 g(δi)=0表示上述等式,牛顿法通过迭代求得LGB模型中num_leaves的含义_似然函数_63,使得g(LGB模型中num_leaves的含义_最大熵模型_64)=0。迭代公式是 

LGB模型中num_leaves的含义_似然函数_65

只要适当选取初始值

LGB模型中num_leaves的含义_最大熵模型_66

由于等式方程有单根,因此牛顿法恒收敛,而且收敛速度很快。 

于是,δi可以依次求解得到 。

这就给出了一种求 w 的最优解的迭代算法,即改进的迭代尺度算法IIS。

 

拟牛顿法

对于最大熵模型而言, 

LGB模型中num_leaves的含义_最大熵模型_67

目标函数(前面要求的是最大似然函数,而这里要求是 min,所以需要将似然函数添加一个负号): 

LGB模型中num_leaves的含义_似然函数_68

梯度:

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_69

其中

LGB模型中num_leaves的含义_LGB模型中num_leaves的含义_70

 

部分推导参考