Diffusion Map扩散映射

扩散映射是一种非线性降维的方法。

Diffusion map使用了diffusion process的方法,假设黄色数据点a为热源,它可以扩散到其他点,扩散是随机行走的过程,如果目标距离热源远,则扩散概率小,反之扩散概率大。

diffusion process将空间距离转换为状态转移概率,从而确定随机行走的方向,确定细胞发育轨迹。
fig2
算法分为确定细胞转移方向(Markov矩阵)和降维(Markov矩阵特征值分解降维)两块;

如图所示,红色为目标细胞,在目标细胞周围有一些细胞,那么Diffusion Map首先计算这些细胞两两之间的距离,如果两个细胞距离较大,那么扩散概率就小,如果两个细胞距离较小,那么扩散概率就大。再将其转换为Markov矩阵,Markov矩阵表示某细胞向其他细胞转移的概率,因此在网络图中,边的权重可以用Markov矩阵中的元素表示:
fig3
如上图所示,对于邻近的几个细胞来说,当距离矩阵换算为Markov矩阵后,里面的元素代表细胞间扩散转移的概率,比如 M 12 M_{12} M12代表cell_1向cell_2转移的概率; M 13 M_{13} M13代表cell_1向cell_3转移的概率。距离远的细胞转移概率比较小,距离近的细胞转移概率比较大。


距离可以是节点之间特征的距离;


因此Markov矩阵表示细胞随机转移的方向,进而特征值分解降维到二维即可看出细胞的发育轨迹。

假设数据集中一共有 n n n个细胞,Markov矩阵 M M M为实对称矩阵,对矩阵进行对角化分解: M = ϕ Λ ψ , M t = ϕ Λ t ψ M=\phi\Lambda\psi,M^{t}=\phi\Lambda^{t}\psi M=ϕΛψ,Mt=ϕΛtψ其中, ϕ , ψ \phi,\psi ϕ,ψ互逆, ψ \psi ψ矩阵为 n × n n\times n n×n的特征向量方阵, t t t表示多重转移次数,转移多次后可以达到平稳状态,这个对角矩阵的主对角线表示的是 M M M矩阵的特征值(这里以3个为例):
fig4
此时重构数据点: n e w = Λ ψ = [ λ 1 ψ 1 , . . . , λ n ψ n ] T new=\Lambda\psi=[\lambda_{1}\psi_{1},...,\lambda_{n}\psi_{n}]^{T} new=Λψ=[λ1ψ1,...,λnψn]T其中, ψ 1 , . . . , ψ n \psi_{1},...,\psi_{n} ψ1,...,ψn ψ \psi ψ矩阵的行向量;

可以得到: ψ M = Λ ψ , ψ M t = Λ t ψ \psi M=\Lambda\psi,\psi M^{t}=\Lambda^{t}\psi ψM=Λψ,ψMt=Λtψ其中, ψ M \psi M ψM代表将特征向量重新旋转拉伸,变换后的特征向量带有 M M M矩阵的特征,即细胞间距离的特征。

特征向量指向的点代表每个细胞在高维空间所在的点,变换后的列向量为带有细胞距离特征的新坐标点。

重构的新坐标点矩阵 n e w new new等于特征向量矩阵乘Markov矩阵,对应的元素是相等的,并以此作为新坐标点:
fig5
其中, λ \lambda λ的顺序为从大到小,反映了发育特征的重要程度,如果想降维到2维,只需要保留 ψ 1 , ψ 2 \psi_{1},\psi_{2} ψ1,ψ2对应的数据即可。

猜你喜欢

转载自blog.csdn.net/qq_40943760/article/details/125055641