机器学习基础(2)- PCA与LDA比较

本文用于理解机器学习中常见的两种降维方法,主成分分析和线性判别分析,并对两者进行简单的对比。

基本目录如下:

  1. 什么是PCA?
    1.1 先导数学知识准备
    1.2 PCA基本概念理解
    1.3 PCA推导之最大方差理论

  2. 什么是LDA?
    2.1 LDA基本概念理解
    2.2 LDA理论推导

  3. PCA与LDA的比较分析

------------------第一菇 - 什么是PCA------------------

1.1 先导数学知识准备

在正式深入理解之前还是需要铺垫一些线性代数的基本概念及其计算公式,以方便大家理解之后的数学符号以及矩阵运算的推导过程。

1.1.1 内积与投影

俩个向量A,B内积的计算公式为,

A\cdot B=|A||B|cos(\alpha )
其表示的意义可以简单理解为A到B的投影长度乘以B的模,如果B为单位向量,即B的模为1,则A与B的内积值等于A向B所在直线投影的矢量长度【1】。

1.1.2 方差

用于描述数据的离散程度,计算公式为,

Var(a)=\frac{1}{m}\sum_{i=1}^m{(a_i-\mu)^2}
一般为了简便计算,我们会对数值进行去中心化处理,即\mu为0,则此时计算公式可简便为,

Var(a)=\frac{1} {m}\sum_{i=1}^m{a_i^2}

1.1.3 协方差

用于描述俩个变量之间的相关性,数值去中心化处理以后,其计算公式为,

Cov(a,b)=\frac{1}{m}\sum_{i=1}^m{a_ib_i}
利用该公式可以推广出矩阵X的协方差矩阵的计算公式为,

C=\frac{1}{m}XX^\mathsf{T}

1.1.4 矩阵求导的性质

矩阵的求导,有如下性质,

\frac{\partial A^\mathsf{T}A}{\partial A}=A
矩阵的迹(即矩阵的对角线元素之和)有如下性质,

\frac{\partial tr(AB)}{\partial A}=B^\mathsf{T}

1.1.5 拉格朗日乘子法

一种寻找多元函数在一组约束下的极值的方法。本文不做展开,想深入了解的读者可翻阅周志华老师《机器学习》附录B。

1.2 PCA基本概念理解

PCA(Principal Component Analysis),中文名为“主成成分分析”。顾名思义,其目的就是找到高维数据中的主成分,并利用“主成分”数据,来表征原始数据,从而达到降维的目的。借鉴一个简单的例子,假设有一组数据存在于三维空间的一个平面上(此时需要3个维度来表征数据向量),若我们选择旋转坐标轴使得数据所在平面与x,y平面重合,则此时我们只需要2个纬度即可表征数据,且没有丢失任何数据信息,这就是最简单的数据降维。但是现实生活中的情况,往往数据特征高达上百甚至上千维,我们很难直观去找出一组基平面来完成对数据的降维,此时PCA就有其用武之地了。先直接上一张PCA分解后的图来帮助大家理解。


PCA示例

如图可见,绿色线为第一主成成分方向,黑色线为第二主成成分方向。仔细观察一下图,大家是否能得出如下俩个结论:

(1) 样本点在绿色线上的投影其离散程度要大于其在黑色线上的投影程度。
(2) 样本点到绿色线的平均距离都要小于其到黑色线的距离。

西瓜书上将此俩个结论归纳为最大可分析和最近重构性。其中最大可分性可以理解为我们希望降维过后的数据不影响后续我们对其的分类处理,其数据特征的差异性仍然足够强,也即方差最大;最近重构性可以理解为我们希望降维过后的数据仍然保留有其主要的特征,也即数据样本点到这个超平面的距离和最小。

接下来,本菇就按此两种目标,分别推演一把PCA问题的求解。

1.3 PCA推导之最大可分性

最大可分性理论的目标函数就是最大化数据在主轴上的投影的方差。假设现有一组已去中心化的数据\{x_1,x_2,x_3,...,x_n\}其中,向量{x_i}W超平面上的投影为x_{i}^{\mathsf{T}}W那么投影后的方差即可表示为,

D(x) =\frac{1}{n}\sum_{i=1}^{n} (x_{i}^{\mathsf{T}}W)^{2}
展开以后,我们可以得到,

D(x) = \frac{1}{n}\sum_{i=1}^{n}W^{T}x_{i}x_{i}^\mathsf{T}W
其实推导到这里,不难看出,样本的协方差矩阵即为,

C=\sum_{i=1}^{n}x_{i}x_{i}^\mathsf{T} = XX^{T}
D(x)就是“降维”后的样本的协方差矩阵。而联想到我们的优化目标就是同一纬度的方差最大,不同维度的相关性为0,如下图矩阵所示。

理想的协方差矩阵.png
也就是说,如果我们期望同一维度的方差最大,本质上就等于最大化该降维后样本的协方差矩阵的迹,如此一来,我们的优化目标就出来了,限制条件显然有 W 是正交的,所列如下,

\max\ tr(W^{T}CW) s.t. W^{T}W=I
此时便可引入拉格朗日乘子法得到,

f(W) = tr(W^TCW) + \lambda (W^TW-I)
求导并令其等与0可得,

\frac{\partial f}{\partial W} = \frac{\partial tr(W^TCW)}{\partial W} + \lambda \frac{\partial (W^TW)}{\partial W}=0
根据先导知识矩阵迹求导的性质,便可以推出,

CW=\lambda W
此时,

D(x) = W^{T}CW = W^{T}\lambda W = \lambda
至此真相大白,原来 x 投影后的方差就是协方差矩阵的特征值,而我们想要的最大方差,显然就是协方差矩阵最大的特征值,最佳投影方向就是最大特征值所对应的特征向量。(另一种基于最近重构性的推导方法,较最大方差推导略为复杂一点,但其最后也是殊途同归,本文就不做展开)

