Statistic Learning 3

本文探讨了LDA(线性判别分析)和QDA(二次判别分析)在分类任务中的应用,包括它们的数学原理、决策边界的特性以及与逻辑回归和KNN的对比。通过分析不同情况下哪种方法更优,帮助读者理解如何选择合适的分类算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. LDA for p > 1

假设X=(x1,x2,...,xp)X=(x_1, x_2, ..., x_p)X=(x1,x2,...,xp)来自多元高斯分布,关于K类有着不同的均值,但协方差矩阵相同。

多元高斯分布的一些直观概念

  • 假设每个predictorpredictorpredictor符合一维高斯分布,每对predictorpredictorpredictor中存在相关性。
    • p=2p=2p=2时,表面积的高度代表了(x1,x2)(x_1, x_2)(x1,x2)那边附近的概率;若言这x1x_1x1轴或者x2x_2x2轴切开,那得到的截面都是一维高斯分布的形状
    • p=2p=2p=2时,若Var(x1)=Var(x2)Var(x_1) = Var(x_2)Var(x1)=Var(x2)Cor(x1,x2)=0Cor(x_1, x_2)=0Cor(x1,x2)=0,那么表面积将会是钟型。若x1,x2x_1,x_2x1,x2存在相关性,或者协方差矩阵不相等时,那么表面积的形状就是椭圆了。

多元高斯分布的相关定义

  • 一个p维的多元高斯分布的随机变量表示为X∼N(μ,Σ)X\sim N(\mu, \Sigma)XN(μ,Σ)

    • 其中E(x)=μE(x)=\muE(x)=μXXX的均值,一个1×p1\times p1×p维的向量

    • Cov(X)=ΣCov(X) = \SigmaCov(X)=ΣXXXp×pp\times pp×p维的协方差矩阵

    • 多元高斯分布的密度函数定义为:

      f(x)=1(2π)p2∣Σ∣12e−12(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Σ211e21(xμ)TΣ1(xμ)

  • p>1p>1p>1时,LDALDALDA的分类器第kkk个类别中的观测对象服从多元高斯分布N(μk,Σ)N(\mu_k, \Sigma)N(μk,Σ),有着不同的均值μk\mu_kμk,相同的协方差矩阵Σ\SigmaΣ。将第kkk个类别的fk(X=x)f_k(X=x)fk(X=x)带入贝叶斯公式中,经代数变换后,对于X=xX=xX=x得到如下式子:

    δk(x)=xTΣ−1μk−12μkTΣ−1μk+logπ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μk21μkTΣ1μk+logπk)

    最大的δk(x)\delta_k(x)δk(x)所对应的类别kkk即为X=xX=xX=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=1p=1p=1时的十分类似,同样δk(x)\delta_k(x)δk(x)xxx的线性函数,这说明LDALDALDA依赖于其元素的线性组合。

LDA应用于Default数据集

  • LDALDALDA应用于DefaultDefaultDefault数据集的时候,可以发现LDALDALDA拟合10000条训练数据的训练误差为2.75%2.75\%2.75%。这听起来很低,但需要注意两点:

    • 训练误差往往低于测试误差。话句话说,当其用于预测一批新的个体是否会defaultdefaultdefault的时候,将会表现的很糟糕。这是因为我们调整了模型的参数使得其在训练集上表现更好,但测试集和训练集的分布还是有差距的。
    • 由于训练集中,仅有3.33%3.33\%3.33%的个体defaultdefaultdefault了,在不考虑balancebalancebalancestudent statusstudent ~ statusstudent status的情况下,一个简单的分类器总会倾向于预测一个个体将不会defaultdefaultdefault。换句话说,一个没有任何参数的分类器预测所有样本为正样本,它的错误率也仅比LDALDALDA高一点而已。
  • 混肴矩阵

    ​ 在使用LDALDALDA的过程中,LDALDALDA可能误把正样本当成负样本;把负样本当成正样本。使用混肴矩阵可以明确的表示这些指标。

    • 对于defaultdefaultdefault数据来说,9667人中仅有23人被标记错误会defaultdefaultdefault,错误率很低。但是,333个人会defaultdefaultdefault的人,仅仅检测出了81个人,错误率高达(333−81)/333=75.7%(333 - 81)/333 = 75.7\%(33381)/333=75.7%
    • 一般用sensitivitysensitivitysensitivityspecificityspecificityspecificity来描述医护和生物方面的分类指标。在defaultdefaultdefault数据集中,sensitivitysensitivitysensitivity是被检测到真正会defaultdefaultdefault的人,只有(1−75.7%)=24.3%(1 - 75.7\%) = 24.3\%(175.7%)=24.3%;而specificityspecificityspecificity是被检测到不会defaultdefaultdefault的人,高达(1−239667)×100%=99.8%(1-\frac{23}{9667}) \times 100\% = 99.8\%(1966723)×100%=99.8%
  • 为什么LDALDALDA在辨别defaultdefaultdefault人员时表现的如此差劲?如何去避免这个问题呢?

    • LDALDALDA尝试去近似贝叶斯分类器,在所有类别中取得较低的整体错误率。为此,贝叶斯分类器为产生尽可能少的错误,再者正负样本不平衡,那么分类器倾向于预测测试样本为正样本。
    • 降低置信度,如Pr(default=Yes∣X=x)>0.2Pr(default=Yes\mid X=x) > 0.2Pr(default=YesX=x)>0.2,那么更多的人将会被预测为default=Yesdefault=Yesdefault=Yes。对于银行来说,预测错几个正样本没问题,但遗漏了负样本将会是致命的问题。

