美文网首页
FIt-SNE || 是时候给tSNE加个速了

FIt-SNE || 是时候给tSNE加个速了

作者: 周运来就是我 | 来源:发表于2020-07-25 22:10 被阅读0次

    随着单细胞通量的提高,对我们的计算速度要求也越来越高。我们知道在绘制图谱的时候现在有两个选择:tsne和umap。虽然umap在速度上有很大的改观,但是毕竟还有人需要tsne的结构。

    其实,Seurat提供了计算tsne的另一种方法:FIt-SNE。速度要比Rtsne:快很多。

    tsne.method 
    Select the method to use to compute the tSNE. Available methods are:
    
    Rtsne: Use the Rtsne package Barnes-Hut implementation of tSNE (default)
    
    FIt-SNE: Use the FFT-accelerated Interpolation-based t-SNE. Based on Kluger Lab code found here: https://github.com/KlugerLab/FIt-SNE
    

    FIt-SNE的文章发表在:
    Linderman, G.C., Rachh, M., Hoskins, J.G. et al. Fast interpolation-based t-SNE for improved visualization of single-cell RNA-seq data. Nat Methods 16, 243–245 (2019). https://doi.org/10.1038/s41592-018-0308-4

    所以,当有这样的需要的时候,可以考虑使用。

    t-随机邻域嵌入(t-SNE)是一种非常成功的高维数据集降维和可视化方法。t-SNE的一种常用实现是在梯度下降的每次迭代中使用Barnes-Hut算法来近似梯度。其加速实现如下:

    • N-body Simulation的计算:我们在等宽网格上插值并使用FFT进行卷积,而不是使用Barnes-Hut近似 N-body Simulation,大大减少了每次梯度下降迭代时计算梯度的时间。看看这篇文章来直观了解它是如何工作的。

    • 计算输入相似度:我们使用Annoy库来近似最近的邻居,而不是使用vant- point树来计算最近的邻居。邻居查找是多线程的,以利用多核机器的优势。相对于严格意义上的“最近”邻居,使用“近”邻居更快,但也有平滑效果,这可以用于嵌入一些数据集(参见Linderman等人(2017))。如果需要细微的细节(例如识别小群),那么使用优势点树(在本实现中也是多线程的)。

    https://github.com/KlugerLab/FIt-SNE

    相关文章

      网友评论

          本文标题:FIt-SNE || 是时候给tSNE加个速了

          本文链接:https://www.haomeiwen.com/subject/gifvlktx.html