ch3 统计分类问题详解

分类问题由来已久,和回归问题一样经典,但它本身和回归相比又有什么特别之处呢?显然,对于一般的分类而言,其分类的可能性是有限的,同时,对于结果的输出我们也不再希望它是一个拟合函数或者预测值,而是它对于每种分类的可能性。
假设我们对于Linear Regression有一点点基础,知道本质是求解
arg min ⁡ β ∣ y − y ^ ∣ 2 2 = arg min ⁡ β ∣ y − x β ∣ 2 2 \argmin_{\beta}|y-\hat{y}|_2^2= \argmin_{\beta}|y-x\beta|_2^2 βargminyy^22=βargminyxβ22
并且他的解有一种非常优美的表达形式:
β = ( X T X ) − 1 X T y \beta = (X^TX)^{-1}X^Ty β=(XTX)1XTy

那为什么这个东西解决不了分类问题?答案是显而易见的,他能够输出的值只能是 β x \beta x βx这个数值,不能对应到生活中的类别或者概率,那该怎么映射过去呢?我们从一个binary的case看起:

1. Logistic Regression

1.1 问题由来和定义

直接对y=0/1的数据做linear regression的结果如下:
在这里插入图片描述

所以考虑 P ( y = 1 ∣ x ) = x β P(y=1|x)=x\beta P(y=1∣x)=xβ是不行的,没有办法保证结果落在合理的概率区间,为了让结果能落入概率的取值范围,引入sigmoid函数考虑 P ( y = 1 ∣ x ) = 1 1 + exp ⁡ ( x β ) P(y=1|x)=\frac{1}{1+\exp(x\beta)} P(y=1∣x)=1+exp(xβ)1
进一步不难得到
log ⁡ P ( y = 1 ∣ x ) P ( y = 0 ∣ x ) = x β \log\frac{P(y=1|x)}{P(y=0|x)}=x\beta logP(y=0∣x)P(y=1∣x)=xβ
ps.背后的概率模型为伯努利模型,当我们选定loss function时,我们必然做出了这种类似的假设。

1.2 β \beta β求解方法(MLE)

当然是最有名的最大似然估计法,求解 β \beta β就有了下面的表达式:
β = arg max ⁡ β log ⁡ p ( y ∣ x i , β ) = arg max ⁡ β ∑ i = 1 n [ y i x i β − log ⁡ ( 1 + exp ⁡ ( x i β ) ) ] \beta=\argmax_{\beta}\log p(y|x_i,\beta)=\argmax_{\beta}\sum_{i=1}^n[y_ix_i\beta-\log(1+\exp(x_i\beta))] β=βargmaxlogp(yxi,β)=βargmaxi=1n[yixiβlog(1+exp(xiβ))]
求解最小值,这里要对 β \beta β求导、
∂ f ∂ β = ∑ I = 1 n [ y i x i − x i exp ⁡ ( x i β ) 1 + exp ⁡ ( x i β ) ] = ∑ I = 1 n [ x i ( y i − p i ) ] = X T ( Y − P ) \frac{\partial f}{\partial \beta} = \sum_{I=1}^n[ y_ix_i-\frac{x_i\exp(x_i\beta)}{1+\exp(x_i\beta)}]= \sum_{I=1}^n[x_i(y_i-p_i)]=X^T(Y-P) βf=I=1n[yixi1+exp(xiβ)xiexp(xiβ)]=I=1n[xi(yipi)]=XT(YP)
其中 p i = 1 1 + exp ⁡ ( − x i β ) p_i=\frac{1}{1+\exp(-x_i\beta)} pi=1+exp(xiβ)1不难发现,这个东西求和等于0的解并不好求,所以我们引入了Newton’s Methods来迭代求解,对于一阶导数,考虑其在0处的Taylor展开:
0 ≈ g ( x 1 ) ≈ g ( x 0 ) + g ′ ( x 0 ) ( x 1 − x 0 ) 0\approx g(x_1)\approx g(x_0)+g'(x_0)(x_1-x_0) 0g(x1)g(x0)+g(x0)(x1x0)
x 1 = − g ′ ( x 0 ) − 1 g ( x 0 ) + x 0 x_1=-g'(x_0)^{-1}g(x_0)+x_0 x1=g(x0)1g(x0)+x0
显然这里就用到了二阶导,我们称二阶导得到的结果为Hessian Matrix:
H = − ∑ i = 1 n p i [ 1 − p i ] x i x i T = − x T W x H=-\sum_{i=1}^np_i[1-p_i]x_ix_i^T=-x^TWx H=i=1npi[1pi]xixiT=xTWx
其中 W = d i a g ( p 1 [ 1 − p 1 ] , ⋯   , p n [ 1 − p n ] ) W=diag(p_1[1-p_1],\cdots,p_n[1-p_n]) W=diag(p1[1p1],,pn[1pn]),最终Newton 迭代的步骤为:
β n e w = β o l d − H − 1 ∇ ℓ = β o l d + ( x T W x ) − 1 x T ( y − p ) \beta^{new}=\beta^{old}-H^{-1}\nabla\ell=\beta^{old}+(x^TWx)^{-1}x^T(y-p) βnew=βoldH1=βold+(xTWx)1xT(yp)
实际使用的过程中,求逆过程非常艰难,还需要搭配其他算法服用效果最佳。同时对于能完美分类的case其迭代效果并不好,因为参数往往要达到无穷才可以实现,导致其最后是不收敛的。
[拓展天地] 做一个牛顿下山的专项练习,求解在1附近的极值点:
f ( x ) = x 3 − 2 x + 2 f(x)=x^3-2x+2 f(x)=x32x+2
f ′ ( x ) = 3 x 2 − 2 , f ′ ′ ( x ) = 6 x , x k + 1 = x k − f ′ ( x k ) f ′ ′ ( x k ) f'(x)=3x^2-2,f''(x)=6x,x_{k+1}=x_k-\frac{f'(x_k)}{f''(x_k)} f(x)=3x22,f′′(x)=6x,xk+1=xkf′′(xk)f(xk)
x 1 = x 0 − 3 x 0 2 − 2 6 x 0 . . . . . . x_1=x_0-\frac{3x_0^2-2}{6x_0}...... x1=x06x03x022......

