UMAP的初步了解及与t-SNE的比较
降维是机器学习中的可视化和理解高维数据的强大工具。t-SNE是最广泛使用的可视化技术之一,但其性能在大型数据集中会受到影响。
UMAP是McInnes等人的一项新技术。与t-SNE相比,它具有许多优势,最显著的是提高了速度并更好地保存了数据的全局结构。例如,UMAP可以在3min之内处理完784维,70000点的MNIST数据集,但是t-SNE则需要45min。此外,UMAP倾向于更好地保留数据的全局结构,这可以归因于UMAP强大的理论基础。
1
简单比较UMAP与t-SNE
下图是UMAP和t-SNE对一套784维Fashion MNIST高维数据集降维到3维的效果的比较。高清3D图参见:https://pair-code.github.io/understanding-umap/。
虽然这两种算法都表现出强大的局部聚类并将相似的类别分组在一起,但UMAP还将这些相似类别的分组彼此分开。另外,UMAP降维用了4分钟,而多核t-SNE用了27分钟。
2
UMAP参数
UMAP的两个最常用的参数:n_neighbors 和 min_dist,它们可有效地用于控制最终结果中局部结构和全局结构之间的平衡。
最重要的参数是 n_neighbors ,近似最近邻居数。它有效地控制了UMAP局部结构与全局结构的平衡,数据较小时,UMAP会更加关注局部结构,数据较大时,UMAP会趋向于代表大图结构,丢掉一些细节。
第二个参数是 min_dist,点之间的最小距离。此参数控制UMAP聚集在一起的紧密程度,数据较小时,会更紧密。较大的值会更松散,而将重点放在保留广泛的拓扑结构上。
上图可以通过https://pair-code.github.io/understanding-umap/自己调整一下参数看一下。
3
进一步比较UMAP与t-SNE
t-SNE和UMAP大部分的表现非常相似,但以下示例明显例外:宽而稀疏的cluster中有密集的cluster(如下图所示)。UMAP无法分离两个嵌套的群集,尤其是在维数较高时。
UMAP在初始图形构造中局部距离的使用可以解释该算法无法处理情况的原因。由于高维点之间的距离趋于非常相似(维数的诅咒),所以可能会因此将其混合在一起。
【参考】
https://pair-code.github.io/understanding-umap/