逻辑斯谛回归模型
1. 逻辑斯谛分布
定义:设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列分布函数和密度函数:
F ( x ) = P ( X ≤ x ) = 1 1 + e ? ( x ? μ ) / γ f ( x ) = F ′ ( x ) = e ? ( x ? μ ) / γ γ ( 1 + e ? ( x ? μ ) / γ ) 2 F(x)=P(X\leq x)=\frac{1}{1+e^{-(x-\mu)/\gamma}} \\ f(x)=F'(x)=\frac{e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})^2} F(x)=P(X≤x)=1+e?(x?μ)/γ1?f(x)=F′(x)=γ(1+e?(x?μ)/γ)2e?(x?μ)/γ?
式中, μ \mu μ为位置参数, γ > 0 \gamma>0 γ>0为形状参数。
逻辑斯谛分布的密度函数 f ( x ) f(x) f(x)和分布函数 F ( x ) F(x) F(x)的图形如下图所示。分布函数属于逻辑斯谛函数,其图形是一条S形曲线(sigmoid curve)。该函数以点 ( μ , 1 2 ) (\mu,\frac{1}{2}) (μ,21?)为中心对称,即满足
F ( ? x + μ ) ? 1 2 = ? F ( x ? μ ) + 1 2 F(-x+\mu)-\frac{1}{2}=-F(x-\mu)+\frac{1}{2} F(?x+μ)?21?=?F(x?μ)+21?
曲线在中心附近增长速度较快,在两端增长速度较慢。形状参数 γ \gamma γ的值越小,曲线在中心附近增长得越快。
2. 二项逻辑斯谛回归模型
二项逻辑斯谛回归模型(binomial logistic regression model)是一种分类模型,由条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)表示,形式为参数化的逻辑斯谛分布。这里,随机变量X取值为实数,随机变量Y取值为1或0.这里通过监督学习的方法来估计模型参数。
定义:二项逻辑斯谛回归模型是如下的条件概率分布:
P ( Y = 1 ∣ x ) = e x p ( w ? x + b ) 1 + e x p ( w ? x + b ) ( 1 ) P ( Y = 0 ∣ x ) = 1 1 + e x p ( w ? x + b ) ( 2 ) P(Y=1|x)=\frac{exp(w·x+b)}{1+exp(w·x+b)} \quad (1)\\ P(Y=0|x)=\frac{1}{1+exp(w·x+b)} \quad(2) P(Y=1∣x)=1+exp(w?x+b)exp(w?x+b)?(1)P(Y=0∣x)=1+exp(w?x+b)1?(2)
这里, x ∈ R n x\in \bold R^n x∈Rn是输入, Y ∈ { 0 , 1 } Y\in \{0,1\} Y∈{
0,1}是输出, w ∈ R n w\in \bold R^n w∈Rn和 b ∈ R b\in \bold R b∈R是参数, w w w称为权值向量,b称为偏置, w ? x w·x w?x为w和x的内积。
对于给定的输入实例x,按照式(1)和式(2)可以求得 P ( Y = 1 ∣ x ) P(Y=1|x) P(Y=1∣x)和 P ( Y = 0 ∣ x ) P(Y=0|x) P(Y=0∣x)。逻辑斯谛回归比较两个条件概率值的大小,将实例x分到概率值较大的那一类。
有时为了方便,将权值向量和输入向量加以扩充,仍记作 w , x w,x w,x,即 w = ( w ( 1 ) , w ( 2 ) , ? ? ? , w ( n ) , b ) T , x = ( x ( 1 ) , x ( 2 ) , ? ? ? , x ( n ) , 1 ) T w=(w^{(1)},w^{(2)},···,w^{(n)},b)^T, \quad x=(x^{(1)},x^{(2)},···,x^{(n)},1)^T w=(w(1),w(2),???,w(n),b)T,x=(x(1),x(2),???,x(n),1)T。这时,逻辑斯谛回归模型如下:
P ( Y = 1 ∣ x ) = e x p ( w ? x ) 1 + e x p ( w ? x ) ( 3 ) P ( Y = 0 ∣ x ) = 1 1 + e x p ( w ? x ) ( 4 ) P(Y=1|x)=\frac{exp(w·x)}{1+exp(w·x)} \quad (3)\\ P(Y=0|x)=\frac{1}{1+exp(w·x)} \quad(4) P(Y=1∣x)=1+exp(w?x)exp(w?x)?(3)P(Y=0∣x)=1+exp(w?x)1?(4)
查逻辑斯谛回归模型的特点:一个事件的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值。如果事件发生的概率是p,那么该事件发生的几率是 p 1 ? p \frac{p}{1-p} 1?pp?,该事件的对数几率(log odds)或logit函数是
l o g i t ( p ) = l o g p 1 ? p logit(p)=log\frac{p}{1-p} logit(p)=log1?pp?
对逻辑斯谛回归而言,由式(3)与式(4)得
l o g P ( Y = 1 ∣ x ) 1 ? P ( Y = 1 ∣ x ) = w ? x log\frac{P(Y=1|x)}{1-P(Y=1|x)}=w·x log1?P(Y=1∣x)P(Y=1∣x)?=w?x
这就是说,在逻辑斯谛回归模型中,输出Y=1的对象几率是输入x的线性函数。或者说,输出 Y = 1 Y=1 Y=1的对数几率是由输入x的线性函数表示的模型,即逻辑斯谛回归模型。
换一个角度看,考虑对输入x进行分类的线性函数 w ? x w·x w?x,其值域为实数域。注意,这里 x ∈ R n + 1 , w ∈ R n + 1 x\in \bold R^{n+1},w\in \bold R^{n+1} x∈Rn+1,w∈Rn+1。通过逻辑斯谛回归模型定义式(3)可以将线性函数 w ? x w·x w?x转换为概率:
P ( Y = 1 ∣ x ) = e x p ( w ? x ) 1 + e x p ( w ? x ) P(Y=1|x)=\frac{exp(w·x)}{1+exp(w·x)} P(Y=1∣x)=1+exp(w?x)exp(w?x)?
这时,线性函数的值越接近正无穷,概率值就越接近1;线性函数的值越接近负无穷,概率值就越接近0.这样的模型就是逻辑斯谛回归模型。
3. 模型参数估计
逻辑斯谛回归模型学习时,对于给定的训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ? ? ? , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),···,(x_N,y_N)\} T={ (x1?,y1?),(x2?,y2?),???,(xN?,yN?)},其中, x i ∈ R n , y i ∈ { 0 , 1 } x_i\in \bold R^n,y_i\in\{0,1\} xi?∈Rn,yi?∈{ 0,1},可以应用极大似然估计法估计模型参数,从而得到逻辑斯谛回归模型。
设: P ( Y = 1 ∣ x ) = π ( x ) , P ( Y = 0 ∣ x ) = 1 ? π ( x ) P(Y=1|x)=\pi (x),P(Y=0|x)=1-\pi(x) P(Y=1∣x)=π(x),P(Y=0∣x)=1?π(x)
似然函数为
∏ i = 1 N [ π ( x i ) ] y i [ 1 ? π ( x i ) ] 1 ? y i \prod_{i=1}^N[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i} i=1∏N?[π(xi?)]yi?[1?π(xi?)]1?yi?
对数似然函数为
L ( w ) = ∑ i = 1 N [ y i l o g π ( x i ) + ( 1 ? y i ) l o g ( 1 ? π ( x i ) ) ] = ∑ i = 1 N [ y i l o g π ( x i ) 1 ? π ( x i ) + l o g ( 1 ? π ( x i ) ) ] = ∑ i = 1 N [ y i ( w ? x i ) ? l o g ( 1 + e x p ( w ? x i ) ) ] L(w)=\sum_{i=1}^N[y_ilog\pi(x_i)+(1-y_i)log(1-\pi(x_i))] \\ =\sum_{i=1}^N[y_ilog\frac{\pi(x_i)}{1-\pi(x_i)}+log(1-\pi(x_i))] \\ =\sum_{i=1}^N[y_i(w·x_i)-log(1+exp(w·x_i))] L(w)=i=1∑N?[yi?logπ(xi?)+(1?yi?)log(1?π(xi?))]=i=1∑N?[yi?log1?π(xi?)π(xi?)?+log(1?π(xi?))]=i=1∑N?[yi?(w?xi?)?log(1+exp(w?xi?))]
对 L ( w ) L(w) L(w)求极大值,得到w的估计值。
这样,问题就变成了以对数似然函数为目标函数的最优化问题。逻辑斯谛回归学习中通常采用的方法是梯度下降法即拟牛顿法。
假设w的极大似然估计值时 w ^ \hat w w^,那么学到的逻辑斯谛回归模型为
P ( Y = 1 ∣ x ) = e x p ( w ^ ? x ) 1 + e x p ( w ^ ? x ) P ( Y = 0 ∣ x ) = 1 1 + e x p ( w ^ ? x ) P(Y=1|x)=\frac{exp(\hat w·x)}{1+exp(\hat w·x)} \\ P(Y=0|x)=\frac{1}{1+exp(\hat w·x)} P(Y=1∣x)=1+exp(w^?x)exp(w^?x)?P(Y=0∣x)=1+exp(w^?x)1?
4. 多项逻辑斯谛回归
上面介绍的逻辑斯谛回归模型是二项分类模型,用于二类分类。可以将其推广为多项逻辑回归模型(multi-nomial logistic regression model),用于多类分类。假设离散型随机变量Y的取值集合是 { 1 , 2 , ? ? ? , K } \{1,2,···,K\} {
1,2,???,K},那么多项逻辑斯谛回归模型是
P ( Y = k ∣ x ) = e x p ( w k ? x ) 1 + ∑ k = 1 K ? 1 e x p ( w k ? x ) , k = 1 , 2 , ? ? ? , K ? 1 P ( Y = K ∣ x ) = 1 1 + ∑ k = 1 K ? 1 e x p ( w k ? x ) P(Y=k|x)=\frac{exp(w_k·x)}{1+\sum_{k=1}^{K-1}exp(w_k·x)},\quad k=1,2,···,K-1 \\ P(Y=K|x)=\frac{1}{1+\sum_{k=1}^{K-1}exp(w_k·x)} P(Y=k∣x)=1+∑k=1K?1?exp(wk??x)exp(wk??x)?,k=1,2,???,K?1P(Y=K∣x)=1+∑k=1K?1?exp(wk??x)1?
这里, x ∈ R n + 1 , w k ∈ R n + 1 x\in \bold R^{n+1},w_k\in \bold R^{n+1} x∈Rn+1,wk?∈Rn+1。
二项逻辑斯谛回归的参数估计法也可以推广到多项逻辑斯谛回归。