十分钟搞定PCA主成分分析

在数据建模当中我们经常会听到一个词叫做降维,首先咱们先来唠一唠数据为啥要降维呢?最主要的原因还是在于一方面使得我们需要计算的量更少啦,想象一下一个100维的数据和一个10维数据计算的速度肯定是不一样的,另一方面如果我们的数据中有很无关特征,这些对结果看起来没什么促进的作用,那我们就干脆把有价值的拿出来,因为他们才是决定模型的关键!

这里写图片描述

第一个强调的关键点:PCA是一种无监督算法,也就是我们不需要标签也能对数据做降维,这就使得其应用范围更加广泛了。那么PCA的核心思想是什么呢?这里我们提到了方差,咱们可以想象一下,如果一群人都堆叠在一起,我们想区分他们是不是比较困难,但是如果这群人站在马路两侧,我们就可以很清晰的判断出来应该这是两伙人。所以基于方差我们可以做的就是让方差来去判断咱们数据的拥挤程度,在这里我们认为方差大的应该辨识度更高一些,因为分的比较开(一条马路给隔开啦)。但是PCA也有一个问题,原来的数据中比如包括了年龄,性别,身高等指标降维后的数据既然维度变小了,那么每一维都是什么含义呢?这个就很难解释了,所以PCA本质来说是无法解释降维后的数据的物理含义,换句话说就是降维完啦计算机能更好的认识这些数据,但是咱们就很难理解了。

这里写图片描述

在我们深入到PCA原理之前,先来解释一下什么叫基,把这个搞清楚之后就好理解了,大家一般所认识的坐标系一般都是X,Y轴。

这里写图片描述

就像我们图上面的,我说有一个向量(3,2),但是为什么这个向量是这样的表示呢?因为它在我们的做标系中,如果我把坐标系换了,它就不是(3,2)了。作为基,首先的一个前提就是要相互垂直,或者说内积为0,因为X和Y它们表达的分别是两种指标,我们不希望它们之间内部存在任何联系,所以必须让他们内积为0,这样就是各自独立的啦!

这里写图片描述

那么对我们坐标来说能否进行变换呢?肯定是可以的,比如我现在把(3,2)变换到另外一组基中,它的表达方式就不一样啦!这回咱们应该发现了这样一个事了吧,所谓的降维就是要把我们的数据投影到最合适的基中,那下面我们的目标就是寻找最好的基!

这里写图片描述

咱这之前,还是得先来了解下另外一个知识点,叫做协方差,刚才我们已经有了目标就是寻找一个基,可以使得我们数据投影过去后方差能够越大越好!这个是我们的前提,但是只满足这一点就够了嘛?还不可以,因为我们还需要保证基的前提就是相互垂直,这就可以用协方差来进行表示啦,如果两个变量他们之间是相互独立的那么它们的协方差就必定为0,这就是我们的第二点要求啦,数据投影到的新基,其各个维度协方差都必须为0。(上图中假定数据各个维度均值为0)

这里写图片描述

终于到啦要揭开谜底的时候啦!我们恰好遇到了一个东西叫做协方差矩阵,在公式中只需要对数据X进行变换就可以得到的。观察一下协方差矩阵,恰好发现了这样一个事,主对角线不就是我们的方差嘛(假设均值为0),非对角线上的元素又恰好是协方差。按照咱们之前的两点约定,我们只需要让方差越大越好,并且协方差等于0不就可以啦嘛!

这里写图片描述

怎么做上面的那件事呢?这就是我们的目标了。让非对角线全为0这就需要对矩阵进行对角化啦,按照我们上面的定理,我们可以完成对角化操作,对我们所得的协方差矩阵求解其特征值与特征向量不就OK啦嘛。接下来按照特征值的大小进行排列,如果你想把数据降到3维,那就取前3个特征值所对应的特征向量就可以啦!

这里写图片描述

全部的过程就在这里啦,其实只需要得到协方差矩阵,然后对角化,将得到的特征向量进行选择就得到我们要投影到的基啦!数据降维操作就这么愉快的搞定啦!

更多机器学习/深度学习内容欢迎关注我的公众号:数据先锋
有任何问题欢迎随时与我私信讨论,微博:迪哥有点愁

这里写图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迪哥有点愁了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值