面试问答:PCA算法介绍?PCA算法过程?PCA为什么要中心化处理?PCA为什么要做正交变化?
(1)简单介绍一下PCA
主成分分析(Principal componet analysis,PCA) 是一种无监督学习方法,利用正交变换把线性相关变量表示的观测数据转换为几个由线性无关变量表示的数据,线性无关的变量成为主成分。主成分的个数通常小于原始变量的个数,属于降维方法。根据分解协方差矩阵的策略,分为两种PCA方法,第一种是基于特征值分解协方差矩阵实现PCA算法,第二种是基于奇异值分解法(SVD)分解协方差矩阵实现PCA算法。
(2)PCA的算法过程
- 对样本数据中心化处理
- 求样本协方差矩阵
- 对协方差矩阵进行特征值分解,将特征值从大到小排列
- 取特征值前d大的特征向量$w1,w2,...,wd$,通过以下映射将n维样本映射到d维度。
$$X_i^{’} = [w_1^Tx_i,w_2^Tx_i,...,w_d^Tx_i]^T$$
其中协方差分解,具体查看博客PCA 主成分分析算法过程及原理讲解
(3)PCA为什么要中心化
把坐标原点放在数据的中心,找方差最大的方向,如果不放在中心,坐标原点就是数据的旁边,映射不到坐标上。
具体讲解看视频解析:B站讲解PCA
(4)PCA的主成分是什么
主成分分析(Principal componet analysis,PCA) 是一种无监督学习方法,利用正交变换把线性相关变量表示的观测数据转换为几个由线性无关变量表示的数据,线性无关的变量称为主成分。
(5)PCA 中为什么要做正交变换?
PCA 的思想是将 n 维特征映射到 d 维上(d<n),这 d 维是全新的正交特征。这 d维特征称为主成分,是重新构造出来的 d 维特征,而不是简单地从 n 维特征中去除其余 n-d维特征。PCA 的目的是选择更少的主成分,那些选上的主成分能够解释数据集中最大方差。通过正交变换,各主成分的相对位置不发生变化,它只能改变点的实际坐标。
(6)PCA与线性判别分析LDA降维的区别?
- PCA是非监督的学习算法,LDA是有监督的学习算法,考虑了类别标签
- PCA选择的是投影后数据方差最大的方向。PCA假设方差越大,信息量越大,用主成分来表示原始数据可以去除冗余的维度,达到降维。LDA选择的是投影后类内方差小,类间方差大的方向,用到了类别标签信息,为了找到数据中具有判别性的维度,使得原始数据在这些方向上投影后,不同类别尽可能区分开。