多分类逻辑回归与softmax回归

多分类logistic回归与softmax回归的区别

    • 二分类logistic回归及其优化算法
    • 多分类logistic回归
    • softmax回归
    • R软件求解

二分类logistic回归及其优化算法

y y y是0-1型变量, x 1 x_1 x1 x 2 x_2 x2 … \dots x p x_p xp是与 y y y相关的确定性变量, n n n组观测数据为( x i 1 , x i 2 , … , x i p ; y i x_{i1},x_{i2},\dots,x_{ip};y_i xi1,xi2,,xip;yi),其中, y i y_i yi的取值是0或者1的随机变量,则 y i y_i yi的条件概率为:
p ( y = 1 ∣ X ) = e x p ( β X ) 1 + e x p ( β X ) p ( y = 0 ∣ X ) = 1 1 + e x p ( β X ) p(y=1|X)=\frac{exp(\beta X)}{1+exp(\beta X)} \\ p(y=0|X)=\frac{1}{1+exp(\beta X)} p(y=1X)=1+exp(βX)exp(βX)p(y=0X)=1+exp(βX)1

ln ⁡ p ( y = 1 ∣ X ) 1 − p ( y = 1 ∣ X ) = β X \ln{\frac{p(y=1|X)}{1-p(y=1|X)}}=\beta X ln1p(y=1X)p(y=1X)=βX
y i y_i yi服从均值为 π i = e x p ( β X ) 1 + e x p ( β X ) \pi_i=\frac{exp(\beta X)}{1+exp(\beta X)} πi=1+exp(βX)exp(βX)的0-1分布,概率函数为:
p ( y i = 1 ) = π i p ( y i = 0 ) = 1 − π i p(y_i=1)=\pi_i \\ p(y_i=0)=1-\pi_i p(yi=1)=πip(yi=0)=1πi
所以, y i y_i yi的概率函数可以写成:
p ( y i ) = π i y i ( 1 − π i ) 1 − y i p(y_i)=\pi_{i}^{y_i}(1-\pi_{i})^{1-y_i} p(yi)=πiyi(1πi)1yi
于是, y 1 , y 2 , … , y n y_1,y_2,\dots,y_n y1,y2,,yn的似然函数为:
L = ∏ i = 1 n p ( y i ) = ∏ i = 1 n π i y i ( 1 − π i ) 1 − y i L=\prod_{i=1}^{n}p(y_i)=\prod_{i=1}^{n}\pi_{i}^{y_i}(1-\pi_{i})^{1-y_i} L=i=1np(yi)=i=1nπiyi(1πi)1yi
似然函数取对数之后,化简可得到:
ln ⁡ L = ∑ i = 1 n { y i ( β 0 + β 1 x i 1 + ⋯ + β p x i p ) − ln ⁡ [ 1 + exp ⁡ ( β 0 + β 1 x i 1 + ⋯ + β p x i p ) ] } \ln L=\sum_{i=1}^{n}\{y_i(\beta_0+\beta_1x_{i1}+\dots+\beta_px_{ip})-\ln [1+\exp(\beta_0+\beta_1x_{i1}+\dots+\beta_px_{ip})]\} lnL=i=1n{yi(β0+β1xi1++βpxip)ln[1+exp(β0+β1xi1++βpxip)]}
使上式达到极大的 β i \beta_i βi的估计值 β i ^ \hat{\beta_i} βi^就是所求的解,可以利用梯度下降法或者拟牛顿法求解上诉优化问题,建议使用拟牛顿法,作者实践过,梯度下降法需要迭代的次数远大于拟牛顿法。

ln ⁡ L \ln L lnL的梯度为:
X T ( y − β ^ ) \bm{X^T(y-\hat{\beta})} XT(yβ^)
然后利用梯度下降或者拟牛顿法求解即可。

多分类logistic回归

多分类logistic回归可以看作多个独立的二元logistic回归的集合。将第k个类别看作主类别。有:
ln ⁡ p ( y = 1 ∣ X ) p ( y = k ∣ X ) = β 1 X ln ⁡ p ( y = 2 ∣ X ) p ( y = k ∣ X ) = β 2 X … ln ⁡ p ( y = k − 1 ∣ X ) p ( y = k ∣ X ) = β k − 1 X \ln \frac{p(y=1|X)}{p(y=k|X)}=\beta_1X \\ \ln \frac{p(y=2|X)}{p(y=k|X)}=\beta_2X\\ \dots \\ \ln \frac{p(y=k-1|X)}{p(y=k|X)}=\beta_{k-1}X lnp(y=kX)p(y=1X)=β1Xlnp(y=kX)p(y=2X)=β2Xlnp(y=kX)p(y=k1X)=βk1X

p ( y = 1 ∣ X ) = p ( y = k ) exp ⁡ ( β 1 X ) p ( y = 2 ∣ X ) = p ( y = k ) exp ⁡ ( β 2 X ) … p ( y = k − 1 ∣ X ) = p ( y = k ) exp ⁡ ( β k − 1 X ) p(y=1|X)=p(y=k)\exp(\beta_1X)\\ p(y=2|X)=p(y=k)\exp(\beta_2X)\\ \dots\\ p(y=k-1|X)=p(y=k)\exp(\beta_{k-1}X) p(y=1X)=p(y=k)exp(β1X)p(y=2X)=p(y=k)exp(β2X)p(y=k1X)=p(y=k)exp(βk1X)
因为k个概率的和必须为1,所以:
p ( y = k ∣ X ) = 1 − ∑ k = 1 K p ( y = k ∣ X ) exp ⁡ ( β k X ) p(y=k|X)=1-\sum_{k=1}^{K}p(y=k|X)\exp(\beta_kX) p(y=kX)=1k=1Kp(y=kX)exp(βkX)

p ( y = k ∣ X ) = 1 1 + ∑ k = 1 K − 1 exp ⁡ β k X p(y=k|X)=\frac{1}{1+\sum_{k=1}^{K-1}\exp{\beta_kX}} p(y=kX)=1+k=1K1expβkX1
上式就是多分类logistic回归的概率函数,接下来求其似然函数然后再用梯度下降或者拟牛顿法求解,与二元logistic的过程类似。

softmax回归

softmax回归,可以将其看成扩展的二元logistic回归。

p ( y = c ) = exp ⁡ ( β c X ) ∑ k = 1 K exp ⁡ ( β k X ) p(y=c)=\frac{\exp(\beta_cX)}{\sum_{k=1}^{K}\exp(\beta_kX)} p(y=c)=k=1Kexp(βkX)exp(βcX)
似然函数与求解最优化问题的方法也类似。

R软件求解

R中stas包中的glm函数可以求解二元或者多分类logistic回归,MASS包中的loglm1函数可以求解softmax回归。

你可能感兴趣的:(R)