机器学习 之 PCA

什么是PCA?

 

PCA是一种降维方法,全名叫做主成分分析。在数据维度较高,难以分析及可视化的时候,可以考虑使用PCA进行数据降维。简单来说,就是用一个较低维度的数据来表示高维的数据。N->K

 

机器学习 之 PCA_第1张图片机器学习 之 PCA_第2张图片

 

一个典型的PCA例子

 

机器学习 之 PCA_第3张图片

将原本在二维空间的数据映射到红色的一维空间上进行表示,由两个维度x,y来表示数据的变成只用一个维度z来表示了。

主成分分析的目的是使得在低维空间中,数据点到投影点的距离(欧氏距离)最小。

 

数据压缩的前置工作

 

1.数据标准化

计算不同特征下,所有数据在这个特征上的均值:

机器学习 之 PCA_第4张图片

使用X-u代替X,也就是用偏差代替真实值。

2.对数据特征进行缩放

机器学习 之 PCA_第5张图片

 

PCA算法:

 

1.计算协方差矩阵

机器学习 之 PCA_第6张图片

对于每一条数据,是N维的,X是n*1维的向量,其转置是1*n维的向量,乘起来得到n*n维的矩阵,对所有数据的矩阵求和取平均得到协方差矩阵。

 

2.SVD分解(特征向量计算方法)

我们使用U矩阵即可:

机器学习 之 PCA_第7张图片

我们得到一个n*n的u矩阵,

取其前k列即可得到一个n*K的低维空间,这就是降维后的向量空间。

3.完成映射

机器学习 之 PCA_第8张图片

对得到的矩阵转置乘以原来的数据x将得到X在K维度上的一个表示Z

 

如何选择K呢?

低纬度映射不是随便映射的,一旦降为就会出现数据的信息丢失。我们一般保留99%的方差:

机器学习 之 PCA_第9张图片

我们也可以使用SVD的结果中的S矩阵进行简化计算:

机器学习 之 PCA_第10张图片

 

压缩重现

回到高维的数据(有损)

 

你可能感兴趣的:(Machine,Learing)