本文是李航老师《统计学习方法》第六章的笔记,欢迎大佬巨佬们交流。
主要参考博客:
http://www.cnblogs.com/YongSun/p/4767100.html
https://blog.csdn.net/tina_ttl/article/details/53519391
https://blog.csdn.net/tina_ttl/article/details/53542004
主要内容包括:
1. 逻辑斯谛回归模型
2. 最大熵模型
3. 模型学习的最优化算法
逻辑斯谛回归(logistic regression)是统计学习中的经典分类方法。最大熵是概率模型学习的一个准则将其推广到分类问题得到最大熵模型(maximum entropy model)。逻辑回归模型与最大熵模型都属于对数线性模型。
1. 逻辑斯谛回归模型
(1)logistic分布
设X是连续随机变量,X服从logistic分布是指X具有下列分布函数和密度函数:
式中,u为位置参数,r>0为形状参数。
logistic分布的密度函数f(x)和分布函数F(x)的图形如下图所示。分布函数属于logistic函数,其图形是一条S形曲线(sigmoid curve)。该曲线以点(u, 1/2)为中心对称,即满足:
对于密度函数,曲线在中心附近增长速度较快,在两端增长速度较慢,形状参数γ的值越小,曲线在中心附近增长得越快,也就是越陡。
(2)二项logistic回归模型
二项logistic回归模型是一种分类模型,用于二类分类。由条件概率分布P(Y|X)表示,形式为参数化的逻辑分布。这里,随机变量X取值为实数,随机变量Y取值为1或0。通过监督学习的方法来估计模型参数。
二项逻辑回归模型是如下的条件概率分布:
w称为权值向量,b称为偏置,w·x为w和x的内积。
将权值向量和输入向量加以扩充为 w=(w(1),w(2),...,w(n), b), x =(x(1),x(2),...,x(n),1)T(转置),logistic回归模型如下:
注1:P(Y=1|x)+P(Y=0|x)=1
注2:上面的二项logistic回归模型其实就是一个二项分布的形式,即一次试验的结果要么为1、要么为0,其中,结果为1的概率利用logistic分布给出
一个事件的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值,如果事件发生的概率是p,那么该事件的对数几率(log odds)或logit函数是:
对logistic回归而言,(带入上述logistic公式可以推出)
这就是说,在logistic回归模型中,输出Y=1的对数几率是由输入x的线性函数表示的模型。换个角度看,可以将线性函数w·x转换为概率:,这时,线性函数的值越接近正无穷,概率值越接近1,线性函数的值越接近负无穷,概率越接近0,也呼应了上图的logistic分布函数。
(3)模型参数估计
可以应用极大似然估计法估计模型参数,设:
则,似然函数为:
对数似然函数为:
随后,对L(w)求极大值,得到w的估计值,这样,问题就变成了以对数似然函数为目标函数的最优化问题。逻辑回归学习中通常采用梯度下降法及拟牛顿法。
假设w的极大似然估计值为,那么学到的logistic回归为:
这是直接把w的估计值带入逻辑回归的定义式得到的模型,上述求似然函数的极大值主要为了估计w。
(4)多项logistic回归
多项logistic回归模型(multi-nominal logistic regression model),用于多类分类,模型如下:
二项逻辑回归的参数估计法也可以推广到多项逻辑回归。
用表格来比较二项与多项logistic回归如下所示:
2. 最大熵模型
(1)最大熵原理
最大熵原理认为:在所有可能的概率模型中,熵最大的模型为最好的概率模型。
假设离散变量X的概率分布是P(X),则其熵为:
(关于熵的具体解释可参见博客:https://blog.csdn.net/zl3090/article/details/83006572 中特征选择部分)
熵满足下列不等式:
式中,|x|是X的取值个数,当且仅当X是均匀分布的时候,右边等号成立,也就是当X服从均匀分布时,熵最大。
详细证明请见博客:https://blog.csdn.net/acdreamers/article/details/41413445
用一个例子来理解:
最大熵模型的几何意义:
(2)最大熵模型(模型)
给定训练数据集,可以确定联合分布P(X,Y)的经验分布和边缘分布P(X)的经验分布,
其中,v(X=x,Y=y)表示训练数据中样本(x,y)出现的频数,v(X = x)表示训练数据中输入x出现的频数,N表示训练样本容量。
用特征函数(feature function) f(x,y)描述输入x和输出Y之间的某一个事实。其定义是
特征函数f(x,y)关于经验分布P~(X,Y)的期望值,用EP~(f)表示:
特征函数f(x,y)关于模型P(Y|X)与经验分布P~(X)的期望值,用EP(f)表示:
如果模型能够获取训练数据中的信息,就可以假设上述两个期望值相等,则约束条件为:
或:
上述过程可以总结如下:由于最大熵原理认为熵最大模型最好,而分布约接近均匀分布熵越大,因此我们要的约束应该是使分布接近于均匀分布的,因此可以将上述两个期望相等(自己的理解),流程如下图所示:
最大熵模型:假设满足所有约束条件的模型集合为:,定义在条件概率分布P(Y|X)上的条件熵为
则模型集合C中条件熵H(P)最大的模型称为最大熵模型。
至此,最大熵模型总结如下:
可见,其实最大熵模型就是一个有约束的优化问题
(3)最大熵模型的学习(策略与算法)
最大熵模型的学习过程就是求解最大熵模型的过程,可以形式化为约束最优化问题:
按照(2)中总结所述,最大熵模型的最优化等价于下式的约束最优化问题:
将约束最优化的原始问题转换为无约束最优化的对偶问题,通过求解对偶问题求原解始问题:
引进拉格朗日乘子w0,w1,...wn,定义拉格朗日函数L(P,w):
优化的原始问题是:
对偶问题是:
由于这里的Lagrange函数是凸函数,所以原问题和对偶问题的最优解相同,接下来只需要求解对偶问题的最优解就可以:
简单理解,拉格朗日函数就是把约束条件的乘子作为目标函数的一项,这样可以使目标函数取得最优值时也能满足约束条件, 对拉格朗日求解最优化问题原理的理解详见博客:https://www.cnblogs.com/sddai/p/5728195.html
需要注意的是,此处需要对P(y|x)求导,因为从条件熵的定义可以看出,条件概率P(y|x)是自变量。
上述过程图解为:
用例子解释上述过程:
(4)极大似然估计(等价形式)
从(3)中模型的求解可以看书,最大熵模型是所表示的条件概率分布,下面研究它的等价形式,即对偶函数的极大化等价于最大熵模型的极大似然估计。
已知数据的经验概率分布为,条件概率分布P(Y|X)的对数似然函数是:
,
当条件概率分布P(y|x)是最大熵模型时,对数似然函数变为:
再看对偶函数:
比较上述两式,得:
因此,有对偶函数等价于对数似然函数,也就是说最大熵模型的学习问题可以转化为具体求解对数似然函数极大化或对偶函数极大化问题。
可以将最大熵模型写成更一般的公式:
其中,
3. 模型学习的最优化算法
logistic回归模型、最大熵模型学习归纳为以似然函数为目标函数的优化问题,通常采用迭代法求解,常用的方法有改进的迭代尺度法、梯度下降法、牛顿法或者拟牛顿法。
(1)改进的迭代尺度法
改进的迭代尺度法(IIS)是一种最大熵模型学习的最优化算法,它的想法是假设最大熵模型当前的参数向量是w=(w1, ..., wn)T,希望找到一个新的参数向量w + sigmal =(w1+sigmal1, ..., wn+sigmaln)T,使得模型的对数似然函数值增大。如果能有这样一种参数向量更新的方法:w-->w + sigma,那么就可以重复使用这一方法,直至找到对数似然函数的最大值。
对于给定的经验分布,模型参数从w到w+sigma,对数似然函数的改变量是:
利用不等式:
建立对数似然函数改变量的下界:
将右端记为
则有,
即A(δ|w)是对数似然函数的一个下界,若能找到适当的δ使下界提高,则对数似然函数也会同时提高,然而A(δ|w)中的δ是一个向量,有多个变量,不易同时优化,IIS试图一次只优化一个变量,而固定其他变量,IIS算法流程如下:
(2)拟牛顿法
最大熵模型的学习还可以用牛顿法或者拟牛顿法,对于最大熵模型而言:
目标函数为:,
梯度为:,其中
相应的拟牛顿算法(BFGS)流程如下:
最后,关于logistic回归与最大熵模型的区别还有待进一步理解,先大致参见这一博客: