数据降维——PCA、SVD

1. 数据降维

数据降维的目的:数据降维,直观地好处是维度降低了,便于计算和可视化,其更深层次的意义在于有效信息的提取综合及无用信息的摈弃。

降维方法 __ 属性选择:过滤法;包装法;嵌入法; 

      |_ 映射方法 _线性映射方法:PCA、LDA、SVD分解等 

            |_非线性映射方法: 

                  |__核方法:KPCA、KFDA等 

                  |__二维化: 

                  |__流形学习:ISOMap、LLE、LPP等。 

            |__其他方法:神经网络和聚类

2. 主成分分析PCA

2.1. PCA简介

    PCA(Principal Components Analysis)即主成分分析,是图像处理中经常用到的降维方法。它不仅仅是对高维数据进行降维,更重要的是经过降维去除了噪声,发现了数据中的模式。PCA把原先的n个特征用数目更少的m个特征取代,新特征是旧特征的线性组合,这些线性组合最大化样本方差,尽量使新的m个特征互不相关。

    PCA方法通过消除数据的相关性,找到一个空间,使得各个类别的数据在该空间上能够很好地分离。在图1中,有一些离散的二维分布点,其中五角星表示一类集合,小圆圈表示另一类集合,假设这两个类别可以用特征X和特征Y进行描述,由图可知,在X轴和Y轴上这两个类别的投影是重叠的,表明这些点的两个特征X和Y没有表现出突出的识别性。但是两个类的投影在Z轴上区分度较大,显示出很好的识别性。PCA就是这样的一个工具,它可以产生非常好的降维效果。

图1 PCA降维和分类示意图

2.2. PCA优缺点

优点:1)最小误差。2)提取了主要信息 

缺点:1)计算协方差矩阵,计算量大

2.3. PCA降维流程

图2 PCA降维流程图

2.3.1. 特征中心化

    即每一维的数据都减去该维的均值。这里的“维”指的就是一个特征(或属性),变换之后每一维的均值都变成了0。假设二维数据如图3所示,特征中心化的结果如图4所示。

图3 特征中心化前
图4 特征中心化后

2.3.2. 计算协方差矩阵

    样本X和样本Y的协方差(Covariance):

图5 协方差矩阵计算公式

    协方差为正时说明X和Y是正相关关系,协方差为负时X和Y是负相关关系,协方差为0时X和Y相互独立。Cov(X,X)就是X的方差(Variance)。当样本是n维数据时,它们的协方差实际上是协方差矩阵(对称方阵),方阵的边长是n(n-1)/2。比如对于3维数据(x,y,z),计算它的协方差就是:

图6 范例协方差矩阵  

2.3.3. 计算特征值和特征向量

    若AX=λX,则称λ是A的特征值,X是对应的特征向量。实际上可以这样理解:矩阵A作用在它的特征向量X上,仅仅使得X的长度发生了变化,缩放比例就是相应的特征值λ。当A是n阶可逆矩阵时,A与P^(-1)Ap相似,相似矩阵具有相同的特征值。特别地,当A是对称矩阵时,A的奇异值等于A的特征值,存在正交矩阵Q(Q^(-1)=Q^(T)),使得:

图7 正交矩阵

    对A进行奇异值分解就能求出所有特征值和Q矩阵。A∗Q=Q∗D,D是由特征值组成的对角矩阵由特征值和特征向量的定义知,Q的列向量就是A的特征向量。

2.3.4. 将样本点投影到选取的特征向量上

    将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。这里特征值只有两个,我们选择其中最大的那个,这里是1.284,对应的特征向量是(--0.677,0.735)T

    假设样例数为m,特征数为n,减去均值后的样本矩阵为DataAdjust(m*n),协方差矩阵是n*n,选取的k个特征向量组成的矩阵为EigenVectors(n*k)。那么投影后的数据FinalData

    这里是FinalData(10*1)= DataAdjust(10*2矩阵)×特征向量(--0.677,0.735)T,得到结果是将原始样例的n维特征变成了k维,这k维就是原始特征在k维上的投影。

图8 最终结果

2.4 PCA降维深析

作者:史博

链接:https://www.zhihu.com/question/30094611/answer/275172932

来源:知乎

PCA理解第一层境界:最大方差投影

正如PCA的名字一样, 你要找到主成分所在方向, 那么这个主成分所在方向是如何来的呢?

其实是希望你找到一个垂直的新的坐标系, 然后投影过去, 这里有两个问题。第一问题: 找这个坐标系的标准或者目标是什么?第二个问题, 为什么要垂直的, 如果不是垂直的呢?

如果你能理解第一个问题, 那么你就知道为什么PCA主成分是特征值和特征向量了。  如果你能理解第二个问题, 那么你就知道PCA和ICA到底有什么区别了。

