PCA(Principal Component Analysis)主成分分析

原文:http://blog.csdn.net/orthocenterchocolate/article/details/39401767


今天给大家说说主成分分析这个玩意~那么,首先来说说它是干嘛用的吧,它是就来做特征选择(Feature Selection),或者说降维(Dimension Reduction)的。其实特征选择和降维是有联系的,因为特征选择的结果是把那些有用的特征给选出来,冗余的没用的特征给去掉,那么这样之后特征维数自然而然就降低了。那为什么要做特征选择呢?举个具体例子,假设有一大堆网页,然后想对这些网页做聚类(Clustering),所用特征是网页中文本分词后的各词项的TD-IDF值,那么这个特征有多少维?维数等于分词后能分出的不同的词项的个数,那么这个个数能有多大呢?在我实际的研究工作中所碰到的词项数大约是500W的级别,那么就是说,如果采用这些词项做为特征中的词项,那么特征空间就是500W维的,这是个巨大的数字,会给计算带来灾难,这就是所谓的维灾(Dimension Curse),因此有必要通过特征选择来降维。除此之外,还有别的原因需要做特征选择,比如说现在有一堆用户的数据,想对用户进行聚类,但是现在用户特征很多,其中有很多特征意义不大,如果聚类的时候把这些特征也考虑进去,会干扰聚类的效果,但是特征太多,我们人眼又很难看出什么特征有用,什么特征没用。

        那么PCA是怎么选择特征的呢?它是怎么定义所谓的“有用的特征”?它的思想是这样的:它把高维特征通过线性变换,变换到低维空间中,使得在这个低维空间中,特征的方差尽可能地大。这时低维空间中的特征就是被选择出来的特征,就是所谓的主成分,而其它次要的成分就被剔除了。为什么希望方差大呢?因为方差大,就表示这个维上的数据所包含的信息比较丰富。举个例子,比如现在有10个人的数据,每条数据有两个维:出生地,性别,10个人的出生地各不相同,5男5女。从感觉上看,哪一维所包含的信息量大一些?是不是出生地呢?如果我一说出生地,是不是马上就可以找到那个人了呢?因此出生地各不相同嘛,而性别呢?因此性别只有2种,因此会有大量重复的值,也就是很多人的值都是一样的,这个属性对于人的刻画效果不好,比如你找一个性别是男的人,可以找到5个,这5个人从性别这一维上看,是完全一样的,无法区分。从PCA的角度来看,出生地这个维的方差就要比性别这个维的方差要大,而方差大就说明包含的信息比较丰富,不单一,这样的特征是我们希望留下的,因此就这个例子来看,PCA更倾向于保留出生地这个特征。

        那么是不是简单的就把需要保留的特征留下来,不需要保留的特征去掉就行了呢?比如说刚才那个人的数据的例子,是不是直接把性别这个特征去掉就完了?远远不止那么简单,PCA是把原特征映射到一个低维空间上,使得特征在这个低维空间中的方差最大,如果是直接去掉特征维的话,那么剩下的特征不一定是低维空间中方差最大的。这里要注意一个问题,继续刚才那个人的数据的例子,有2维,性别和出生地,如果用PCA把它降成1维,那么这一维是什么?这是没有定义的,也就是说,这一维既不是性别,也不是出生地,它已经没有定义了,我们只知道它是1维选择出来的特征而已,但这并不影响我们对特征的使用。

        再回想一下刚才说的PCA的思想:它的思想是这样的:它把高维特征通过线性变换,变换到低维空间中,使得在这个低维空间中,特征的方差尽可能地大。下面我们就来看看如何达到这个效果。

        假设有一堆m维的特征:


        我们想把它降到k维,其中k<m,为了方便讲解,先假设降到1维,怎么降呢?取一个m维的向量α,那么把上面的那些m维向量降到1维就是:


        这时每个特征就变成了一个值,也就是1维了。注意,现在的α还是未知的,是我们要求的,求出α后,我们就知道降维后的特征是什么样了。

        那么降维后的特征的方差就是:



     其中S刚好就是协方差矩阵。

     好了,现在我们的目标就是最大化

,也就是求当是什么的时候,
最大,怎么求呢?我们首先来看看,假如S中的元素都是正的,那我把中的元素取成尽量大,是不是
就越大?那这样就应该是正无穷,这就没法求了,那怎么办?我们要对进行某种限制,在这里,限制满足
这样一来,求解
的最大值就变成了在有限制条件的情况下求,高等数学还记得么?应该怎么求呢?拉格朗日乘子法还有印象么?构造拉格朗日函数:

       然后对求导并令导数为0得: 



       再变换一下得:


       呵呵呵呵呵呵,还记得学过的线性代数么?上面这个形式不就是矩阵S的特征值和特征向量的式子么?其中

是矩阵S的特征值,α是特征值对应的特征向量,而我们要求的就是α,矩阵S的特征向量很容易求,所以我们要求的就可以顺利地求出来了。

       这里注意一个问题,可能会有人问,那如果矩阵S有多个特征值,那该选哪个,大家仔细回前面看矩阵S的定义,可以发现,如果你要降到k维,那么矩阵S就是k乘k的,于是S就最多有k个特征值,所以就没得选,刚好够,不多也不少。

       刚才说的是降到一维的情况,那降到k维该怎么办?刚才说到,如果是降到k维,S刚好有k个特征值,于是对应有k个特征向量,假设求出来分别是:

       记矩阵,此时A是m乘k的,那么将原始特征向量降到k维就是:


    至此,我们就完成了将m维特征向量降到k维,在处理大数据时,经常会碰到高维数据,降维是很有用的,有些时间甚至是必须的,因为有时候维数实在太高,算法对高维向量进行运算所需的时间、空间开销是非常巨大的,降维能有效的减小这些开销。但是降维是会常来信息的丢失的,毕竟维数少了,信息量也少了,因此,降维算法实际上就是想在降维的时候,尽量保留有用的信息,去除冗余的信息,可以说降维是用损失一些信息来换取对高维特征向量进行运算所产生的时空开销的削减。

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

推荐阅读更多精彩内容