ROC曲线

  • ROC曲线的横坐标是False Positive RateFalse ~ Positive ~ RateFalse Positive Rate,纵坐标是True Positive RateTrue ~ Positive ~ RateTrue Positive Rate
  • ROC曲线下的面积AUCAUCAUC反映了当前分类器的好坏。若AUCAUCAUC越大,说明该分类器越好。**ROC曲线各对用的FP,TPFP,TPFP,TP**值都是调节置信度得到的,但置信度并没有反应在曲线图中。
  • 若是predictorspredictorspredictors和预测的ResponseResponseResponse无关,那么ROCROCROC曲线应该在y=xy=xy=x下面。

2. Quadratic Discriminant Analysis

Quadratic Discriminant Analysis(二次型判别分析)

LDALDALDA假设样本来自多元高斯分布,均值向量不同,但kkk个类别的协方差矩阵相同。QDAQDAQDALDALDALDA类似,但QDAQDAQDA假设每个类别都有不同的协方差矩阵,即来自第kkk类的样本服从:

X∼N(μk,Σk)X \sim N(\mu_k, \Sigma_k)XN(μk,Σk)

在这个假设下,贝叶斯分类器可简化为:

δk(x)=−12(x−μk)TΣk−1(x−μk)−12log∣Σk∣+logπk=−12xTΣk−1x+xTΣk−1μk−12μkTΣk−1μk−12log∣Σk∣+logπ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Σk1(xμk)21logΣk+logπk=21xTΣk1x+xTΣk1μk21μkTΣk1μk21logΣk+logπk

所以,QDAQDAQDA需要估计Σk,μk,πk\Sigma_k,\mu_k,\pi_kΣk,μk,πk,然后将X=xX=xX=x代入δk(x)\delta_k(x)δk(x),最大的那一项所对应的kkk即为X=xX=xX=x所属的类别。由于xxx在上式中是二次函数,故QDAQDAQDA由此得名。

QDA和LDA,用哪个更好?

为什么要假设XXX是否共享同一协方差矩阵呢?或者LDALDALDAQDAQDAQDA,用哪个更好?回答在于,bias-variance trade-off

  • 若现在有ppppredictorspredictorspredictors,为每一类别估计一个协方差矩阵总共需要p(p+1)2\frac{p(p+1)}{2}2p(p+1)个参数,QDAQDAQDA为每个类别都估计了Σ\SigmaΣ,那么就需要kp(p+1)2k\frac{p(p+1)}{2}k2p(p+1)个参数。若有50个predictorspredictorspredictors,那么就接近127512751275个参数,参数较LDALDALDA多了很多。所以LDALDALDA的灵活度没有QDAQDAQDA高。但反过来讲,LDALDALDAvariancevariancevariance更低,可能提高模型的能力。但需要注意的是,一旦LDALDALDA关于kkk个类共享同一个协方差矩阵的假设是错误的,那LDALDALDA就会受到高偏差的影响。
  • 一般来说,若训练样本较少,LDALDALDAQDAQDAQDA更加适合,因为减少variancevariancevariance很重要。相反,若是训练集很大,分类器的variancevariancevariance不是主要考虑的问题,或者说kkk类共享同一个协方差矩阵的假设站不住脚的,这时候就推荐使用QDAQDAQDA了。当贝叶斯的决策边界接近于非线性的时候,QDAQDAQDA是明显优于LDALDALDA的。

