前几天学习了PCA,LDA算法,都是经典的降维算法。第一种为无监督学习,第二种为监督学习。
今天看了另一种监督学习的降维算法LPP(Locality Preserving Projection),在此记录下自己的心得体会。
就从算法的步骤上来说,LDA和LPP有着惊人的相似,以至于我怀疑他们之间只是同一种方法的不同表示。为了验证我的想法,我采用这两组算法对相同的数据进行降维,降维后的数据证明了我的想法是错的。但是降维后的数据确实非常的相近。还请各路大神指导两者之间的关系。
LPP算法先需要用明确类别的样本进行训练。
如有n个K维训练样本,X1,X2...Xn构成矩阵X,样本分为C种。我们需要先构造一个N*N的权重矩阵W.
Wij的值对应样本Xi和样本Xj的关系。Wij有两种表示方法,我在此就介绍简单的一种,即当且仅当Xi和Xj是同一类的数据时,Wij为1,其余为0。这样我们就可以够着一个N*N的矩阵了。
接着构造一个对角矩阵D,其中Dii等于W矩阵中第i行或者第i列的和(W为对称阵)。