1. LDA for p > 1
假设 X = ( x 1 , x 2 , . . . , x p ) X=(x_1, x_2, ..., x_p) X=(x1,x2,...,xp)来自多元高斯分布,关于K类有着不同的均值,但协方差矩阵相同。
多元高斯分布的一些直观概念
- 假设每个
p
r
e
d
i
c
t
o
r
predictor
predictor符合一维高斯分布,每对
p
r
e
d
i
c
t
o
r
predictor
predictor中存在相关性。
- 当 p = 2 p=2 p=2时,表面积的高度代表了 ( x 1 , x 2 ) (x_1, x_2) (x1,x2)那边附近的概率;若言这 x 1 x_1 x1轴或者 x 2 x_2 x2轴切开,那得到的截面都是一维高斯分布的形状
- 当 p = 2 p=2 p=2时,若 V a r ( x 1 ) = V a r ( x 2 ) Var(x_1) = Var(x_2) Var(x1)=Var(x2), C o r ( x 1 , x 2 ) = 0 Cor(x_1, x_2)=0 Cor(x1,x2)=0,那么表面积将会是钟型。若 x 1 , x 2 x_1,x_2 x1,x2存在相关性,或者协方差矩阵不相等时,那么表面积的形状就是椭圆了。
多元高斯分布的相关定义
-
一个p维的多元高斯分布的随机变量表示为 X ∼ N ( μ , Σ ) X\sim N(\mu, \Sigma) X∼N(μ,Σ)
-
其中 E ( x ) = μ E(x)=\mu E(x)=μ是 X X X的均值,一个 1 × p 1\times p 1×p维的向量
-
C o v ( X ) = Σ Cov(X) = \Sigma Cov(X)=Σ是 X X X的 p × p p\times p p×p维的协方差矩阵
-
多元高斯分布的密度函数定义为:
f ( x ) = 1 ( 2 π ) p 2 ∣ Σ ∣ 1 2 e − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) f(x) = \frac{1}{(2\pi)^{\frac{p}{2}}\mid \Sigma\mid^{\frac{1}{2}}}e^{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)} f(x)=(2π)2p∣Σ∣211e−21(x−μ)TΣ−1(x−μ)
-
-
当 p > 1 p>1 p>1时, L D A LDA LDA的分类器第 k k k个类别中的观测对象服从多元高斯分布 N ( μ k , Σ ) N(\mu_k, \Sigma) N(μk,Σ),有着不同的均值 μ k \mu_k μk,相同的协方差矩阵 Σ \Sigma Σ。将第 k k k个类别的 f k ( X = x ) f_k(X=x) fk(X=x)带入贝叶斯公式中,经代数变换后,对于 X = x X=x X=x得到如下式子:
δ k ( x ) = x T Σ − 1 μ k − 1 2 μ k T Σ − 1 μ k + l o g π k ) \delta_k(x) = x^T\Sigma^{-1}\mu_k - \frac{1}{2}\mu_k^T\Sigma^{-1}\mu_k + log\pi_k) δk(x)=xTΣ−1μk−21μkTΣ−1μk+logπk)
最大的 δ k ( x ) \delta_k(x) δk(x)所对应的类别 k k k即为 X = x X=x X=x所属的类别。
-
假设现在有3个类别, μ k \mu_k μk不同,但 Σ \Sigma Σ相同。那么将会有3条线充当贝叶斯的决策边界,**因为3个类对应了3对类别:1和2,1和3,2和3。**为了得到 δ k \delta_k δk,就需要去估计未知参数 μ 1 , μ 2 , . . . , μ k \mu_1, \mu_2, ..., \mu_k μ1,μ2,...,μk; π 1 , π 2 , . . . , π k \pi_1, \pi_2, ..., \pi_k π1,π2,...,πk;以及 Σ \Sigma Σ。其公式和 p = 1 p=1 p=1时的十分类似,同样 δ k ( x ) \delta_k(x) δk(x)是 x x x的线性函数,这说明 L D A LDA LDA依赖于其元素的线性组合。
LDA应用于Default数据集
-
当 L D A LDA LDA应用于 D e f a u l t Default Default数据集的时候,可以发现 L D A LDA LDA拟合10000条训练数据的训练误差为 2.75 % 2.75\% 2.75%。这听起来很低,但需要注意两点:
- 训练误差往往低于测试误差。话句话说,当其用于预测一批新的个体是否会 d e f a u l t default default的时候,将会表现的很糟糕。这是因为我们调整了模型的参数使得其在训练集上表现更好,但测试集和训练集的分布还是有差距的。
- 由于训练集中,仅有 3.33 % 3.33\% 3.33%的个体 d e f a u l t default default了,在不考虑 b a l a n c e balance balance和 s t u d e n t s t a t u s student ~ status student status的情况下,一个简单的分类器总会倾向于预测一个个体将不会 d e f a u l t default default。换句话说,一个没有任何参数的分类器预测所有样本为正样本,它的错误率也仅比 L D A LDA LDA高一点而已。
-
混肴矩阵
在使用 L D A LDA LDA的过程中, L D A LDA LDA可能误把正样本当成负样本;把负样本当成正样本。使用混肴矩阵可以明确的表示这些指标。
- 对于 d e f a u l t default default数据来说,9667人中仅有23人被标记错误会 d e f a u l t default default,错误率很低。但是,333个人会 d e f a u l t default default的人,仅仅检测出了81个人,错误率高达 ( 333 − 81 ) / 333 = 75.7 % (333 - 81)/333 = 75.7\% (333−81)/333=75.7%。
- 一般用 s e n s i t i v i t y sensitivity sensitivity和 s p e c i f i c i t y specificity specificity来描述医护和生物方面的分类指标。在 d e f a u l t default default数据集中, s e n s i t i v i t y sensitivity sensitivity是被检测到真正会 d e f a u l t default default的人,只有 ( 1 − 75.7 % ) = 24.3 % (1 - 75.7\%) = 24.3\% (1−75.7%)=24.3%;而 s p e c i f i c i t y specificity specificity是被检测到不会 d e f a u l t default default的人,高达 ( 1 − 23 9667 ) × 100 % = 99.8 % (1-\frac{23}{9667}) \times 100\% = 99.8\% (1−966723)×100%=99.8%
-
为什么 L D A LDA LDA在辨别 d e f a u l t default default人员时表现的如此差劲?如何去避免这个问题呢?
- L D A LDA LDA尝试去近似贝叶斯分类器,在所有类别中取得较低的整体错误率。为此,贝叶斯分类器为产生尽可能少的错误,再者正负样本不平衡,那么分类器倾向于预测测试样本为正样本。
- 降低置信度,如 P r ( d e f a u l t = Y e s ∣ X = x ) > 0.2 Pr(default=Yes\mid X=x) > 0.2 Pr(default=Yes∣X=x)>0.2,那么更多的人将会被预测为 d e f a u l t = Y e s default=Yes default=Yes。对于银行来说,预测错几个正样本没问题,但遗漏了负样本将会是致命的问题。
ROC曲线
- ROC曲线的横坐标是 F a l s e P o s i t i v e R a t e False ~ Positive ~ Rate False Positive Rate,纵坐标是 T r u e P o s i t i v e R a t e True ~ Positive ~ Rate True Positive Rate。
- ROC曲线下的面积 A U C AUC AUC反映了当前分类器的好坏。若 A U C AUC AUC越大,说明该分类器越好。**ROC曲线各对用的 F P , T P FP,TP FP,TP**值都是调节置信度得到的,但置信度并没有反应在曲线图中。
- 若是 p r e d i c t o r s predictors predictors和预测的 R e s p o n s e Response Response无关,那么 R O C ROC ROC曲线应该在 y = x y=x y=x下面。
2. Quadratic Discriminant Analysis
Quadratic Discriminant Analysis(二次型判别分析)
L D A LDA LDA假设样本来自多元高斯分布,均值向量不同,但 k k k个类别的协方差矩阵相同。 Q D A QDA QDA和 L D A LDA LDA类似,但 Q D A QDA QDA假设每个类别都有不同的协方差矩阵,即来自第 k k k类的样本服从:
X ∼ N ( μ k , Σ k ) X \sim N(\mu_k, \Sigma_k) X∼N(μk,Σk)
在这个假设下,贝叶斯分类器可简化为:
δ k ( x ) = − 1 2 ( x − μ k ) T Σ k − 1 ( x − μ k ) − 1 2 l o g ∣ Σ k ∣ + l o g π k = − 1 2 x T Σ k − 1 x + x T Σ k − 1 μ k − 1 2 μ k T Σ k − 1 μ k − 1 2 l o g ∣ Σ k ∣ + l o g π k \delta_k(x) = -\frac{1}{2}(x-\mu_k)^T\Sigma_k^{-1}(x-\mu_k) - \frac{1}{2}log\mid\Sigma_k\mid + log\pi_k \\ = -\frac{1}{2}x^T\Sigma_k^{-1}x + x^T\Sigma_k^{-1}\mu_k - \frac{1}{2}\mu_k^T\Sigma_k^{-1}\mu_k -\frac{1}{2}log\mid\Sigma_k\mid + log\pi_k δk(x)=−21(x−μk)TΣk−1(x−μk)−21log∣Σk∣+logπk=−21xTΣk−1x+xTΣk−1μk−21μkTΣk−1μk−21log∣Σk∣+logπk
所以, Q D A QDA QDA需要估计 Σ k , μ k , π k \Sigma_k,\mu_k,\pi_k Σk,μk,πk,然后将 X = x X=x X=x代入 δ k ( x ) \delta_k(x) δk(x),最大的那一项所对应的 k k k即为 X = x X=x X=x所属的类别。由于 x x x在上式中是二次函数,故 Q D A QDA QDA由此得名。
QDA和LDA,用哪个更好?
为什么要假设 X X X是否共享同一协方差矩阵呢?或者 L D A LDA LDA, Q D A QDA QDA,用哪个更好?回答在于,bias-variance trade-off。
- 若现在有 p p p个 p r e d i c t o r s predictors predictors,为每一类别估计一个协方差矩阵总共需要 p ( p + 1 ) 2 \frac{p(p+1)}{2} 2p(p+1)个参数, Q D A QDA QDA为每个类别都估计了 Σ \Sigma Σ,那么就需要 k p ( p + 1 ) 2 k\frac{p(p+1)}{2} k2p(p+1)个参数。若有50个 p r e d i c t o r s predictors predictors,那么就接近 1275 1275 1275个参数,参数较 L D A LDA LDA多了很多。所以 L D A LDA LDA的灵活度没有 Q D A QDA QDA高。但反过来讲, L D A LDA LDA的 v a r i a n c e variance variance更低,可能提高模型的能力。但需要注意的是,一旦 L D A LDA LDA关于 k k k个类共享同一个协方差矩阵的假设是错误的,那 L D A LDA LDA就会受到高偏差的影响。
- 一般来说,若训练样本较少, L D A LDA LDA比 Q D A QDA QDA更加适合,因为减少 v a r i a n c e variance variance很重要。相反,若是训练集很大,分类器的 v a r i a n c e variance variance不是主要考虑的问题,或者说 k k k类共享同一个协方差矩阵的假设站不住脚的,这时候就推荐使用 Q D A QDA QDA了。当贝叶斯的决策边界接近于非线性的时候, Q D A QDA QDA是明显优于 L D A LDA LDA的。
3. A comparison of Classification Methods
主要比较: L o g i s t i c R e g r e s s i o n Logistic ~ Regression Logistic Regression, L D A LDA LDA, Q D A QDA QDA, K N N KNN KNN。
-
首先比较 L o g i s t i c R e g r e s s i o n Logistic ~ Regression Logistic Regression和 L D A LDA LDA
-
L D A LDA LDA: δ k ( x ) = x μ k σ 2 − μ k 2 2 σ 2 + l o g ( π k ) \delta_k(x) = x\frac{\mu_k}{\sigma^2} - \frac{\mu_k^2}{2\sigma^2} + log(\pi_k) δk(x)=xσ2μk−2σ2μk2+log(πk)
对于二分类问题,且 p = 1 p=1 p=1时, { P 1 ( x ) P 2 ( x ) = 1 − P 1 ( x ) \begin{cases} P_1(x) \\ P_2(x)=1-P_1(x) \end{cases} {P1(x)P2(x)=1−P1(x),可以推出:
l o g ( P 1 ( x ) 1 − P 2 ( x ) ) = l o g ( P 1 ( x ) P 2 ( x ) ) = c 0 + c 1 x 公 式 ( 1 ) log(\frac{P_1(x)}{1-P_2(x)}) = log(\frac{P_1(x)}{P_2(x)}) = c_0 + c_1x ~~~~~~~~ 公式(1) log(1−P2(x)P1(x))=log(P2(x)P1(x))=c0+c1x 公式(1)
这里的 c 0 c_0 c0, c 1 c_1 c1都是 μ 1 , μ 2 , σ 2 \mu_1, \mu_2, \sigma^2 μ1,μ2,σ2的方法。
-
在 L o g i s t i c R e g r e s s i o n Logistic ~ Regression Logistic Regression中,
l o g ( P 1 1 − P 1 ) = β 0 + β 1 x 公 式 ( 2 ) log(\frac{P_1}{1-P_1}) = \beta_0 + \beta_1x ~~~~~~~~ 公式(2) log(1−P1P1)=β0+β1x 公式(2)
-
公式(1)和公式(2)都是 x x x的线性方法,因此 L o g i s t i c R e g r e s s i o n Logistic ~ Regression Logistic Regression和 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和 L D A LDA LDA只在拟合的过程中不同,大多数人可能认为它俩结果类似,虽然如此但也并不一直如此。那么它们分别在什么时候用呢?
- L D A LDA 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。
- 当高斯分布的假设未被满足时, L o g i s t i c R e g r e s s i o n Logistic ~ Regression Logistic Regression优于 L D A LDA LDA。
-
-
再谈谈 K N N KNN KNN
- 当预测 X = x X=x X=x的类别时, K N N KNN KNN使用离 x x x最近的 k k k个样本中,出现此处最多的类别作为 x x x的类别。
- 由于 K N N KNN KNN是完全没有参数的方法,即对于决策边界的形状没有任何的约束,当真实决策边界为非线性时,使用 K N N KNN KNN将会超越 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。
-
然后谈谈 Q D A QDA QDA
- Q D A QDA QDA是无参数 K N N KNN KNN,线性 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三个方法折衷的一个版本。由于 Q D A QDA QDA假设了决策边界为二次型,比起线性模型,能解决更广的问题。虽然没有 K N N KNN KNN灵活,当训练样本数量有限的时候, Q D A QDA QDA能产生较好的效果,因为它确实对决策边界做了假设。
-
最后总结一下各个方法应用的场景
- 当真实的决策边界为线性时, 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都会产生比较好的效果。
- 当真实的决策边界为非线性时, Q D A QDA QDA表现更加出色
- 当真实的决策边界更为复杂时, K N N KNN KNN能够表现的更好,但需合理的控制 K K K值。
本文为作者原创,转载需注明出处!