线性判别分析(,縮寫:LDA)是对费舍尔的线性鉴别方法的归纳,这种方法使用统计学,模式识别和机器学习方法,试图找到两类物体或事件的特征的一个线性组合,以能够特征化或区分它们。所得的组合可用来作为一个线性分类器,或者,更常见的是,为后续的分类做降维处理。
LDA与變異數分析(ANOVA)和迴归分析紧密相关,这两种分析方法也试图透过一些特征或测量值的线性组合来表示一个因变量。然而,變異數分析使用类别型的自变量和连续型的因变量,而判别分析則使用连续型自变量和类别型因变量(即类标签)。邏輯斯諦迴歸和概率迴归比變異數分析更类似于LDA,因为他们也是用连续型自变量来解释类别型因变量。LDA的基本假设是自变量是常态分布的,当这一假设无法满足时,在实际应用中更倾向于用上述的其他方法。
LDA也与主成分分析(PCA)和因素分析紧密相关,它们都在寻找最佳解释数据的变量线性组合。LDA明确地尝试在不同数据类之间建立模型,而PCA則不考虑类别上的不同(只是在保留大部分訊息的前提下降低维度數),因素分析則是根据相異處而非相同處来建立特征组合。判别分析跟因素分析的差異还在于,它不是一个相互依存技术:即必须区分出自变量和因变量(也称为准则变量)的不同。
當自变量每一次的观察测量值都是连续量的时候,LDA能發揮作用。如果是处理类别型自变量,与LDA相对应的技术称为判别反应分析。
二类LDA
考虑在已知类別 y 中每一个对象或事件的一组观察量 { \vec x } (也称为特征、属性、变量或测量);这一组样本称为训练集。分类问题即為在给定观察量 \vec x 为 y 类的情況下找一个良好的预测器,使得任意具有相同分布的样品(未必来自训练集合)都能被正确地判断。
LDA 的方法是,透过假设条件概率密度函数p(\vec x|y=0) 和 p(\vec x|y=1) 都是正态分布,分别具有均值和协方差\left(\vec \mu_0, \Sigma_0\right) 和 \left(\vec \mu_1, \Sigma_1\right)。根据这一假设,贝叶斯最佳解决方案是如果预测点的可能性比率之对数值低于某一阈值 T,其就属于第二类:
: (\vec x- \vec \mu_0)^T \Sigma_0^{-1} ( \vec x- \vec \mu_0) + \ln|\Sigma_0| - (\vec x- \vec \mu_1)^T \Sigma_1^{-1} ( \vec x- \vec \mu_1) - \ln|\Sigma_1| \ > \ T
如果没有任何进一步的假设,所得到的分类器称为QDA(二次判别分析)。
相反地,LDA做出额外简化的同方差性假设(即不同类之间的协方差相同,\Sigma_0 = \Sigma_1 = \Sigma),并且协方差是满秩的。在这种情况下,可以消掉一些项:
: {\vec x}^T \Sigma_0^{-1} \vec x = {\vec x}^T \Sigma_1^{-1} \vec x
: {\vec x}^T {\Sigma_i}^{-1} \vec{\mu_i} = {\vec{\mu_i}}^T{\Sigma_i}^{-1} \vec x 因为\Sigma_i是埃尔米特矩阵
如此一來,上面的判断准则就变成了判断点积的阈值是否大於某常數 c
: \vec w \cdot \vec x > c
而
: \vec w = \Sigma^{-1} (\vec \mu_1 - \vec \mu_0)
: c = \frac{1}{2}(T-{\vec{\mu_0}}^T \Sigma_0^{-1} {\vec{\mu_0}}+{\vec{\mu_1}}^T \Sigma_1^{-1} {\vec{\mu_1}})
这意味着,一个输入 \vec x 属于类 y 的标准就纯粹成为一个已知观察值的线性组合的函数。
从几何学的角度来看这个结论通常会有些帮助:判断一个输入 \vec x 是否为类 y 的标准就是一个将多维空间上的点 \vec x 投影到向量 \vec w (我们仅仅考虑其方向)的函数。换句话说,如果相对应的 \vec x 位于一个垂直于 \vec w 的超平面的某一侧,那么观察值就属于y类。平面的位置由阈值c来决定。
k类正则判别分析
正则判别分析法(CDA)寻找最优区分类别的坐标轴(k-1个正则坐标,k为类别的数量)。 这些线性函数是不相关的,实际上,它们通过n维数据云定义了一个最优化的k-1个空间,能够最优的区分k个类(通过其在空间的投影)。详细请参见下面的“多类LDA”。
费舍尔的线性判别
费舍尔的线性判别和LDA的叫法往往是可以互换使用,尽管费舍尔最早的文章假设,C个类中每一个类都有均值 \mu_i 和相同的协方差 \Sigma 。 那么,类间的变化可以通过类均值的协方差来定义
: \Sigma_b = \frac{1}{C} \sum_{i=1}^C (\mu_i-\mu) (\mu_i-\mu)^T
这里 \mu 是各类均值的均值。在 \vec w 的方向区分类有下式给出
: S = \frac{\vec w^T \Sigma_b \vec w}{\vec w^T \Sigma \vec w}
这意味着如果 \vec w 是 \Sigma^{-1} \Sigma_b 的特征向量,等同于用对应的特征值进行分类。
如果 \Sigma^{-1} \Sigma_b 是可对角化矩阵,特征之间的变化性就会被保留在C-1个最大特征值对应的特征向量构成子空间内(因为 \Sigma_b 最大可能的秩是C−1)。与PCA相同,这些特征向量的主要用途是缩减特征数。较小的特征值对应的特征向量对训练数据的选择非常敏感,所以常常需要使用下段中描述的调整方法。
如果只是为了分类,而不需要降维,还有一些替代技术可用。例如,多个类本身就是分离的,可用费舍尔判别或者LDA对每个区进行分类。一个常见的例子是“一个对其余”,指的是从一个类里出来的点,放入一组里,其他的归入另一组,这就可以用LDA。这将导致C类分类器,它的结果是组合在一起的。另一个常见的方法就是配对分类,给每一对类别创建一个分类器(总共有C(C−1)/2个分类器),再将每个分类器的结果综合得到最终结果。
增量LDA
要实现典型的LDA技术前提是所有的样本都必须提前准备完毕。但有些情况下,没有现成的完整数据集或者输入观察数据是流的形式。这样,就要求LDA的特征提取有能力随着观察新样本的增加而更新LDA的特征,而不是在整个数据集上运行算法。例如,在移动机器人或实时脸部识别等实时应用中,提取的LDA特征能随着新观察值实时更新是非常重要的。这种能够通过简单观察新样本来更新LDA特征的技术就叫做增量LDA算法,在过去二十年里,它已经被广泛的研究过。Catterjee和Roychowdhury提出了一种增量自组织LDA算法来更新LDA特征。另外,Demir和Ozmehmet提出利用误差改正和赫布学习规则的线上本地学习算法来更新LDA特征。最后,Aliyari等人提供了快速增量LDA算法。另一个处理小样本的策略是,用协方差矩阵的收缩估算,可以表达为以下数学式
: \Sigma = (1-\lambda) \Sigma+\lambda I\,
这里 I 的单位矩阵, \lambda 是的收缩度或归一参数。这产生了归一判别分析或收缩判别分析的框架。
此外,在许多实际情形中线性判别是不合适的。 LDA和费舍尔判别可以通过核函数扩展到非线性分类。原始的观察值有效的映射到一个高维的非线性空间里。在这个非线性空间里的线性分类,就相当于在原始空间里面的非线性分类。最常用的例子就是核函数费舍尔判别。
LDA可以推广到多类判别分析,其中c变为一个具有N个可能状态,而不是两个状态的类别变量。类似地,如果各类的条件概率密度 p(\vec x\mid c=i)都是正态分布有共同的协方差,那么P(c\mid\vec x)的充分统计量就是协方差逆矩阵在N个均值构成的子平面上仿射的N个投影值。这些投影值可以通过解广义特征值问题来找到,分子是以均值为样本构成的协方差矩阵,分母是共有协方差矩阵。详情参见上述“多类LDA”。
应用领域
除了下面给出的实例,LDA应用于市场定位和产品管理。
破产预测
在基于财务比率和其他金融变量的破产预测中,LDA是第一个用来系统解释公司进入破产或存活的统计学工具。尽管受到财务比率不遵守LDA正态分布假设的限制,Edward Altman的1968年模型仍然是实际应用的领先者。
脸部识别
在计算机化的脸部识别中,每一张脸由大量像素值表达。 LDA在这里的主要作用是把特征的数量降到可管理的数量后再进行分类。每一个新的维度都是模板里像素值的线性组合。使用费舍尔线性判别得到的线性组合称为费舍尔脸,而通过主成分分析(PCA)得到称为特征脸。
市场营销
在市场营销,判别分析曾经常用于通过市场调查或其他数据收集手段,找出那些能区分不同客户或产品类型的多个因素。如今用的更多的是邏輯斯諦迴歸或其他方法。在市场营销中使用判别分析的具体步骤如下描述:
制定问题并收集数据 --识别消费者评估产品的一些显著属性一 用定量市场研究技术(例如市场调查)从潜在消费者中收集关于他们对产品所有属性的评分数据。数据收集阶段通常是由专业的市场调查公司完成的。调查人员选择一系列属性,请参与者对他们给出1到5(或者1到7,1到10)的评分。通常选5到20个属性。通常包括:易用度,重量,准确度,耐用性,色彩度,价格,或尺寸。根据研究的产品选择不同的属性。在调查中对所有的产品都问相同的问题。多个产品的数据编码后,输入统计分析程序,比如R,SPSS或SAS。(这一步与因子分析法一样)。
估计的判别函数的系数并确定统计显著水平和有效性—选择适当的判别分析方法。直接的方法涉及估计判别函数,以便所有的预测器同时被评估。逐步的方法顺序进入的预测器。当因变量只有两类或状态时,适用两组的方法。因变量多于三个是,用多类判别方法。在SPSS或者SAS里的F统计包,用Wilks's Lambda检验显著水平。最常用的有效性检验方法是,将样本分为两组:估计/分析样本和验证样本。估计样本用来构建判别函数,验证样本构建分类矩阵,其中包括正确分类和不正确分类的数量。正确分类案例的百分比称为命中率。
将结果画在二维图里,定义维度,并解释结果。统计程序(或相关模块)会将结果做出图。图中包括每个产品(通常为二维空间)。每个产品之间的距离表明他们不同的程度。研究者必须给每个维度注明标签。整个过程需要主观判断,非常具有挑战性。参见感知映射。
生物医学研究
判别分析在医学的主要应用是评估患者的严重程度和对疾病结果的预后判断。比如,在回顾分析中,根据患者的病情分为几组:轻微,中度和严重。通过对临床和实验室分析结果的研究,揭示被研究组中哪些变量是统计上不同的。使用这些变量建立判别函数,帮助将未来的患者客观的划分到轻微,中度和严重的类别里。
在生物学中,类似的原则被用以划分和定义不同的生物对象。例如,用傅立叶变换红外光谱定义沙门氏菌的噬菌体类别,检测大肠杆菌的动物来源以研究它的毒力因子等。
地球科学
这种方法可用于区分蚀变带。例如,当很多带的不同数据都现成时,判别分析可以从数据中找到模式并有效的对它分类。
参考
- 数据挖掘
- 决定树学习
- 因素分析
- 核函数费舍尔判别分析
- 邏輯斯諦迴歸
- 多维标度
- 模式识别
- 感知器
- 偏好回归
- 二次分類器
引用
扩展阅读
- Duda, R. O.; Hart, P. E.; Stork, D. H. (2000). Pattern Classification (2nd ed.). Wiley Interscience. ISBN 0-471-05669-3. MR [//www.ams.org/mathscinet-getitem?mr=1802993 1802993].
- Hilbe, J. M. (2009). Logistic Regression Models. Chapman & Hall/CRC Press. ISBN 978-1-4200-7575-5.
- Mika, S.; et al. (1999). [https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.9904 "Fisher Discriminant Analysis with Kernels"] . IEEE Conference on Neural Networks for Signal Processing IX: 41–48. doi:10.1109/NNSP.1999.788121.
- Mark Burdon and Paul Harpur, ‘Re-Conceptualising Privacy and Discrimination in an Age of Talent Analytics’ (2014) 37 University of New South Wales Law Journal, 2, 679–712.1
- Miranda Terry and Paul Harpur, ‘The New Era of Segmenting Society on Ability Lines: Workplace Analytics and Disability Discrimination’ (Society for Disability Studies, Atlanta USA, 10–13 June 2015).
- H. Richard McFarland and Donald St. P. Richards, “Exact Misclassification Probabilities for Plug-In Normal Quadratic Discriminant Functions. I. The Equal-Means Case” Journal of Multivariate Analysis, 2001, vol. 77, issue 1, pages 21–53 [http://www.sciencedirect.com/science/article/pii/S0047259X00919249 link to article]
- H. Richard McFarland and Donald St. P. Richards, “Exact Misclassification Probabilities for Plug-In Normal Quadratic Discriminant Functions. II. The Heterogeneous Case” Journal of Multivariate Analysis, 2002, vol. 82, issue 2, pages 299-330 [http://www.sciencedirect.com/science/article/pii/S0047259X01920342 link to article]
外部链接
- [http://www.alglib.net/dataanalysis/lineardiscriminantanalysis.php ALGLIB] contains open-source LDA implementation in C# / C++ / Pascal / VBA.
- [http://www.psychometrica.de/lds.html Psychometrica.de] open-source LDA implementation in Java
- [https://people.revoledu.com/kardi/tutorial/LDA/index.html LDA tutorial using MS Excel]
- [https://web.archive.org/web/20150405124836/http://biostat.katerynakon.in.ua/en/prognosis/discriminant-analysis.html Biomedical statistics. Discriminant analysis]
- [http://www.powercam.cc/chli www.powercam.cc/chli] (中文的影片介紹包含Kernel Method, PCA, KPCA, LDA, GDA, and SVMs)
评论 (0)