本文参考了一些日语的课件,所以图片上会出现一些日文,但结合注解看的话问题不是很大
一、主成分分析
1-1 问题导入
主成分分析又称 PCA 算法,即 Principal Component Analysis,本质上是一种改变数据轴的方法,经常被用来降维,以下图为例,PCA算法对原来的两个(x,y)数据轴进行了变换,即相互垂直的红蓝两个数据轴,这么做的目的是尽可能让新的数据轴与数据“贴合”起来,更容易表现出原数据的特征和分布,注意如果新的数据轴数量比原来少,那么就实现了数据降维。
1-2 推导
为了实现降维,我们需要尽可能地将数据轴变换到数据分散程度较大的方向,还是以上图为例,如果要将2维数据降到1维,最好用蓝色的数据轴,因为沿着蓝色数据轴方向数据变化很明显,反之沿着红色数据轴方向数据几乎没有发生变化,这就是所谓的数据分散程度较大的方向,下面我们要考虑如何用数据来具体化分散程度。
如下图所示,将这些样本的平均数据点 x ‾ \overline x x 视为新数据轴的原点,即红蓝数据轴交点位置,以新的数据轴为参考系规定某一单位向量 a = [ a 1 , a 2 ] T a=[a_1, a_2]^T a=[a1,a2]T
任意一个数据点(向量)在 a a a 方向上的投影,或者距离可以表示为 a T ( x − x ‾ ) a^T(x-\overline x) aT(x−x),也就是两个向量的內积;该投影的平方可以表示为, ( a T ( x − x ‾ ) ) 2 = a T ( x − x ‾ ) a T ( x − x ‾ ) = ( a T ( x − x ‾ ) ) ( ( x − x ‾ ) T a ) = a T X a (a^T(x-\overline x))^2=a^T(x-\overline x)a^T(x-\overline x)=(a^T(x-\overline x))((x-\overline x)^Ta)=a^TXa (aT(x−x))2=aT(x−x)aT(x−x)=(aT(x−x))((x−x)Ta)=aTXa
对于所有 n n n个数据点,我们表示出该距离的平均值:
1 n ∑ i = 1 n a T X i a = a T ( 1 n ∑ i = 1 N X i ) a = a T [ 1 n ( x