PCA:主成分分析,一种常用的数据分析方法,不管是在机器学习还是数据挖掘中都会用到。PCA主要通过求数据集的协方差矩阵最大的特征值对应的特征向量,由此找到数据方差最大的几个方向,对数据达到降维的效果,将一个n维的向量降低到d维,其中d<n。本文主要从方差最大化理论解释PCA的实现过程。
首先来看这样几个实际问题,比如那到一个汽车的样本,里面既有千米每小时度量的最大速度特征,也有英里每小时的速度特征,很明显这两者是存在冗余的,知道其中的一个就可以计算另外一个,在特征中并没有必要将二者同时包含在里面。再比如拿到一个数学系本科学生期末考试成绩单,里面有三列,一列是对数学的感兴趣程度,一列是复习时间,还有一列是考试成绩,很明显,考试成绩跟兴趣是相关的,跟复习所用的时间也是相似的,那么可不可以合并前面两列呢?
综合上面两个问题,可以发现,在样本中其实很多时候有些给定的特征是存在冗余的,我们希望在分类 时候所用到的特征都是和我们的标记是相关的,所以就可以用特征降维的方法减少特征数,较少噪声和冗余,减少过拟合的问题。
期望方差与协方差矩阵
给定一个含有m个样本的集合:X={X1,…,Xm}
均值:
方差:
均值描述的是样本集合的平均值,方差描述的是样本集合中各个点到均值的距离的平均,也就是数据的离散程度。
如果数据的维数比较多的话,我们想知道某两个特征之间是否有关系,比如说统计学生的成绩,数学成绩和物理成绩
之间是否有关系,如果有是正相关呢还是负相关,协方差就是用来描述两个随机变量X,Y之间关系的统计量,协方差
定义如下:
协方差的结果为正的话,表明二者之间是正相关,为负的话表明二者之间是负相关。这里的X,Y两个一维的随机变量,
如果随机变量的个数很多呢,这时候就引入了协方差矩阵的概念:对于一个n维的数据,分别计算没两个维度之间的协方
差,就构成了一个协方差矩阵:
可见这是一个对称矩阵,对角线上的是方差。如果数据是三维的,则协方差矩阵如下:
协方差矩阵(也称离差矩阵、方差-协方差矩阵)是一个矩阵,其 i, j 位置的元素是第 i 个与第 j 个随机向量(即随机变量构成的向量)之间的协方差。这是从标量随机变量到高维度随机向量的自然推广。