定义
PCA的思想是将n维特征映射到k维上(k
背景
在机器学习过程中,第一步就是数据的处理。在大多数机器学习课程中,为了简化理解,前几节课都是只选取1~2个特征量。如此则引出问题,如果特征量多的话怎么办。在分析回归问题时,引入梯度下降法,该方法对于n个特征均成立。同时也发现,可以用矩阵的方式解出theta的值。不过强调了 **特征矩阵X的转制矩阵( XT )与特征矩阵X的乘积要可逆。(当然利用Octave,即使不可逆,也能求出解,不过理论上不成立)
数学知识
在此引入一个数学问题,一个矩阵A什么时候不可逆,简单来说,就是矩阵的秩小于矩阵的行数。也就是说至少存在两个变量是线性相关的。举例,如果以“米”为单位计算长度,和以“厘米”为单位计算长度做特征,两个特征之间有线性关系,一定要除掉一个特征。
如果两个特征关系越强,就越不独立,两者相互影响就越强,既其协方差越大。因为特征不止一个,所以我们求得是一个协方差矩阵,和“特征向量”。
直观理解
如图所示这是一个2维的分布图,我们发现在
V1
方向上数据分布的比较分散,在
V2
方向上分布的比较集中,当最极端时,
V2
方向上只存在一个点,此时2维分布变为1维分布。降维成功。
V1
方向就是协方差矩阵的特征向量。
总结流程
- 得到数据
- 去中心化
- 求协方差矩阵
- 求特征值及特征向量
- 定阈值,取前K个特征值。
- 向特征向量投影