首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据处理 主成分分析法

欢迎点击「算法与编程之美」关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

简介

主成分分析法,简称PCA,主要运用于数据的降维处理,提取更多有价值的信息(基于方差),涉及知识主要是线性代数中的基变换、特征值和特征向量。

问题提出

1.为什么要对数据进行降维处理?

2.怎么对数据进行降维?

3.降维后数据的意义?

问题解决

1.维度越低的数据越有利于计算机处理、分析。在实际应用中,多维信息在一定程度上有重叠,而我们在做某些数据处理时都尽可能的希望数据之间的相关性尽量的少,这样有利于从有限的数据中分析出更多有用的信息,PCA算法便可以做到这点。

2.通过基变换将数据投影到低维度上,什么是基呢?在形式上就很像维度比如三维(x.y,z)、二维(x,y),但是也还有其他要求:

首先:基是正交的(即内积为,或者说相互垂直,也相当于线性无关)。

其次:要求线性无关。

如何得出适当的基?

a.将数据中心化,这样有利于数据的处理。如果表示在一个二维坐标轴上,就是将所有散点向坐标轴原点移动,因为数据的表示、处理都是基于向量,所有数据集中在某个方向的某个区域不利于数据的处理分析,这时就要给每个数据减去其所有数据的均值,这个操作称为零均值化。

b.在对数据进行零均值化处理后,就需要考虑到,一个多维数据集合降维后会出现数据过于集中的情况,而我们在处理数据时是希望有限的样本数据尽量能表达多的信息,所以这种情况是我们不希望看得的。而方差就能简单而且较好的处理数据降维后过于集中的问题。方差的大小可以表示数据的离散程度,所以在选择基的时候我们会尽量去要求方差最大的。

方差:表示一个维度偏离其均值的程度。

c.在数据降维中,可能不是直接降为一维,这就涉及到多个方差的选择,如果都选方差最大的,就会存在这些方差的方向过于集中的问题,比如最大的方差是在x轴方向,那么第二大第三大的一般情况下都会紧挨最大的方差,但是我们在数学建模时又会要求提供的数据尽量是线性无关的,又或者我们尽量将其处理成线性无关的。就比如买菜,一组数据是元,一组数据是角,那么100元和1000角是线性相关的,这样其中一组数据的意义可能就不大。这时就要引入协方差,对其做正交处理,也就是内积等于。

协方差:表示各个维度偏离其均值的程度。协方差的值如果为正值,则说明两者是正相关的,结果为负值就说明负相关的,如果为,也就是统计上说的“相互独立”。

由于已经对数据进行零均值化处理,所以这里a,b的均值都为。公式就简化为:

有没有发现上面的公式其实就是内积的和,我只需要令其等于零,便能做到想要的正交。

d.结合a、b、c,我们首先要干的就两件事,求方差最大(表达更多的信息),令协方差为零(正交处理)。

协方差矩阵就能很好的同时处理这两个问题的问题。

很容易就可以看出,协方差矩阵的主对角线就是由方差组成的,而副对角线就是内积。所以我们要先对协方差矩阵做对角化处理,让主对角线两侧的内积变为0.对角化矩阵可以直接通过特征值得出,需要降到几维,就选取几个特征值,因为特征值即方差,所以要选取最大的几个,然后通过特征值得出基础解系并对其单位化,就得到我们想要的基。

e.最后用基乘原始数据便能得到降维后的数据。

3.假设一个多维数据包括年龄、姓名、身份证等信息,将其降成一维后,这样的数据还有意义吗?对于人来说很大程度上这些数据的意义可能已经消失,但这并不会影响计算机对这些数据进行分析,因为哪怕在没降维前这些数据对于计算机来说也是没有意义的,所以消失的物理意义并不影响计算机处理。

END

实习编辑 | 王文星

责 编 | 马原涛

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190926A008MR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券