对于第一个问题: 其实是要求解方差最小或者最大。 按照这个目标, 你代入拉格朗日求最值, 你可以解出来, 主成分方向,刚好是S的特征向量和特征值! 是不是很神奇?伟大的拉格朗日(参考 "一步一步走向锥规划 - QP" "一挑三 FJ vs KKT")

现在回答了,希望你理解了, PCA是对什么东西求解特征值和特征向量。 也理解为什么是求解的结果就是特征值和特征向量吧!

这仅仅是PCA的本意! 我们也经常看到PCA用在图像处理里面, 希望用最早的主成分重建图像:

这是怎么做到的呢?

PCA理解第二层境界:最小重建误差

什么是重建, 那么就是找个新的基坐标, 然后减少一维或者多维自由度。  然后重建整个数据。 好比你找到一个新的视角去看这个问题, 但是希望自由度小一维或者几维。

那么目标就是要最小重建误差,同样我们可以根据最小重建误差推导出类似的目标形式。

虽然在第二层境界里面, 也可以直观的看成忽略了最小特征值对应的特征向量所在的维度。  但是你能体会到和第一层境界的差别么? 一个是找主成分, 一个是维度缩减。  所以在这个层次上,才是把PCA看成降维工具的最佳视角。

PCA理解第三层境界:高斯先验误差

在第二层的基础上, 如果引入最小二乘法和带高斯先验的最大似然估计的等价性。(参考"一步一步走向锥规划 - LS" “最小二乘法的4种求解” ) 那么就到了理解的第三层境界了。

所以, 重最小重建误差, 我们知道求解最小二乘法, 从最小二乘法, 我们可以得到高斯先验误差。 

有了高斯先验误差的认识,我们对PCA的理解, 进入了概率分布的层次了。 而正是基于这个概率分布层次的理解, 才能走到Hinton的理解境界。

PCA理解第四层境界(Hinton境界):线性流形对齐

如果我们把高斯先验的认识, 到到数据联合分布, 但是如果把数据概率值看成是空间。  那么我们可以直接到达一个新的空间认知。

这就是“Deep Learning”书里面写的, 烙饼空间(Pancake), 而在烙饼空间里面找一个线性流行,就是PCA要干的事情。 我们看到目标函数形式和最小重建误差完全一致。  但是认知完全不在一个层次了。

3. 奇异值分解SVD

3.1. SVD简介

    奇异值分解(Singular Value Decomposition,SVD),是一种提取信息的方法。比如有一份记录用户关于餐馆观点的数据,要对其进行处理分析,提取背后的因素,这个因素可能是餐馆的类别,烹饪配料等,然后利用这些因素估计人们对没有去过的餐馆的看法,从而进行推荐,提取这些信息的方法就叫奇异值分解法。

    奇异值分解能够简约数据,去除噪声和冗余数据。其实它说白了也是一种降维方法,将数据映射到低维空间。从数学的角度讲,它就是一种矩阵分解法,就是把一个大矩阵分解成易于处理的形式,这种形式可能是两个或多个矩阵的乘积,就如同我们在代数中的因子分解,这种因子分解在数学里便于我们计算。

3.2. SVD的定义

    假设我们的矩阵A是一个m×n的矩阵,那么我们定义矩阵A的SVD为

    假设A是一个N * M的矩阵,那么得到的U是一个N * N的方阵(里面的向量是正交的,U里面的向量称为左奇异向量),Σ是一个N * M的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值),V’(V的转置)是一个N * N的矩阵,里面的向量也是正交的,V里面的向量称为右奇异向量),从图片来反映几个相乘的矩阵的大小可得下面的图片

    那么奇异值和特征值是怎么对应起来的呢?首先,我们将一个矩阵A的转置 * A,将会得到一个方阵,我们用这个方阵求特征值可以得到:

    这里得到的v,就是我们上面的右奇异向量。此外我们还可以得到

    这里的σ就是上面说的奇异值,u就是上面说的左奇异向量。奇异值σ跟特征值类似,在矩阵Σ中也是从大到小排列,而且σ的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。也就是说,我们也可以用前r大的奇异值来近似描述矩阵,这里定义一下部分奇异值分解:

    r是一个远小于m、n的数,这样矩阵的乘法看起来像是下面的样子:

    右边的三个矩阵相乘的结果将会是一个接近于A的矩阵,在这儿,r越接近于n,则相乘的结果越接近于A。而这三个矩阵的面积之和(在存储观点来说,矩阵面积越小,存储量就越小)要远远小于原始的矩阵A,我们如果想要压缩空间来表示原矩阵A,我们存下这里的三个矩阵:U、Σ、V就好了。这里我们用一个简单的例子来说明矩阵是如何进行奇异值分解的。我们的矩阵A定义为:

3.3. SVD的计算

作者:漫漫成长

链接:https://zhuanlan.zhihu.com/p/29846048

来源:知乎

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

推荐阅读更多精彩内容