引言:t-SNE 是一種非線性降維算法,非常適用於高維數據降維到2維或者3維,進行可視化。是單細胞測序高分文章中常見的一種降維可視化算法。
參考:Zheng C, Zheng L, Yoo JK, et al. Landscape of Infiltrating T Cells in Liver Cancer Revealed by Single-Cell Sequencing. Cell. 2017;169(7):1342–1356.e16. doi:10.1016/j.cell.2017.05.035
1. t-SNE降維可視化的意義如果忽略水平軸或縱軸的信息,直接將數據直接投射到縱軸或水平軸,那麼降維後的效果非常糟糕:原始聚類信息將不再保留,出現數據分類的混亂。
如果使用t-SNE降維可視化的方法,降維後的結果與原始數據聚類信息一致。t-SNE完成任務便是,保留較高維度的聚類信息,在較低維度找到較高維度數據對應的投射點。
2. t-SNE實現降維可視化(基本原理版)Step 1: 將原始數據隨機投射到較低維度坐標軸中。
Step 2: t-SNE一點點移動低維度數據中的點,直至將類別相同的樣本(相同顏色的圓圈)重新聚在一起。 例如最左邊的樣本(中間坐標軸),由於它是原始數據紅色樣本聚類中的一部分,故其傾向於與其餘紅色樣本聚在一起(相同聚類的樣本相互吸引),而與其他顏色樣本分離(不同聚類的樣本相互排斥)。基於此,最左邊第一個樣本向右一點點移動(下方坐標軸)。
Step 3: 同step 2,繼續一點點移動樣本,直至重新恢復原始數據中的聚類結果。 原始坐標軸中同一聚類的樣本相互吸引,不同聚類的樣本相互排斥。同理,繼續一點點移動樣本,直至重新恢復原始數據中的聚類結果。
3. t-SNE基於相似性得分矩陣實現降維可視化前面提出,原始坐標軸(上方坐標軸)中同一聚類的樣本相互吸引,不同聚類的樣本相互排斥。基於該原理在降維坐標軸中一點點移動樣本,直至重新恢復原始數據中的聚類結果。那麼t-SNE是如何實現這種轉換的呢?
1.計算原始散點圖中所有樣本的相似性(距離),基於以目標樣本(黑色)為中心的正態分布曲線得出未歸一化(unscaled)的相似性得分。 基於正態分布曲線,意味著相似性越低(距離越遠)樣本的相似性得分越低,相似性越高(距離越近)樣本的相似性得分越高。
2.歸一化相似性得分,使所有樣本的相似性得分之和為1。
為什麼需要歸一化: 例如在如下兩個聚類中(藍色和紫色),藍色聚類緊密度是紫色聚類緊密度的2倍(意味著藍色聚類對應的正態分布曲線寬度為紫色對應正態曲線寬度的一半)。依次計算兩種聚類內的相似性(距離)和相似性得分,二者未經歸一化的相似性得分差異很大。而歸一化的作用就是是兩個聚類內的相似性得分保持一致,較緊密藍色聚類與較稀疏紫色聚類的歸一化相似性得分相同。
詳細來說,假設藍色聚類的標準差為1,紫色聚類的標準差為2,以2個樣本為例。
未歸一化:藍色聚類相似性得分(unscaled)= 2 x 紫色聚類相似性得分(unscaled);歸一化:藍色聚類相似性得分(scaled)= 紫色聚類相似性得分(scaled)。3.同前,變換目標樣本,依次計算各個樣本相對於目標樣本的相似性得分。 得出所有樣本對應不同目標樣本時的相似性得分矩陣。在相似性矩陣中,行與列對應的樣本順序相同,如第一行與第一列均代表其他樣本相對於第一個樣本的相似性得分。紅色方塊對應較高的相似性,白色代表較低的相似性。同一樣本與其自身的相似性其深紅色表示,雖然有最高的相似性,但對聚類無關,無實際意義。
注意:因為正態分布的標準差取決於目標樣本所在聚類的緊密度,故不同聚類的兩樣本間互為目標樣本時,另一個樣本的相似性得分不同。如,圍繞樣本1的樣本2相似性得分不等於圍繞樣本2的樣本1相似性得分。t-SNE在計算時,取兩個不同方向相似性得分的平均值。
4. t-SNE實現降維可視化(原理展示版)Step 1: 將原始坐標軸中的數據隨機投射到一維低維坐標軸中
Step 2: 計算低維坐標軸中的樣本間的相似性,基於t分布計算樣本間相似性得分。 使用t分布而不是正態分布的原因:t分布較正態分布「矮胖」,使用t分布能避免低維坐標軸中樣本聚集在中部而難以辨認的事件。
Step 3: 變換不同的目標樣本,計算其他所有樣本相對於目標樣本的相似性得分,得出相似性得分矩陣(左上角)。 基於隨機投射後的相似性矩陣較原始數據的相似性矩陣(右上角)混亂,如第5行數據(正對於低維坐標軸最左邊樣本的相似性得分)。t-SNE將樣本逐漸移動的目的就是使得左上角的相似性矩陣矩陣逐漸變換成右上角的相似性矩陣,實現原始聚類數據的還原。
Step 4: t-SNE算法對樣本進行一點點移動(每一次只移動一個樣本),使左上角的相似性矩陣矩陣逐漸變換成右上角的相似性矩陣,實現原始聚類數據的還原。
5. 總結t-SNE是降維可視化的常見方法之一。在本小節中,我們由簡入難地一起學習了t-SNE的實現原理,希望能幫助大家看懂更多的高分文章。
參考視頻:https://www.youtube.com/watch?v=NEaUSP4YerM&list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF&index=32
編輯:呂瓊
校審:羅鵬