之前想在网上搜图拉普拉斯矩阵的中文资料,但却一篇都搜不到,只好自己写一篇了。
其实原理也不难。
首先是一些基本概念,PCA:
然后是LDA:
然后是图拉普拉斯的最优化问题的构造
图拉普拉斯是要找到高维向量的一个低维流形,该流形能够保持数据的分布特征,具体的说就是让高维空间相近的点(也就是高维向量,这里看作点比较直观)在低维空间也相近,在高维空间相隔远的点在低维空间也离得远。
在这篇Paper,保持数据特征的具体实现方法就是Locality Preserving Projection(LPP),它将问题简化,只考虑与每个点最邻近的点(k nearest neighbors,所以整个数据就变成了图的形式了,只考虑每个点的邻边),让它们在低维空间保持近邻的分布,别的点就不管了。
如下图的公式所示,高维空间两个点xi和xj映射到一维空间后结果为yi和yj,LPP希望找到一个w向量 (yi=w' * xi) ,使得以下目标函数最小
然后就是一通数学推导
这个L=D-S就是我们要的图拉普拉斯矩阵。这个推导只要注意一下Dii的下标就可以了,不算很复杂。
最后这个优化问题可以化作求特征值的问题:
后面这篇文章还分析了LPP与LDA和PCA的关系,以及用在人脸识别的性能。这里就不详细说了,我写这个博客只是想来填补图拉普拉斯矩阵这个空白的。
参考文献:
He, Xiaofei, et al. "Face recognition using Laplacianfaces." Pattern Analysis and Machine Intelligence, IEEE Transactions on 27.3 (2005): 328-340.