Diffusion Map在單細(xì)胞中的應(yīng)用

單細(xì)胞降維

基于單細(xì)胞表達(dá)矩陣的降維方式有很多,例如UMAP,t-SNE,PCA等,而Diffusion Map是基于非線性的降維模式。對于單細(xì)胞表達(dá)譜而言,該降維方法有利于降維出“枝干形狀”的效果:


Diffusion Map

文中提到的URD軟件既是基于Diffusion Map算法而制作的,Diffusion Map又稱為擴(kuò)散映射,其原理是將空間距離轉(zhuǎn)換為一種狀態(tài)轉(zhuǎn)移的概率,從而確定隨機(jī)游走的方向,從而確定細(xì)胞發(fā)育軌跡
該算法分為確定細(xì)胞轉(zhuǎn)移方向(Markov矩陣)和降維(Markov矩陣特征值分解降維)兩塊



如圖所示,紅色為我們的目標(biāo)細(xì)胞,在目標(biāo)細(xì)胞周圍有一些細(xì)胞,那么Diffusion Map首先計(jì)算這些細(xì)胞兩兩之間的距離,進(jìn)而Affinity化,即如果兩個(gè)細(xì)胞距離較大,那么其概率就小,如果兩個(gè)細(xì)胞距離較小,那么其概率就大。再將其轉(zhuǎn)換為Markov矩陣,Markov矩陣表示某細(xì)胞向其他細(xì)胞轉(zhuǎn)移的概率,因此在網(wǎng)絡(luò)圖中,邊的權(quán)重可以用Markov矩陣中的元素表示:



如上圖所示,對于鄰近的幾個(gè)細(xì)胞來說,當(dāng)距離矩陣換算為Markov矩陣后,里面的元素代表細(xì)胞間轉(zhuǎn)移游走的概率,比方說M12代表cell_1向cell_2轉(zhuǎn)移的概率;M13代表cell_1向cell_3轉(zhuǎn)移的概率。距離遠(yuǎn)的細(xì)胞轉(zhuǎn)移概率比較小,距離近的細(xì)胞轉(zhuǎn)移概率比較大(參照下文的Markov矩陣)。
因此Markov矩陣表示細(xì)胞隨機(jī)轉(zhuǎn)移到方向,進(jìn)而特征值分解降維到二維即可看出細(xì)胞的軌跡

1.計(jì)算距離矩陣

那么我們的單細(xì)胞矩陣形如:


單細(xì)胞表達(dá)矩陣

每一行代表一個(gè)基因(一共m個(gè)基因)。每一列代表一個(gè)細(xì)胞(一共n個(gè)細(xì)胞)。首先,該算法先計(jì)算兩兩細(xì)胞之間的距離,轉(zhuǎn)換為距離矩陣D:


距離矩陣

2.Affinity

之后根據(jù)一些核函數(shù),例如高斯核函數(shù)進(jìn)行轉(zhuǎn)化,這一步稱為Affinity,轉(zhuǎn)移后的矩陣簡稱為A矩陣,i 為行,j 為列,其中Dij代表上述的距離矩陣

高斯核轉(zhuǎn)換

A矩陣如下:
A矩陣

3.標(biāo)準(zhǔn)化(Markov矩陣)

再之后將A矩陣按行標(biāo)準(zhǔn)化以后,轉(zhuǎn)化為Markov矩陣:


將Markov矩陣簡稱為M矩陣:


M矩陣

比方說,cell_1和cell_2對應(yīng)的值表示cell_1向cell_2轉(zhuǎn)移的概率;而Markov矩陣為實(shí)對稱矩陣,一定能分解為n個(gè)秩為1的方陣乘它們各自的特征值λ然后相加的結(jié)果

接著我們需要把M矩陣給對角化分解:



其中ψ1,ψ2.....ψn是ψ矩陣的行向量,ψ矩陣為特征向量矩陣

