逻辑回归(Logistic Regression)是回归分析的一种。逻辑回归可以自然地处理多类别的问题。样本只有两个类别 的逻辑回归问题经常被称为二项 逻辑回归(Binomial Logistic Regression)。有多个类别(大于等于3个类别)的逻辑回归问题则通常被称为 多项逻辑回归(Multinomial Logistic Regression)或多分类逻辑回归。 逻辑回归的宗旨是以线性分割面分割各类别,同时,对任意给定样本,保持该样本对各类别的事后概率之和为1。
逻辑回归依从贝叶斯法则,即它对样本的分类是看样本对哪个类别的事后概率最大:
因此类别i和j的分界面是如下方程决定的:
将上式的两边相除并取对数,就得到:
设问题的维度为m,即每一样本是一m维的向量:
![]() |
(1) |
由于我们要求类别之间的分割面为线性的,我们可以设:
假设我们要处理的问题有K个类别,则逻辑回归的模型满足如下条件:
![]() |
(2) |
上式中wi为m维向量,即:
很明显,式(2)确保了前K-1个类别和第K个类别之间的分割面为线性分割面。如果在前K-1个类别中任选两个,假设为i和j,由以上条件 中的第i个和第j个相减可得
由此可见,第i和第j类别的分界面亦为线性分界面。因此式(2)确保了任意两个类别之间的分界面为线性分界面。 虽然该模型中以最后一个类别的事后概率做为除数而以其他类别的事后概率作为被除数, 但是实际上任意一个类别都可以被选做除数,而且所的解是相同的。
由式(2)可以推出
![]() |
(3) |
很明显,对任意给定样本,它属于各类别的事后概率之和为1。式(2)中共有(K-1)(m-1)个参数需要求解。
如果类别的个数为2,即K=2,则式(2)中仅有一组系数需要求解,即(w10, w1)。 以下我们重点讲述这一类问题。 为方便表达,我们设
对任意给定w,我们得到给定 N个样本的log-likelihood为:
![]() |
(4) |
由于只有两个类别,我们以yi=1和yi=0分别置换
gi=1和gi=2。设,则
由于yi等于0或1,yi和1-yi中有且仅有一个为0,所以
综合上式和式(4)可得:
![]() |
(5) |
为表述方便,我们将式(1)稍作修改,在它前面加一个常数项1,即:
则式(3)可简化成
![]() |
(6) |
式(5)也进一不简化成
![]() |
(7) |
为了使log-likelihood最大化,我们使上式的偏导数为0:
上式可用矩阵的形式表达:
![]() |
(8) |
上式中0代表一个m+1维全0向量。式(8)是一组维度为m+1(即未知数个数为m+1)的非线性方程组。该方程组可以用牛顿迭代求解。牛顿迭代需要用到式(7)的Hessian矩阵(二阶导数矩阵):
牛顿迭代的公司为
![]() |
(9) |
上式中一阶偏导和Hessian矩阵都是在旧值处计算的。 若设y为由所有yi组成的N维列向量,p为由所有p(xi;wold)组成的N维列向量, 设X为由所有样本向量叠成的N乘(m+1)的矩阵(每一行为一个包含常数项1的样本),并设D为N乘N的对角矩阵,它的第i个对角元素为
则式(7)的一阶偏导数和Hessian矩阵可分别表示为
式(9)也具体化成
![]() |
(10) |
二项逻辑回归的参数w就是通过上式进行迭代求解的。通常w的初始值可以选为全0。由于牛顿迭代是二次收敛,因此通常收敛非常快。 多项逻辑回归的推导过程和二项逻辑回归的 推导过程比较相似,有兴趣的读者可以自行推导。