1.3 Multi-Class Logistic Regression

对于多类问题,我们往往需要对其两两分类,选择其中的一类作为参考,例如k=3,选择第三类作为reference:
log ⁡ P ( y = k 3 ∣ x ) P ( y = k ∣ x ) = x β k \log\frac{P(y=k_3|x)}{P(y=k|x)}=x\beta_k logP(y=kx)P(y=k3x)=xβk
其中 β k \beta_k βk代表区分第k类和第3类的曲线,那如何区分第一类和第二类呢?两者再相互做除法即可。这样我们就把多分类问题划分为了两两一组的二分类问题!

2 分类问题中的生成模型(LDA)

对于上述的问题,我们只能对于给定的 x i x_i xi,预测其对应的 y i y_i yi的概率,反过来,我们要是想通过模型进行取样的话(求解 p k ( x ) = p ( Y = k ∣ X = x p_k(x)=p(Y=k|X=x pk(x)=p(Y=kX=x),进而进行分类).首先需要进行一些前提的假设和前置知识的补充

  • 假设X在Y=k里面是正态分布的,并且不同类别中的方差是相同的,即 X ∣ Y = k ∼ N ( μ k , Σ ) X|Y=k\sim N(\mu_k,\Sigma) XY=kN(μk,Σ):
    f k ( x ) = 1 ( 2 π ) p / 2 Σ 1 / 2 exp ⁡ ( − 1 2 ( x − μ k ) T Σ − 1 ( x − μ k ) ) f_k(x)=\frac{1}{(2\pi)^{p/2}\Sigma^{1/2}}\exp(-\frac{1}{2}(x-\mu_k)^T\Sigma^{-1}(x-\mu_k)) fk(x)=(2π)p/2Σ1/21exp(21(xμk)TΣ1(xμk))
  • Bayes Theorem:
    P ( A k ∣ B ) = P ( B ∣ A k ) P ( A k ) ∑ j = 1 K P ( B ∣ A j ) P ( A j ) P(A_k|B)=\frac{P(B|A_k)P(A_k)}{\sum_{j=1}^KP(B|A_j)P(A_j)} P(AkB)=j=1KP(BAj)P(Aj)P(BAk)P(Ak)
    把上面的二者结合一下不难得到 p k ( x ) p_k(x) pk(x)
    p k ( x ) = π k exp ⁡ ( − 1 2 ( x − μ k ) T Σ − 1 ( x − μ k ) ) ∑ I = 1 K π I exp ⁡ ( − 1 2 ( x − μ I ) T Σ − 1 ( x − μ I ) ) p_k(x)=\frac{\pi_k\exp(-\frac{1}{2}(x-\mu_k)^T\Sigma^{-1}(x-\mu_k))}{\sum_{I=1}^K\pi_I\exp(-\frac{1}{2}(x-\mu_I)^T\Sigma^{-1}(x-\mu_I))} pk(x)=I=1KπIexp(21(xμI)TΣ1(xμI))πkexp(21(xμk)TΣ1(xμk))
    进一步有:
    在这里插入图片描述
    参考上面的形式,我们得到了一个差不多的表达式!不同的是,我们需要做的不再是像之前一样求解 β \beta β而是,想办法与估计 μ , Σ \mu,\Sigma μ,Σ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值