ψ矩陣為n×n的特征向量方陣
那么 t 表示多重轉(zhuǎn)移的次數(shù),轉(zhuǎn)移多次后可以達(dá)到平穩(wěn)狀態(tài);這個(gè)對角矩陣的主對角線表示的是M矩陣的特征值(這里只展示3個(gè)):

對角矩陣

此時(shí)重構(gòu)數(shù)據(jù)點(diǎn)new:


其中ψ1,ψ2.....ψn是ψ矩陣的行向量

容易得到:



ψ×M代表將特征向量重新做旋轉(zhuǎn)拉伸,變換后的特征向量帶有M矩陣的特征,即細(xì)胞間距離的特征。
特征向量指向的點(diǎn)代表每個(gè)細(xì)胞在高維空間所在的點(diǎn),變換后的列向量為帶有細(xì)胞距離特征的新坐標(biāo)點(diǎn)

ψ矩陣為n×n的特征向量方陣

其中q1,q2.....qn為ψ矩陣的列向量,即特征向量;ψ1,ψ2.....ψn是ψ矩陣的行向量;由于M矩陣為實(shí)對稱矩陣,因此q1...qn相互正交(實(shí)對稱矩陣可以被正交對角化)

也就是重構(gòu)的新坐標(biāo)點(diǎn)矩陣等于特征向量矩陣乘Markov矩陣,對應(yīng)的元素是相等的,并以此作為新坐標(biāo)點(diǎn),M矩陣表示的是兩兩cell的距離,其中ψ×M相當(dāng)于做拉伸旋轉(zhuǎn)變化,變換后表示每個(gè)細(xì)胞在高維空間的相對位置(相對坐標(biāo))
個(gè)人認(rèn)為作者采用M矩陣的特征向量組來重構(gòu)坐標(biāo)是因?yàn)榉奖愫罄m(xù)的計(jì)算,個(gè)人感覺任意一組正交向量組都可以,因?yàn)榻稻S是依據(jù)特征值λ的大小來完成的,所以M矩陣的特征向量組是最好選擇

新構(gòu)造的矩陣為new表示的是每個(gè)細(xì)胞在對應(yīng)維度的坐標(biāo):

new

其中λ的順序?yàn)閺拇蟮叫?,ψ矩陣為n×n的特征向量方陣,ψi 表示第 i 行向量;即第 i 行的特征向量。從某種意義上,此時(shí)的n仍然表示細(xì)胞個(gè)數(shù),而假設(shè)我想降維到二維,那么我只需保留前兩個(gè)即可,即 i=1,2,那么每個(gè)細(xì)胞的坐標(biāo)既是二維的

這樣就完成了降維,那么Diffusion Map通過Markov隨機(jī)游走來判斷細(xì)胞轉(zhuǎn)移的方向,從而確定細(xì)胞軌跡的

小tip

這個(gè)tip是關(guān)于如何理解


這一個(gè)坐標(biāo)轉(zhuǎn)換公式的意義,我們不妨舉一個(gè)簡單的例子:

前面的是特征向量矩陣,后面的是M矩陣,正如我們所說的,M矩陣是一個(gè)實(shí)對稱矩陣,所以特征向量:q1,q2,q3是相互正交的,并且M×q與q轉(zhuǎn)置×M是等效的
我們不妨利用矩陣的乘法性質(zhì)畫出圖來觀察:

在高維空間里,三個(gè)細(xì)胞的相對位置如圖所示,假設(shè)cell_1坐標(biāo)為(a1,b1,c1);cell_2坐標(biāo)為(a2,b2,c2);cell_3坐標(biāo)為(a3,b3,c3)
那么我們知道,在三個(gè)細(xì)胞中,經(jīng)過計(jì)算q3向量特征值λ3比較小(這是因?yàn)閝3向量的變化相當(dāng)于q1向量和q2向量較?。?,所以對應(yīng)只保留q1向量特征值λ1和q2向量特征值λ2,從而構(gòu)建二維坐標(biāo),這樣就完成了由三維降至二維

盜圖傳送門:傳送門

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容