【机器学习基础】PCA主成份分析算法

特征提取和特征选择(Feature Extraction and selection)

特征提取:主成分分析 PCA:principal component analysis 1947

特征选择:自适应提升算法 AdaBoost 1995

所需数学知识:协方差 线性代数 矩阵求导

特征提取问题描述:【机器学习基础】PCA主成份分析算法

特征选择问题描述:【机器学习基础】PCA主成份分析算法

对于特征提取问题,nn其实也是个提取问题,这里的PCA就类似于一个单层的有M

个神经元的神经网络。

【机器学习基础】PCA主成份分析算法

 

主成分分析的流程:寻找使方差最大的方向 并在该方向投影

【机器学习基础】PCA主成份分析算法
这里ai是一个向量,P是样本的个数。

A是M*N的矩阵可以看做是M个行向量,

X是一个样本维度是N维。

是一个向量,P是样本的个数。

问题转化如下:

【机器学习基础】PCA主成份分析算法

 

为什么最大化的问题转化成:这里减去均值的意思就是相当于找一个坐标系,在该坐标系下首先找一个向量ai,所有样本在新的坐标系下有了新的坐标,ai和所有样本的内积即为在新的坐标下的投影,然后求和求最大方差。

但是

【机器学习基础】PCA主成份分析算法

也即

【机器学习基础】PCA主成份分析算法

【机器学习基础】PCA主成份分析算法

整理一下,原问题转化如下:是一个求条件极值问题,拉格朗日数乘法。

这里涉及到矩阵求导。【机器学习基础】PCA主成份分析算法

【机器学习基础】PCA主成份分析算法

此时的a1就是我们求的第一个向量,二维已经可以降到一维。

 

对于高维情况,继续要求特征值和特征向量,找其他的方向投影最大。

这个方向要求和a1正交。

 

问题转化为如下:

【机器学习基础】PCA主成份分析算法

面证明bata等于0

【机器学习基础】PCA主成份分析算法

【机器学习基础】PCA主成份分析算法

同样的道理可以求A矩阵其他向量。

【机器学习基础】PCA主成份分析算法

 

PCA算法总结如下:计算样本得到的协方差计算特征值 和 特征向量,并排序。

样本本来是N * P 转化成了 M * P的矩阵。

【机器学习基础】PCA主成份分析算法

【机器学习基础】PCA主成份分析算法

对于样本的特征值也可以用SVD快速求出。

图片来自于浙江大学胡浩基教授上课的板书。侵权删。