机器学习:降维算法-主成分分析PCA算法两种角度的推导

若把高维空间的样本点(可以想象是一个3维的)映射到一个超平面,怎样的超平面可以认为是“好的”,可以想到这个超平面大概有这样的性质:

  1. 最近重构行:样本点到超平面的距离都足够近;(样本点变化尽可能小,丢失的信息尽可能少)
  2. 最大可分性:样本点在这个超平面上的投影尽可能分开.(样本点在低维空间区分度尽可能高)

神奇的是,从两个角度出发,可以分别得到主成分分析PCA算法的两种等价推导

根据最近重构性推导

假设样本进行了中心化,即:

机器学习:降维算法-主成分分析PCA算法两种角度的推导.

假设投影变换后新的坐标系为W={机器学习:降维算法-主成分分析PCA算法两种角度的推导},其中机器学习:降维算法-主成分分析PCA算法两种角度的推导是标准正交基向量,机器学习:降维算法-主成分分析PCA算法两种角度的推导.

若丢弃坐标系中部分坐标,即将维度降低到d'<d,得到机器学习:降维算法-主成分分析PCA算法两种角度的推导={机器学习:降维算法-主成分分析PCA算法两种角度的推导},则样本点机器学习:降维算法-主成分分析PCA算法两种角度的推导在低维坐标系中的投影为机器学习:降维算法-主成分分析PCA算法两种角度的推导,其中机器学习:降维算法-主成分分析PCA算法两种角度的推导.若基于机器学习:降维算法-主成分分析PCA算法两种角度的推导来重构机器学习:降维算法-主成分分析PCA算法两种角度的推导,则会得到:

机器学习:降维算法-主成分分析PCA算法两种角度的推导

(上式机器学习:降维算法-主成分分析PCA算法两种角度的推导只是原样本点机器学习:降维算法-主成分分析PCA算法两种角度的推导的的近似,因为丢弃了部分坐标机器学习:降维算法-主成分分析PCA算法两种角度的推导).

对于整个样本集,原样本点机器学习:降维算法-主成分分析PCA算法两种角度的推导和基于投影重构的样本点机器学习:降维算法-主成分分析PCA算法两种角度的推导间的距离为:

机器学习:降维算法-主成分分析PCA算法两种角度的推导.

根据最近重构性,上式应被最小化,得到主成分分析的优化目标

机器学习:降维算法-主成分分析PCA算法两种角度的推导

机器学习:降维算法-主成分分析PCA算法两种角度的推导  机器学习:降维算法-主成分分析PCA算法两种角度的推导.

根据最大可分性推导

投影后,样本点的方差之和为(样本X已中心化:机器学习:降维算法-主成分分析PCA算法两种角度的推导,所以投影后的Z也是中心化的):

机器学习:降维算法-主成分分析PCA算法两种角度的推导.

根据最大可分性,投影后的样本点应尽量分开,所以方差应尽量大,于是从最大可分性角度得到主成分分析的优化目标

机器学习:降维算法-主成分分析PCA算法两种角度的推导

机器学习:降维算法-主成分分析PCA算法两种角度的推导  机器学习:降维算法-主成分分析PCA算法两种角度的推导.

显然,跟从最近重构性角度得到的优化目标是等价的。

利用拉格朗日乘子法,可得:机器学习:降维算法-主成分分析PCA算法两种角度的推导.

发现机器学习:降维算法-主成分分析PCA算法两种角度的推导须是机器学习:降维算法-主成分分析PCA算法两种角度的推导的特征向量。于是,对机器学习:降维算法-主成分分析PCA算法两种角度的推导进行特征值分解,将求得的特征值排序:机器学习:降维算法-主成分分析PCA算法两种角度的推导,取前d'个特征值对应的特征向量构成机器学习:降维算法-主成分分析PCA算法两种角度的推导={机器学习:降维算法-主成分分析PCA算法两种角度的推导}(个人觉得,这里还需保证机器学习:降维算法-主成分分析PCA算法两种角度的推导相互正交,才能满足约束,因为如果有相同的特征值,那么其对应的特征向量不一定正交。顺便补充一个定理:对称矩阵不同特征值对应的特征向量相互正交),这就是主成分分析的解。

算法描述如下:

机器学习:降维算法-主成分分析PCA算法两种角度的推导

其他补充:

有三种方法确定降维后的维度d':

  1. 人为指定;
  2. 在d'值不同的低维空间对k近邻分类器(或其他开销较小的学习器)进行交叉验证来选取较好的d'值;
  3. 设置一个重构阈值,如t = 95%,然后选取使 机器学习:降维算法-主成分分析PCA算法两种角度的推导成立的最小d'值.

PCA算法除了保存投影矩阵机器学习:降维算法-主成分分析PCA算法两种角度的推导,还需保存样本的均值向量,这是为了对新样本同样进行中心化。PCA降维看似舍弃了一部分信息,但这么做是必要的:1、这样做使样本的采样密度增大;2、当数据受到噪声影响时,最小特征值对应的特征向量往往与噪声有关

 

参考资料:

周志华《机器学习》

David.C.Lay《线性代数及其应用》

史荣昌《矩阵分析》

参考博文:

主成分分析(PCA)原理总结

PCA的数学原理

相关博文:

机器学习:降维算法-核主成分分析KPCA算法原理推导

拉格朗日乘子法原理:等式约束和不等式约束