【编程】三分钟搞懂PCA主成分分析!

欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】


主成分析PCA

Principal components analysis,简单说就是物体的分类来说,它们的哪些属性更重要,这些重要的属性就叫做主要成分Principal components 。比如对于人的身材来说,身高、体重、体脂率这些肯定是主要成分,年龄、月收入这些肯定不是。

但数学运算根本不懂这些现实道理,有没有办法直接用数学方法,把那些对分类影响最大的属性找出来呢?PCA主成分析就是用数学运算来判断哪些属性更重要,哪些不重要,——它根本不管你是要区分胖瘦还是区分贫富。

方差

三个人,韩梅梅、李雷和小明,体重分别是40,50,60。平均数mean就是160,那么方差Variance就是
Var(三人体重)=(150-160)^2+(160-160)^2+(170-160)^2

所以方差其实是和平均数的差的平方之和,方差其实是差、方、和

更多数字的方差也是一样,如下图,中间红线是水平方向7个点的平均值,方差就是蓝色虚线长度的平方和,反正要平方也就无所谓正负。

方差公式就是:

Var(x)=d_1^2+d_2^2+d_3^2+...d_n^2

什么样的分布数据最好用?能帮助我们进行分类的数据就是好数据。

如上图所示,蓝色A的分布情况最好,一眼就能开出平均值左右分成两类;橙色的B也不错,但怎么划分就看不大懂了;绿色C就糟糕了,都挤在中间,没法划分。但也不要觉得绿色中间那一堆有问题,去掉两端的两个,把中间这一堆横向拉长舒展开,就是红色D的情况,其实并不比B差。

用数学表示就是A的方差最大,B其次,C最小。结论就是,在一般情况下,对于一个属性的数据分布来说,方差越大越好分类

那么两个属性相比,怎么判断哪个数据更好一些?

协方差

把样本当做圆点,两个属性分别对应xy轴,画到二维坐标上,这样计算方差用的d就分别落到了横向和竖向的坐标轴上面。如下图所示。

协方差Covariance就是每个点P对应的蓝色虚线乘以绿色虚线,然后把得到的所有乘积再相加。公式如下,其中\bar{x}是横向平均数,\bar{y}是竖向平均数,即图中所示短红线:

Var(x)=(P_{1x}-\bar{x})(P_{1y}-\bar{y})+(P_{1x}-\bar{x})(P_{1y}-\bar{y})...+(P_{nx}-\bar{x})(P_{ny}-\bar{y})
即:
Var(x)=d_{1x}*d_{1y}+d_{1x}*d_{1y}...d_{nx}*d_{ny}
如果xy是同一个属性的话就变成了方差d_{1x}^2+d_{1x}^2+...d_{nx}^2

不过说这些都没用,我们也不用讨论到底是蓝色虚线加起来大还是绿色虚线加起来大,因为它们两个肯定都不是最大的,谁是最大呢?

坐标系变换

“横看成岭侧成峰”,对于一排数据来说,高低起伏的山峦从侧面看成一座秃山那就是废了。对分类影响比较大的一定是既成簇又分团的数据。

观察角度不好就是千手观音,角度好了才能看出高矮胖瘦。比如下面这个图上的五个采样点,无论是横轴和纵轴看,分布的都比较均匀。但如果沿着y'方向看,就会发现这5个点在x'方向上投影的灰色圆点呈簇分布,而且在x'方向上各个点的虚线也都比蓝色或者绿色虚线长,也就是方差比较大。

所以说,不要拘泥于现有数据的角度来观察,要变换到方差最大的角度来分析。现有的数据角度未必是对分类产生最大影响的数据,那条斜着的x'属性才是影响分类的主要成分Principal components,一般叫做PC1。和PC1垂直的y'就是PC2。

从这个旋转后的坐标可以更加清晰的看出这些点的分布主要由PC1决定。而PC1和PC2影响力的比例也可以用各自方向上的方差来计算。

三维坐标

同样对于x,y,z三维坐标中的一团样本点,像云朵一样分布,我们仍然可以找到贯穿整个云朵的最长的那条轴线,以及和它互相垂直的另外两条轴线。这样我们就针对x,y,z变换得到新的x',y',z'即PC1、PC2、PC3。

主成分分析的意义

其实某种意义上讲,x'y'就是原来x,y的另外一种角度的表现形式。

得到主成分轴向(属性)的目的就是为了可以舍弃其他次要的成分,当然,主成分属性也是优于其他成分的属性,缺点就是这个属性没法用语言来解释。

假象我们有1000个属性数据,实在太多了,这时候就可以用主成分分析。把它们放到一千维的坐标系里面,每个属性占一维。然后在这个复杂空间中的样本云中找出贯穿其中方差最长的那个方向,它就是PC1,再找出方差其次长的PC2,PC3,...PC1000。

原本1000个属性我们不知道谁重要谁不重要,但现在我们知道PC1最重要,PC2其次...所以我们就可以只留下前面比较重要的PC1到PC10,其余的900个都忽略掉。注意这里PC1并不是和第一个属性对应的,甚至1000个新PC属性和原来1000个属性之间没有一一对应关系,谁也不知道在这1000维的坐标空间中PC1这个箭头指向哪里,更没法说它是和身高、体重、年龄那个属性对应了。

附注:在上面的二维坐标系中,x'一定优于y'吗?似乎并不见得,虽然x'看上去的确比y'长太多,方差也大很多。但还是应该把它们的分布放到同等的范围内进行比较,如下图所示,当把x'横向缩短到y'范围内之后如下图所示,y'的成簇情况要比x'还好一点点,方差也大一点。后续再仔细学习和验证吧。另外,开始也没有将所有属性(身高、体重、年龄等)数值都统一到同样范围(归一化),但似乎并不是这个问题的原因。


欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】


每个人的智能新时代

如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~


END

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

推荐阅读更多精彩内容