博客内容仅我个人理解,并且内容也仅根据我的个人需求而有所删减,没有任何解说可以代替原文,好论文值得你完整阅读
主题
uniPort算法主要用于集成单细胞RNA和ATAC数据,然后进行下游数据分析和应用
创新点/贡献
- 将Autoencoder和unbalanced optimal transport结合,算是一种新颖的集成数据算法
- UniPort可以整合共同基因和数据集特定基因
- Minibatch-UOT的minibatch策略可以提高大数据集的计算效率,unbalance可以处理异构数据集成
- 可以通过另一个数据集中的共同基因来归纳一个数据集中的独特基因而无需从头训练(神经网络优势)。
uniPort算法理论
我一开始以为是将数据拉进潜在空间,然后用UOT直接对齐数据,结果只是用UOT计算损失,用于指导VAE训练。
其实细想也对,作者希望结果是两个数据对齐的,UOT的wasserstien distance就反映了数据是否对齐,这样就可以作为损失,训练VAE产生的结果趋近对齐,聪明!
结果怎么样
总体结果有些竞争力,但确实大部分情况下不是SOTA
平衡数据集
- 在成对的PBMC数据集(scATAC和scRNA数据)上比大部分算法性能更好,仅在Sihouette指标超过scGLUE,其他指标并不是最好,关于和scGLUE的对比我用红圈标注出来了
-
在不成对的PBMC数据集上效果不太行啊,只能说“有竞争力”
-
在不成对的mouse spleen dataset(scATAC 和 scRNA)上效果总体也不太行啊,只有silhouette coefficient最好,其他指标都不是最佳
不平衡数据集
实验为了测试不平衡的小鼠脾脏数据集,首先从scATAC中删除了一些细胞类型,保持scRNA数据不变; 第二个实验是删除scRNA中的一些类型的细胞,然后保留scATAC数据不变,从结果可以看到uniPort可以很好的识别和分离出删除的细胞,然后对齐同类型细胞。结果看起来还不错。
有趣的点
将UOT作为损失的一部分用于引导VAE产生结果的方向,相当于是将UOT的对齐结果作为ground truth来引导VAE的结果。
缺点 & 如何改进
- 1 或许忽略了细胞间的结构信息,比如scGLUE用图来反映细胞间的结构信息,uniPort可以考虑添加一些图结构信息(Graspot将autoencoder替换为了graph autoencoder)
- 2 根据情况考虑替换各种各样不同功能的OT
- 3 基于神经网络的算法普遍对数据规模有要求,一般数据越多表现更好