3. A comparison of Classification Methods

主要比较:Logistic RegressionLogistic ~ RegressionLogistic RegressionLDALDALDAQDAQDAQDAKNNKNNKNN

  • 首先比较Logistic RegressionLogistic ~ RegressionLogistic RegressionLDALDALDA

    • LDALDALDAδk(x)=xμkσ2−μk22σ2+log(πk)\delta_k(x) = x\frac{\mu_k}{\sigma^2} - \frac{\mu_k^2}{2\sigma^2} + log(\pi_k)δk(x)=xσ2μk2σ2μk2+log(πk)

      对于二分类问题,且p=1p=1p=1时,{P1(x)P2(x)=1−P1(x)\begin{cases} P_1(x) \\ P_2(x)=1-P_1(x) \end{cases}{P1(x)P2(x)=1P1(x),可以推出:

      log(P1(x)1−P2(x))=log(P1(x)P2(x))=c0+c1x        公式(1)log(\frac{P_1(x)}{1-P_2(x)}) = log(\frac{P_1(x)}{P_2(x)}) = c_0 + c_1x ~~~~~~~~ 公式(1)log(1P2(x)P1(x))=log(P2(x)P1(x))=c0+c1x        (1)

      这里的c0c_0c0c1c_1c1都是μ1,μ2,σ2\mu_1, \mu_2, \sigma^2μ1,μ2,σ2的方法。

    • Logistic RegressionLogistic ~ RegressionLogistic Regression中,

      log(P11−P1)=β0+β1x        公式(2)log(\frac{P_1}{1-P_1}) = \beta_0 + \beta_1x ~~~~~~~~ 公式(2)log(1P1P1)=β0+β1x        (2)

    • 公式(1)和公式(2)都是xxx的线性方法,因此Logistic RegressionLogistic ~ RegressionLogistic RegressionLDALDALDA都产生了线性决策边界。两个方法唯一不同的是,Logistic RegressionLogistic ~ RegressionLogistic RegressionLDALDALDA只在拟合的过程中不同,大多数人可能认为它俩结果类似,虽然如此但也并不一直如此。那么它们分别在什么时候用呢?

      • LDALDALDA假设样本来自高斯分布,且每个类别的方差相同。当该假设被满足时,LDALDALDA优于Logistic RegressionLogistic ~ RegressionLogistic Regression
      • 当高斯分布的假设未被满足时,Logistic RegressionLogistic ~ RegressionLogistic Regression优于LDALDALDA
  • 再谈谈KNNKNNKNN

    • 当预测X=xX=xX=x的类别时,KNNKNNKNN使用离xxx最近的kkk个样本中,出现此处最多的类别作为xxx的类别。
    • 由于KNNKNNKNN是完全没有参数的方法,即对于决策边界的形状没有任何的约束,当真实决策边界为非线性时,使用KNNKNNKNN将会超越LDALDALDALogistic RegressionLogistic ~ RegressionLogistic Regression
  • 然后谈谈QDAQDAQDA

    • QDAQDAQDA是无参数KNNKNNKNN,线性LDALDALDALogistic RegressionLogistic ~ RegressionLogistic Regression三个方法折衷的一个版本。由于QDAQDAQDA假设了决策边界为二次型,比起线性模型,能解决更广的问题。虽然没有KNNKNNKNN灵活,当训练样本数量有限的时候,QDAQDAQDA能产生较好的效果,因为它确实对决策边界做了假设。
  • 最后总结一下各个方法应用的场景

    • 当真实的决策边界为线性时,LDALDALDALogistic RegressionLogistic ~ RegressionLogistic Regression都会产生比较好的效果。
    • 当真实的决策边界为非线性时,QDAQDAQDA表现更加出色
    • 当真实的决策边界更为复杂时,KNNKNNKNN能够表现的更好,但需合理的控制KKK值。

本文为作者原创,转载需注明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值