在大困惑度条件下tSNE降级为PCA

      最后更新:2020-04-20 12:14:55 手机定位技术交流文章

      本文试图以一种简单的方式解释一些在生物信息学和计算生物学中使用的神秘分析技术。当使用高度混淆的单链氯化萘时,会出现一些陷阱,例如将非线性单链氯化萘转换为线性五氯苯甲醚的尺寸减小。

      为什么使用tSNE时会非常混乱

      随着数据集大小的增加,例如,在scRNAseq字段中,处理数万甚至数百万个细胞几乎是例行程序,并且越来越多的具有超出推荐范围(5到50)的大困惑的tSNE被用于大数据集。事实上,在大型数据集上使用默认混淆可能无法提供足够的信息,因为它通常会导致数据点聚合的减少,这一点在一些出版物中已有介绍,在这里可以很好地讨论。

      较小的混淆值不允许解析数据结构

      即使对于表现良好的MNIST基准数据集,小混淆和大混淆之间的区别也是显而易见的:较大的混淆导致tSNE降维图中更明显的聚类。

      当tSNE混淆值增大时,MNIST手写数字图像聚类变得更加清晰

      随着数据集规模的增长,这变得越来越重要。您可能希望使用tSNE来增加大数据集上的混淆值的第二个原因是长期假设tSNE可能存在。在复杂程度较高的情况下,保留了更多的全局数据结构,可以用这种方式与UMAP进行比较。为了演示这一点,让我们模拟3个2D数据点的高斯斑点(每个1000点):两个斑点彼此靠近,远离第三个。

      现在,我们将尝试重建运行tSNE的原始数据,并使用不同的困惑值:10、30、100和1000。

      在这里,我们可以做两个重要的观察:第一,在较低的困惑值10甚至30时,数据结构并不明显。事实上,如果我不给这些点着色,甚至很难猜测我们在tSNE中看到了多少斑点。因为数据点似乎形成了10和30个困惑点,我们需要将困惑值增加到100,以便解决这三个聚类,其次,注意困惑值等于10、30和100。虽然我们知道它们中的两个应该放在一起,并与第三个分开,但这三个簇似乎是等距的。只有当我们将混淆度增加到1000时,我们才能获得正确的聚类相对位置(全局数据结构),这远远超过了5到50之间的推荐值。在那里,一个很大的混淆界限对于从生物学上解释单细胞蛋白序列数据上的tSNE图谱中细胞群体的紧密性是至关重要的。

      TSNE类似于非常混乱的PCA。

      现在,在我们认识到tSNE的大混淆极限的重要性之后,让我们在世界地图数据集的二维线性流形(3023点)上评估大混淆下的tSNE。

      用tSNE和大混淆值重建2D世界地图数据集

      在这里,我们可以看到tSNE错误地将南美放在非洲和北美之间,混淆度为500和1000。然而,当混淆度达到2000时,我们几乎可以完美地重建原始世界地图数据集,其中各大洲之间的所有相对距离似乎都得到了很好的保护,这似乎令人放心。这表明,如果要使用tSNE在数据中保留更多的全局结构,仅增加混淆度值就足够了。我们将原始线性2D世界地图数据集投影到非线性流形(例如,球体)上,从而模拟将大陆映射到球体表面的3D地球。让我们运行一个非线性的三维地球/球体数据集,并将其输出与主成分分析和UMAP进行比较。此外,当我们将2D数据集投影到其他众所周知的非线性流形上时,例如S形曲面和Swis滚动主成分分析和tSNE/UMAP,我们会感到非常困惑/n_neighbor。请注意,tSNE和UMAP都已由主成分分析初始化。

      主成分分析法,非常混乱的东北/UMAP/世界地图上的n近邻投影到球体、S形和瑞士滚

      在这里,我们观察到了主成分分析图和tSNE图之间的显著相似性。发生什么事了?由于三维非线性流形(球面、S形和瑞士滚)的内部维数仍然是2,因此希望一种合适的降维方法能够恢复主成分分析未能实现这一目标的直觉。主成分分析通过仿射变换(如旋转、反转、平移、拉伸等)搜索数据变化最大的轴。)。然而,通过旋转非线性流形,人们不能找到能够正确捕捉感兴趣的变化的轴。这条轴是世界地图上每个大陆的位置。相反,主成分分析揭示的螺旋、S曲线和圆确实捕获了大多数可变轴。我们可以理解为什么主成分分析在非线性流形上失败,但是为什么tSNE不能表现得更好?这并不是将世界地图嵌入非线性3D的唯一方法。然而,即使在具有良好性能的基准MNIST数据集上也可以检测到这一特征,即具有等于500和3000的大混淆值的tSNE图类似于主成分分析图。

      在非常大的tSNE混淆值下,MNIST手写数字串变得不太明显

      这是怎么回事?当混淆度= 2000时,是否应该像本节开头所示的2D线性世界地图那样,使用正确保存的全球结构来重建原始数据?观察tSNE算法的内部,并认识到由于梯度下降中梯度的消失,tSNE退化为主成分分析。

      在很大的混乱中检查tSNE的梯度

      为了理解在非常混乱的情况下tSNE会发生什么,我们需要回顾一下tSNE是基于以下四个方程。关于tSNE优缺点的更多信息,请参考我的文章:

      并检查一些重要的概念,如数据的成对欧氏距离分布,σ值的分布,在一定距离找到数据点的高维概率分布,低维概率分布,最后是KL散度梯度值的分布。

      遗憾的是,从tSNE的当前实现中提取所有这些指标并不容易。我们需要检查KL散度的梯度是否在很大的混乱中消失,因为这将意味着tSNE的梯度下降在用PCA初始化后将永远不会正确开始。

      原则上,通过研究scikitlearn的tSNE代码,我们可以找到函数_联合_概率和_ kl _散度,它们可以提供以下信息:

      在这里,我们可以看到,随着混淆参数的增加,KL梯度下降到几乎为零。对于未来更全面的信息,从头开始实现tSNE是有意义的。下面的代码以数字方式再现了scikitlearn tSNE的输出,但它更紧凑,希望可以理解。

      从头开始编程tSNE的优点是我们可以提取任何我们需要的信息,例如不同困惑值下KL梯度的演化。我们可以立即看到,在非常大的困惑下,KL梯度迅速下降到零。嵌入的坐标停止更新,我们最终只得到初始化时的坐标。

      因此,如果我们用主成分分析法来初始化tSNE并增加混淆,就有可能用主成分分析图代替tSNE来结束。请注意,为了简单起见,我使用了主成分分析这个术语,尽管更正确的说法是将tSNE降级为多维标度图。主成分分析和主成分分析在很多方面是相似的,我称之为主成分分析(而不是主成分分析)是一种更受欢迎和更为人所知的技术。

      然而,为什么KL梯度在巨大的混乱中消失了?仔细观察表明,在P和Q之间有一种有趣的相互作用,即在一定距离观察数据点的高和低维概率。复杂性,即,P/Q接近1,从等式4开始,KL梯度消失,tSNE恶化。

      在一个仓促的表达中,回顾tSNE有一个重要的超参数,即早期夸大,它是高维概率P的一个乘法因子,tSNE的劣化情况可以记录如下:

      阿尔法是早期的夸张,n是样本大小,西格玛与混淆有关,x和y是高维和低维数据点之间的平均欧几里德距离。上面的等式连接了tSNE的最重要的超级参数,除了在大混乱下满足P = Q条件的学习速率之外,它是不相关的。

      摘要

      在本文中,我们了解到有必要使用tSNE来增加大数据集上的复杂度值,以便获得更多不同的聚类并在数据中保留更多全局结构,这对于不同聚类之间距离的生物学解释变得非常重要。然而,当KL梯度消失时,增加的混淆可能导致非线性tSNE退化为线性PCA/MDS大小的减小,因此算法永远不会正常启动。这有时被错误地解释为“原始图像的完美重建”。如果tSNE运行在线性数据上,但是tSNE运行在更混乱的非线性数据上,显然会有错误。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/4844.html

          热门文章

          文章分类