机器学习基础:降维分析

降维分析

为什么要降维?

我们在处理数据的时候,必然将某一样本(sample)的特点用一组特征(feature)来表示。传统的二分法可以简单地用一个特征(或者少数几个特征)来区分大量样本之间的差异或者共性,比如:用性别来划分消费者群体、用年龄来划分用药水平、用业绩指标来划分雇员贡献等等。

但是在数据科学的发展过程中,人们发现很多数据没有办法只用几个特征来描述,必须使用成千上万的特征,比如:

(1)一个细胞的性质必须用两三万个基因的表达量来描述,

(2)一个临床病例需要几百个不同的临床指标来描述,

(3)一个企业的经济学属性必须用许多不同的参数来描述。

仅靠直觉的方式,很难从如此大量的特征中归纳出,到底是哪些关键特征影响了样本的固有属性,也无法对大规模数量的样本进行有意义的分类。

更重要的是,在成千上万的特征中,很多时候并不是某几个特征定义了样本的属性,而是很多特征的一种特定方式的组合导致了样本的独特性质。例如在天气预报这个领域,我们虽然可以从一些简单事实来推测未来天气的变化(如“朝霞不出门,晚霞行千里”),但是若想精确地描述一个地域的天气状态,必然需要将气流、湿度、云层、湍流、经纬度、海陆结构等多方面的参数综合考虑,才有可能更准确地预测未来的天气变化。

为了从成千上万的特征中,找到是哪几种组合方式,最终导致了样本之间的差异性,我们需要将特征进行降维。而降维的过程,概括来说,就是从大量的特征中,找到能够更简明而准确地描述样本属性的几个组合方式。

降维分析,一般来说属于无监督类型的机器学习,因为在降维之前,我们并不知道哪些样本更相似,哪些样本之间差异大,我们更不会知道样本是如何聚类或者分群的。我们需要知道的,仅仅是每个样本是如何用一批特征来描述的。

一个最直接的降维方法,就是找到最能描述样本特征的线性组合,也就是下面要讨论的主成分分析方法(Principal component analysis, 简称PCA)。

PCA方法

对于任意一个 m\times n 的非负矩阵A(包含m个样本,每个样本都有n个特征),总可以用如下方式将其对角化:

A=U\Sigma V^T

其中Um\times m的矩阵,\Sigmam\times n的对角矩阵,Vn\times n的矩阵。由于UV都是酉矩阵,即UU^T=VV^T=I,因此我们在上式等号两边的左右各乘以U^TV,可以得到:

U^TAV=\Sigma

这一变换称为奇异值分解(Singular Value Decomposition, 简称SVD)。上面公式也可以用图像表示为:

图1:奇异值分解(SVD)

注意到上面的红色方框了吗?如果仅保留红框内的部分,这个等式也是成立的:

\tilde{U} ^TA\tilde{V}=\tilde{\Sigma}

其中\tilde{U}m\times k的矩阵,\tilde{V}n\times k的矩阵,\tilde{\Sigma}k\times k的对角矩阵,\tilde{\Sigma}中的k个对角元素就称为Ak个主成分。注意k是远小于mn的。这样做有什么好处呢?我们可以在上式的等号两边的左右各乘以\tilde{U}\tilde{V}^T,得到:

\tilde{U} \tilde{\Sigma} \tilde{V}^T=\tilde{U}\tilde{U}^TA\tilde{V}\tilde{V}^T= \tilde{A} \approx A

这里\tilde{U}\tilde{V}都不是酉矩阵,因此\tilde{A}并不严格等于A。但是当k的值取得比较合适的时候,\tilde{A}非常接近于A。由于k是远小于样本数m和特征数n的,因此我们可以用小得多的矩阵\tilde{U}\tilde{V}\tilde{\Sigma}来描述矩阵A中每个样本的特征。例如,我们可以做如下变换:


图2:主成分分析(PCA)

这样,一个包含m个样本和n个特征的矩阵A,就变成了一个包含m个样本和k个主成分的矩阵B。矩阵B中任意两个样本之间的关联性和差异性都是和矩阵A中的样本几乎是完全一样的。每个主成分都是原来的n个特征的线性组合,而组合的参数就是\tilde{V}矩阵的每一列。

这样的PCA变换,就把原来需要用成千上万个特征来描述的样本,变换成用几个或者十几个主成分来描述的样本,同时又保留了样本之间的关联性和差异性。

PCA分析的优点:

(1)变换的过程中,每个样本的信息几乎是无损地从m个特征传递到了k个主成分;

(2)变换是可逆的,B矩阵乘以\tilde{V}^T就变换回\tilde{A}矩阵(非常接近于A矩阵);

(3)如果新加入一个样本i,无需重新做PCA分析,直接把样本im个特征乘以\tilde{V},就变成了主成分空间中的样本i

然而,PCA分析中,主成分的数目k不能取得太小,否则B矩阵就无法包含A矩阵中每个样本的所有信息。一般来说,当特征数n比较大的时候(例如n>>1000),k的值在5~40之间比较合适。这一特点,导致我们用前2个或者3个主成分来画2维或者3维的样本分布图的时候,很难直观地看到不同样本之间的差异性,以及同一类型样本的聚类效果。如果要在2维(或3维)空间中,更明显地看到样本聚成了几个大类,需要借助tSNE分析或者UMAP分析。

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

推荐阅读更多精彩内容