Logistic Regression
三种常用的分类方法
- Logistic Regression
- Linear Discriminant Analysis
- K-NN Negihbor
为什么不用Linear Regression建模分类模型?
-
若使用Linear Regression来建模
P ( x ) = β 0 + β 1 x P(x) = \beta_0 + \beta_1x P(x)=β0+β1x
-
上述模型存在两个问题
- 概率可能为负
- 概率可能超过1
Logistic Regression建模
P ( x ) = e β 0 + β 1 x 1 + e β 0 + β 1 x P(x) = \frac{e^{\beta_0 + \beta_1x}}{1 + e^{\beta_0 + \beta_1x}} P(x)=1+eβ0+β1xeβ0+β1x
-
上述的模型是一根曲线,且范围在 ( 0 , 1 ) (0, ~ 1) (0, 1)
-
此外,可以得到
P ( x ) 1 − P ( x ) = e β 0 + β 1 x \frac{P(x)}{1-P(x)} = e^{\beta_0 + \beta_1x} 1−P(x)P(x)=eβ0+β1x
-
由此可以推出
l o g ( P ( x ) 1 − P ( x ) ) = β 0 + β 1 x log(\frac{P(x)}{1-P(x)}) = \beta_0 + \beta_1x log(1−P(x)P(x))=β0+β1x
-
在上面的式子中, l o g i t logit logit关于 x x x是线性的;若是 x x x增加 1 − u n i t 1-unit 1−unit,那么 l o g i t logit logit平均增加 β 1 x \beta_1x β1x。但是 P ( x ) P(x) P(x)和 x x x不是线性关系的,若是 x x x增加 1 − u n i t 1-unit 1−unit, P ( x ) P(x) P(x)改变的值根据当前值决定。若是忽略 x x x的值,只要 β 1 \beta_1 β1为正数,那么增加 x x x值会增加 P ( x ) P(x) P(x)的概率。
Estimating the Regression Coefficients
-
可用最大似然的方法估计 β 0 , β 1 \beta_0,\beta_1 β0,β1的值
-
如何验证相关系数的有效性
z − s t a t i s t i c = β 1 S E ( β 1 ^ ) z-statistic = \frac{\beta_1}{SE(\hat{\beta_1})} z−statistic=SE(β1^)β1
z − s t a t i s t i c z-statistic z−statistic的值越大,说明 S E ( β 1 ^ ) SE(\hat{\beta_1}) SE(β1^)的值越小;这将成为拒绝 H 0 H_0 H0的主要原因。
Confounding现象
- 在估计拖欠率的时候,只有 s t u d e n t student student作为 p r e d i c t o r predictor predictor。此时,若身份是学生,那么拖欠率会降低
- 但,增加了 b a l a n c e , i n c o m e balance, income balance,income这两个 p r e d i c t o r predictor predictor后,此时若身份是一个学生,那么拖欠率会变高。为什么呢?这是因为 b a l a n c e balance balance和 s t u d e n t student student之间存在相关性。 b a l a n c e balance balance越大,会导致身份为 s t u d e n t student student的拖欠率会升高。就像 L i n e a r R e g r e s s i o n Linear ~ Regression Linear Regression中,一旦 p r e d i c t o r predictor predictor间存在了相关性, Y Y Y的增长不仅会和一个 p r e d i c t o r predictor predictor增长一个 1 − u n i t 1-unit 1−unit相关。
2. Linear Discriminant Analysis
L o g i s t i c R e g r e s s i o n Logistic ~ Regression Logistic Regression建立了 R e s p o n s e Y Response ~ Y Response Y的条件分布;而在给定 p r e d i c t o r predictor predictor的时候, L D A LDA LDA根据不同的类别,对 p r e d i c t o r predictor predictor的分布进行建模。
为什么有了Logistic Regression,还需要LDA?
- 当各类之间的边缘明确时, L D A LDA LDA比 L o g i s t i c R e g r e s s i o n Logistic ~ Regression Logistic Regression更加的稳定
- 当 n n n较小时, x x x基本成正态分布,此时 L D A LDA LDA更为稳定
- 当分类类别在 2 2 2类之上时, L D A LDA LDA更加流行。
分类中的贝叶斯理论
-
定义符号
- π k \pi_k πk:随机选中一个样本属于第 k k k类别的先验概率
- f k ( x ) ≡ P r ( X = x ∣ Y = k ) f_k(x) \equiv Pr(X=x|Y=k) fk(x)≡Pr(X=x∣Y=k):类别 k k k下样本分布的概率密度函数
-
贝叶斯理论
p k ( x ) = P r ( Y = k ∣ X = x ) = π k f k ( x ) ∑ l = 1 k π l f l ( x ) p_k(x) = Pr(Y=k|X=x) = \frac{\pi_kf_k(x)}{\sum_{l=1}^k\pi_lf_l(x)} pk(x)=Pr(Y=k∣X=x)=∑l=1kπlfl(x)πkfk(x)
- 可用缩写 p k ( x ) p_k(x) pk(x)代表当 X = x X=x X=x时, Y = k Y=k Y=k的概率
- 根据公式,若要估计 p k ( x ) p_k(x) pk(x),可以先估计 π k , f k ( x ) \pi_k,f_k(x) πk,fk(x)再带入贝叶斯公式
- π k \pi_k πk比较容易估计,可以通过计算训练集中各类别数据的占比;但 f k ( x ) f_k(x) fk(x)的计算比较有挑战性。
-
p k ( x ) p_k(x) pk(x)被称之为 X = x X=x X=x属于第 k k k个类别的后验概率;如果能找一种方法估计 p k ( x ) p_k(x) pk(x),就可以得到一个近似贝叶斯分类器的分类器。
Linear Discriminant Analysis for p=1
-
假设此时只有一个 p r e d i c t o r predictor predictor, p = 1 p=1 p=1;我们需要获得 f k ( x ) f_k(x) fk(x)的估计,来计算 p k ( x ) p_k(x) pk(x)。那么对于一个样本而言, p k ( x ) p_k(x) pk(x)最大的那个 k k k就是它所属的类别。
-
为了估计 f k ( x ) f_k(x) fk(x),需要做一些假设
-
假设 f k ( x ) f_k(x) fk(x)服从正态分布,一维正太分布的概率密度函数如下:
f k ( x ) = 1 2 σ k e − 1 2 σ k 2 ( x − μ k ) 2 f_k(x) = \frac{1}{\sqrt2\sigma_k}e^{-\frac{1}{2\sigma_k^2}(x-\mu_k)^2} fk(x)=2σk1e−2σk21(x−μk)2
其中, μ k , σ k \mu_k,\sigma_k μk,σk是第 k k k个类别的均值和方差
-
此外,假设所有 k k k个类别共享相同的方差,统称为 σ 2 \sigma^2 σ2
-
-
将 f k ( x ) f_k(x) fk(x)代入 p k ( x ) p_k(x) pk(x)中,得到如下式子:
p k ( x ) = π k 1 2 σ k e − 1 2 σ k 2 ( x − μ k ) 2 ∑ l = 1 k π l 1 2 σ l e − 1 2 σ l 2 ( x − μ l ) 2 公 式 ( 1 ) p_k(x) = \frac{\pi_k\frac{1}{\sqrt2\sigma_k}e^{-\frac{1}{2\sigma_k^2}(x-\mu_k)^2}}{\sum_{l=1}^k\pi_l\frac{1}{\sqrt2\sigma_l}e^{-\frac{1}{2\sigma_l^2}(x-\mu_l)^2}} ~~~~~~~~ 公式(1) pk(x)=∑l=1kπl2σl1e−2σl21(x−μl)2πk2σk1e−2σk21(x−μk)2 公式(1)
其中, π k \pi_k πk声明了一个样本属于第 k k k个类别的先验概率
-
若是对 公 式 ( 1 ) 公式(1) 公式(1)取 l o g ( ) log() log(),可以得到以下式子:
δ k ( x ) = x μ k σ 2 − μ k 2 2 σ 2 + l o g ( π k ) 公 式 ( 2 ) \delta_k(x) = x\frac{\mu_k}{\sigma^2} - \frac{\mu_k^2}{2\sigma^2} + log(\pi_k) ~~~~~~~~ 公式(2) δk(x)=xσ2μk−2σ2μk2+log(πk) 公式(2)
-
对于公式 2 2 2,当 k = 2 , π 1 = π 2 k=2, \pi_1=\pi_2 k=2,π1=π2时,计算如下式子:
δ 1 ( x ) − δ 2 ( x ) > 0 ⇒ x σ 2 ( μ 1 − μ 2 ) − 1 2 σ 2 ( μ 1 2 − μ 2 2 ) > 0 ⇒ 2 x ( μ 1 − μ 2 ) > μ 1 2 − μ 2 2 \delta_1(x) - \delta_2(x) > 0 \\ \Rightarrow \frac{x}{\sigma^2}(\mu_1-\mu_2) - \frac{1}{2\sigma^2}(\mu_1^2 - \mu_2^2) > 0 \\ \Rightarrow 2x(\mu_1 - \mu_2) > \mu_1^2 - \mu_2^2 δ1(x)−δ2(x)>0⇒σ2x(μ1−μ2)−2σ21(μ12−μ22)>0⇒2x(μ1−μ2)>μ12−μ22
此时可以得到得到一个决策边界,如下:
x = μ 1 2 − μ 2 2 2 ( μ 1 − μ 2 ) = μ 1 + μ 2 2 公 式 ( 3 ) x = \frac{\mu_1^2-\mu_2^2}{2(\mu_1-\mu_2)} = \frac{\mu_1+\mu_2}{2} ~~~~~~~~ 公式(3) x=2(μ1−μ2)μ12−μ22=2μ1+μ2 公式(3)
-
在上面的例子中,我们假设 x x x来自正态分布,所以我们知道 f k ( x ) f_k(x) fk(x),但需要估计 μ , σ \mu,\sigma μ,σ;此外,我们还假设了 π 1 = π 2 \pi_1=\pi_2 π1=π2。那在实践中,我们依然假设每个类别中的 x x x来自正态分布,但需要估计 μ 1 , μ 2 , . . . , μ k \mu_1,\mu_2,...,\mu_k μ1,μ2,...,μk,以及 π 1 , π 2 , . . . , π k \pi_1,\pi_2,...,\pi_k π1,π2,...,πk和 σ 2 \sigma^2 σ2。
-
L D A LDA LDA通过估计 π k , μ k , σ 2 \pi_k,\mu_k,\sigma^2 πk,μk,σ2来近似贝叶斯分类器。在实践中,当 p = 1 p=1 p=1时,可以估计出
{ μ k ^ = 1 n k ∑ i : y i = k x i σ ^ 2 = 1 n − k ∑ k = 1 k ∑ i : y i = k ( x i − μ ^ k ) 2 \begin{cases} \hat{\mu_k} = \frac{1}{n_k}\sum_{i:y_i=k}x_i \\ \hat{\sigma}^2 = \frac{1}{n-k}\sum_{k=1}^k\sum_{i:y_i=k}(x_i - \hat{\mu}_k)^2 \end{cases} {μk^=nk1∑i:yi=kxiσ^2=n−k1∑k=1k∑i:yi=k(xi−μ^k)2
其中, n n n为训练样本总量; n k n_k nk为类别 k k k的样本总量;可以看出
- μ ^ \hat{\mu} μ^仅仅是第 k k k个类别中所有样本的均值
- σ ^ 2 \hat{\sigma}^2 σ^2是每 k k k个类别样本方差的加权平均
-
如何计算 π k \pi_k πk?
-
有的时候该项已知,直接用
-
当缺少 π k \pi_k πk时, L D A LDA LDA使用训练集中某类样本占总样本量的比例来估计 π k \pi_k πk
π ^ k = n k n \hat{\pi}_k = \frac{n_k}{n} π^k=nnk
-
最终可以判别 X = x X=x X=x属于不同类别的概率,式子如下
δ ^ k ( x ) = x μ ^ k σ ^ 2 − μ ^ k 2 2 σ ^ 2 + l o g ( π ^ k ) 公 式 ( 4 ) \hat{\delta}_k(x) = x\frac{\hat{\mu}_k}{\hat{\sigma}^2} - \frac{\hat{\mu}_k^2}{2\hat{\sigma}^2} + log(\hat{\pi}_k) ~~~~~~~~ 公式(4) δ^k(x)=xσ^2μ^k−2σ^2μ^k2+log(π^k) 公式(4)
-
LDA中的"Linear"就源于判别方法 δ ^ k \hat{\delta}_k δ^k是x的线性方法。
-
最后,重申以下:当 p = 1 p=1 p=1时, L D A LDA LDA假设每个类别都来自正态分布,均值不同,但共享同一个方差;估计 π , μ , σ \pi,\mu,\sigma π,μ,σ后,带入到贝叶斯分类器中即可。
本文为作者原创,转载需注明出处!