总结一下,我们就可以梳理出整一个PCA降维的流程,归纳如下,
(1)样本去中心化
(2)计算样本的协方差矩阵XX^{T}
(3)对协方差矩阵做特征值分解
(4)取最大的d^{'} 个特征值所对应的特征向量
(5)计算投影矩阵

------------------第二菇 - 什么是LDA------------------

2.1 LDA基本概念理解

LDA(Linear Discriminant Analysis),中文名为“线性判别分析”,是目前数据挖掘领域中比较经典且热门的一种有监督的算法。从降维的层面考虑,其也是在寻找一个投影矩阵,使得投影之后数据样本,同类的接近,而不同类的远离。(其作为分类器的时候,就可以对新的数据也进行投影,依据与哪一个类别接近来确定类别)。这里盗用一张周志华老师《机器学习》里面的一张图,来方便大家理解【2】。


LDA示例.jpg

仔细观察投影后的结果,不难发现,LDA的中心思想就是最大化类间距离以及最小化类内距离。接下来,我们就按照这个思想,进行详细的推导。

2.1 LDA理论推导

我们以最简单的二分类为切入口,首先我们定义俩个样本C_1, C_2, 均值分别为\mu_1, \mu_2,投影方向为w,则投影后俩个样本之间的距离就可表示为,

D(C1, C2) = \left |\left| w^{T}(\mu_1 - \mu_2) \right |\right|_{2}^{2}
接着,我们需要表示出投影后样本的方差,

Var(C_1^{'}) = \sum_{x\in C_1}(w^Tx-w^T\mu_1)^{2} Var(C_2^{'}) = \sum_{x\in C_2}(w^Tx-w^T\mu_2)^{2}
此时我们的优化目标即可写为,

J(w) = \frac{D(C1, C2) }{Var(C_1^{'}) + Var(C_2^{'}) }
代入上式化简后我们可得,

J(w) = \frac{w^T(\mu_1-\mu_2)(\mu_1-\mu_2)^{T}w}{\sum_{x\in C_i}w^T(x-\mu_i)(x-\mu_i)^{T}w}
此时我们可以分别定义类间散度矩阵S_b,以及类内散度矩阵S_w如下,

S_w = \sum_{x\in C_i}(x-\mu_i)(x-\mu_i)^{T}
S_b = (\mu_1-\mu_2)(\mu_1-\mu_2)^{T}
则此时我们的优化目标可以简化为,

\max J(w)= \frac{w^{T}S_bw}{w^{T}S_ww}
我们要最大化J(w)只需对w求偏导,并令导数等于0,得到,

(w^TS_ww)S_bw=(w^TS_bw)S_ww
代入原式,我们便可以得到,

S_bw=\lambda S_ww
其中\lambdaJ(w),显然为一个数,那么在整理一下,我们就可以得到,

S_w^{-1}S_bw = \lambda w
至此真相大白,原来我们最大化的目标就对应了矩阵S_w^{-1}S_b的最大特征值,而投影方向就是这个特征值对应的特征向量。

再进一步思考,将LDA扩展至多类高维情况(\mu为全局中心,N为总的类别个数,m为样本个数),类间散度矩阵会重新定义为全局散度矩阵,即类内散度与类间散度之和,

S_t = S_b + Sw = \sum_{i=1}^{m}(x_i - \mu)(x_i - \mu)^{T}
其类内散度矩阵变为每个类的类内散度矩阵之和,

S_w = \sum_{i=1}^{N}S_{wi}
则此时我们可以推出,

S_b = \sum_{i=1}^{N}m_i(\mu_i - \mu)(\mu_i - \mu)^{T}
其中m_i为第i个样本的个数。
形象的理解一下,其实现在的优化目标就变为每一个类别的中心到全局中心到加权距离,更形象的讲就是我们希望我们每一个类别的中心都离全局的中心足够远。参考书上【2】,我们此时的优化目标就变为,

J(w) = \frac{tr(w^TS_bw)}{tr(w^TS_ww)}
其最后的结论仍与上面相符,即为矩阵S_w^{-1}S_b的最大特征值,投影方向就是这个特征值对应的特征向量。

总结一下,我们就可以梳理出整一个LDA用于降维的流程,归纳如下,
(1)计算每个类别的均值\mu_i,全局样本均值\mu
(2)计算类内散度矩阵S_w,全局散度矩阵S_t,类间散度矩阵S_b
(3)对矩阵S_w^{-1}S_b做特征值分解
(4)取最大的d^{'} 个特征值所对应的特征向量
(5)计算投影矩阵

------------------第三菇 - PCA与LDA的比较分析------------------

至此,已经讲述清晰PCA与LDA的理论概念及其推导过程,从过程来看,他们有着很大的相似性,最后其实都是求某一个矩阵的特征值,投影矩阵即为该特征值对应的特征向量。但是其原理也稍有不同,现总结如下。

  1. PCA为非监督降维,LDA为有监督降维
  2. PCA希望投影后的数据方差尽可能的大(最大可分性),因为其假设方差越多,则所包含的信息越多;而LDA则希望投影后相同类别的组内方差小,而组间方差大。LDA能合理运用标签信息,使得投影后的维度具有判别性,不同类别的数据尽可能的分开。

举个简单的例子,在语音识别领域,如果单纯用PCA降维,则可能功能仅仅是过滤掉了噪声,还是无法很好的区别人声,但如果有标签识别,用LDA进行降维,则降维后的数据会使得每个人的声音都具有可分性,同样的原理也适用于脸部特征识别。

所以,可以归纳总结为有标签就尽可能的利用标签的数据(LDA),而对于纯粹的非监督任务,则还是得用PCA进行数据降维。

简单总结一下本文,先是讲述了PCA及LDA的一些基本概念,引导读者理解其数学背后的本质,接着也附上了比较详尽的数学推导进一步加深读者的理解,最后也简单的比较了一下这两者的区别及应用场景。希望大家读完本文后对机器学习降维这一块有全新的认识。有说的不对的地方也请大家指出,多多交流,大家一起进步~😁

参考文献:
【1】https://zhuanlan.zhihu.com/p/21580949
【2】周志华《机器学习》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容