首先,先上一篇综述。有道翻译的,所以有的话可能读起来有些奇怪。
【机器学习--单细胞聚类|机器学习--单细胞聚类(一)】关于单细胞聚类和单细胞聚类所面临的挑战
Challenges in unsupervised clustering of single-cell RNA-seq data当前可用的聚类技术
Vladimir Yu Kiselev , Tallulah S. Andrews and Martin Hemberg *
许多聚类算法在某种意义上是通用的,它们可以应用于任何类型的数据,这些数据配备了数据点之间的距离度量。由于在scRNA - seq中测定的大量基因,即高维数,数据点(即细胞)之间的距离变得相似,这被称为“维数的诅咒”。因此,距离的差异往往很小,因此对于识别细胞组不可靠。
特征选择和/或降维的应用可以降低噪声并加快计算速度。
特征选择涉及识别信息量最大的基因,例如方差最高的基因,而降维,如主成分分析(PCA),将数据投射到低维空间。
许多工具使用标准方法的变体:SC3使用一小部分主成分,而pcaReduce迭代地应用PCA。随后,在低维空间或仅使用选定的基因计算距离。
有几种不同的选择,包括欧几里得距离,余弦相似度,皮尔逊相关和斯皮尔曼相关。
后三种度量方法的主要优点是它们的尺度不变性,也就是说,它们考虑值的相对差异,这使它们对库或单元格大小的差异更健壮。
聚类方法有多种类型,最流行的聚类算法是k - means,它迭代识别k个聚类中心(质心),将每个细胞分配到最近的质心。k均值的标准方法,被称为劳埃德算法,具有与点数线性缩放的优势,这意味着它可以应用于大型数据集。但是,Lloyd算法是贪婪的,不能保证找到全局最小值。这些缺点可以通过使用不同的初始条件或上游处理重复应用k - means并找到共识来克服,就像SC3所做的那样。k - means的另一个缺点是它倾向于确定相等大小的簇,这可能导致罕见的细胞类型隐藏在更大的群中。
另一种广泛用于scRNA - seq的通用聚类算法是分层聚类,它将单个细胞按顺序组合成更大的簇(团聚的)或将簇分成更小的群(分裂的)。一个重要的缺点是,时间和内存需求至少与数据点的数量成二次方增长,这意味着对大型数据集使用分层聚类的成本非常高。
CIDR通过在距离计算中加入一个隐式的归零方法,对scRNA - seq进行了分层聚类,从而在低深度样本中提供了更稳定的细胞-细胞距离估计。许多scRNA - seq工具扩展了分层聚类的思想,在每次合并或分裂之后进行降维。这种迭代策略提高了识别小簇的能力,它被BackSPIN和pcaReduce以及Tasic等人的一项研究使用。
由于k -均值和层次聚类的局限性,特别是对于大数据集,将基于社区检测的算法应用于scRNA - seq数据已经变得越来越流行。社区检测是专门应用于图的聚类思想的变体。社区检测不是识别一组紧密相连的点,而是识别一组紧密相连的节点。为了将这些方法应用于scRNA - seq数据,有必要构造一个k -近邻图。在构建单细胞图时,选择包含多少近邻(用k表示)会影响最终集群的数量和大小。为了提高对异常值的鲁棒性,通常根据每对细胞的共享近邻对图进行重新加权。由于一些可用的图数据集非常大,例如,那些代表万维网上的社交网络或超链接的图数据集,已经开发了几种用于社区检测的算法,其重点是速度和可扩展性。与基于分层集群的方法(在所有级别返回分区)相比,大多数基于图的方法只返回单个解决方案,这允许更快的运行时间。一个优点是,大多数基于图的方法不需要用户指定要识别的集群数量,而是使用间接解析参数。只有Louvain算法被广泛应用于scRNA - seq数据,
尽管还有许多其他算法可用,其中一些在基准测试研究中表现出了更好的性能。在PhenoGraph方法中,共享最近邻图和Louvain社区检测相结合首次应用于scRNA - seq数据,该方法后来被纳入Seurat3和scanpy4。目前有几种不同的用户友好的聚类方法可用,为了帮助研究人员确定哪一种最适合,最近的研究提供了定量基准。由于其速度和可伸缩性,作为scanpy和Seurat包一部分的聚类方法是大数据集的流行选择。然而,研究表明,基于Louvain方法的聚类方法在较小的数据集上表现不佳。
更一般地说,寻找一种对所有情况都最好的聚类方法可能是徒劳的,因为它已经表明,单一算法不可能实现所需的全部特性。事实上,形式分析告诫人们不要基于一组狭窄的标准来比较算法,因为没有一种方法能够很好地解决所有问题。
文章图片
技术挑战
由于从单个细胞中获得的初始RNA数量较低,与来自大细胞群的RNA - seq数据相比,scRNA - seq数据通常表现出更高水平的噪声和更多的零值(称为丢失)。在一个计数矩阵中有>50%的条目等于0是很常见的。有三种解释为什么会观察到缺失:
一,转录本不存在,因此零是细胞状态的准确代表;
二,测序深度低,虽然存在,但未报道转录本;
三,作为库准备工作的一部分,这份记录没有被捕捉或没有被放大。
此外,丢失带来了计算上的挑战,因为一些方法不适合处理与多元正态分布有很大偏差的数据。有几种统计方法可用于插补,但它们都依赖于数据中预先存在的细胞-细胞或基因-基因相关性来推断适当的插补值。在scRNA - seq数据中估计技术噪声是具有挑战性的,因为每个个体细胞都是生物学上的,而不是技术上的复制。然而,通过使用内源性尖峰-在RNA,几个噪声模型已经发展了。通过向数据集添加模拟噪声并重新应用聚类工作流,可以使用这些方法来估计聚类的鲁棒性,就像BEARscc中实现的那样。
一种可能由于实验设计而产生的技术噪音通常被称为批效应。批效应指的是由于实验因素引起的基因表达的变化,例如,实验的时间,实验的实验室,进行实验的人或测序机中使用的车道几项研究表明,批量效应对聚类有很大的影响。避免批量效应的最佳策略是有一个平衡的实验设计,以便样品在不同的实验批次中分散。在这种情况下,返回批处理效果是相当简单的。然而,在某些情况下,例如在处理易腐烂的样本时,这种策略可能不可行。密切关注如何处理样本也很重要,因为这可能会产生重大影响。当获得死后样本时,RNA可能不均匀地降解,而且众所周知,不同组织之间的敏感性可能不同。此外,敏感组织(如神经元细胞)的分离可能会激活即刻早期基因或其他应激反应基因的表达。添加抑制剂或通过冷冻或化学固定保存细胞可能会减少处理的影响;
然而,优化此类scRNA - seq协议的努力仍在进行中。考虑到scRNA - seq实验中的高水平噪音,人们必须问,是否每个簇对应一个真正的生物效应,或者簇的产生是由于技术人工因素,例如,含有两个细胞的液滴(双重)。由两种不同细胞类型的细胞产生的双重细胞很容易被误认为是罕见的过渡细胞,因为它们将表现出介于两种原始细胞类型之间的表型。一些基于平板或基于微流控芯片的协议允许在裂解前对捕获的细胞进行成像,这可以帮助识别双重子。由于scRNA - seq研究中细胞大小和测序深度的广泛差异,在计算上识别双重基因具有挑战性。已经开发了几种工具,通过计算生成给定数据集的合成双重曲线,并训练一种算法来识别它们,然后应用于原始数据。由于存在许多其他技术干扰因素,因此评估线粒体RNA、实验批、测序深度和跨集群检测到的基因数量等因素是很重要的,以确保没有这些因素驱动集群。也有人认为,高表达的基因,例如核糖体基因,可能对聚类有夸大的影响。
计算挑战
许多scRNA - seq数据集非常大,包含数十万个细胞,这既带来了挑战,也带来了机遇。一个大的数据集确保分析将有高的功率和提高能力,以检测罕见的细胞类型。虽然可以在数小时(3,4小时)的时间跨度内对如此庞大的数据集进行聚类,但可视化和解释聚类结果是困难的。
线性变换,如PCA,由于高水平的丢失和噪声,不能准确地捕捉细胞之间的关系。非线性技术更加灵活,因为它们可以提供更美观的结果,并且更容易通过视觉检查来解释。最常用的非线性降维是tSNE和UMAP。
这些方法的主要限制是,它们包含需要由用户手动定义的参数,并且可能严重影响可视化。由于选择参数的指导方针是模糊的,实现广泛结果的可能性仍然是开放的。大多数聚类方法包括一个或多个参数,用户可以选择这些参数来确定聚类的解决方案。参数的选择往往对结果有很大的影响。选择聚类的分辨率通常被称为选择k。对于某些方法,例如k - means聚类,这种选择是由用户明确做出的,但对于其他方法,决策可以是间接的,例如,在构造一个图时选择最近邻的个数。
有计算方法可用来帮助指导选择k。这些方法中的许多都是基于计算集群质量得分并识别“弯角”(即得分趋于稳定的点)的想法。这些评分倾向于一个相当粗糙的分辨率,清晰分离的集群,而不是紧密相关或重叠的细胞类型。由于对于选择k的正确方法没有共识,需要研究者的判断。如果有理由相信一个样本是异构的,或者如果一个人对发现新的亚型感兴趣,那么最好使用高k或针对发现罕见细胞类型的方法。此外,如果细胞的排序深度很浅,那么细粒度的聚类策略就不太可能奏效。也许scRNA - seq分析最具挑战性的方面(这并不局限于聚类)是如何验证计算分析方法。
目前可用的最佳策略是通过其他方式确定细胞类型,例如,从不同的细胞系中选择细胞,使用已被充分研究和理解的组织(例如,外周血单个核细胞74)或胚胎发育最早阶段的考虑细胞。这些数据集可以作为可靠的基础事实,但其中一个缺点是,它们不太可能像某些组织样本那样复杂或具有挑战性。另一个缺点是,许多合适的数据集都相当小,这使得很难在与当前实验相关的各种规模上测试方法。另一个非常有用的策略是使用空间方法,例如seqFISH84、RNAscope85和merFISH86。由于这些方法不依赖于测序,它们是正交的,一个积极的结果应该被认为是强有力的验证。然而,利用这些技术可以分析的mRNA数量有限,以及建立检测所涉及的成本和挑战,意味着目前它们的应用是有限的。
非监督聚类可能仍然是scRNA - seq分析的核心组成部分。由于许多下游分析是基于聚类进行的,最终的结论可能会受到聚类的很大影响。
在可预见的未来,可能会有几种不同的算法用于聚类。在某种程度上,这种多样性反映了这样一个事实,即某些方法将对某些类型的数据表现得更好,例如,从液滴微流体方法获得的稀疏测序数据相对于从Smart - seq2协议获得的深度测序数据。
然而,由于聚类问题的复杂性,不太可能有一种方法被认为优于所有其他方法。随着新技术的引入,集群挑战的细节将不断演变。除了必须处理越来越大的数据集之外,还将考虑新的模式。
博主有话说:
由于博主是计算机专业,对于这些生物知识也是很懵的一个状态。总结来说,想要提高聚类的性能或许可以从丢失值的插补,降维方法的选择等方面考虑。机器学习中有很多理论可以运用,流形学习,集成学习,深度学习等等。
推荐阅读
- 吴恩达机器学习笔记|吴恩达机器学习----应用机器学习的建议
- 机器学习|吴恩达机器学习课程-第六周(part1)
- 机器学习|吴恩达机器学习课程第七周笔记
- 机器学习|吴恩达机器学习课程-第六周(part2)
- 机器学习吴恩达|coursera机器学习吴恩达-学习笔记-第三周
- 吴恩达老师机器学习课程--神经网络
- 机器学习|吴恩达机器学习课程-第八周
- 机器学习算法之KMeans聚类
- 深度学习|深度学习神经网络之超参数(hyper-parameter)