fiftyone之嵌入特征聚类图像

原文:https://docs.voxel51.com/tutorials/clustering.html?highlight=embedding

聚类分析是一种必不可少的无监督学习技术,可以帮助您发现数据中的隐藏信息。本文中,您将学习如何使用 Scikit-learn 和 FiftyOne 构建可视化数据!

教程涵盖以下内容

  • 聚类是什么
  • 如何生成特征以对图像进行聚类
  • 如何使用 FiftyOne Clustering 插件对图像进行聚类
  • 如何在 FiftyOne 应用程序中跟踪聚类
  • 使用 GPT-4V 为聚类分配标签

1、聚类是什么

 – 集群构建

想象一下,地板上铺着一大堆各种形状和大小的乐高积木。是时候把乐高积木收起来了,你意识到你没有一个足够大的箱子来存放它们。幸运的是,您找到了四个较小的箱子,每个箱子可以容纳大致相同数量的碎片。您可以在每个箱子中随机倒入各种乐高积木,然后收工。但是,下次您去找一个特定的积木时,您会花相当多的时间去找它。

相反,如果您将类似的积木放在同一个箱中,这将可以为您节省大量时间和以后的麻烦。但是您打算用什么标准把乐高积木扔进同一个箱呢?为不同的颜色分配箱吗?或者将所有方形块放在一个箱中,将圆形块放在另一个箱中?这取决于您拥有什么乐高积木!简而言之,这就是集群。

更正式地说,聚类或聚类分析是一组用于对数据点进行分组的技术。聚类算法接收一组对象,并为每个对象输出赋值。但是,与分类不同的是,聚类不是从一系列类别开始对对象进行分类,而是强制对象落入预设的存储桶中。相反,聚类会尝试在给定数据的情况下发现存储桶。换句话说,聚类是揭示数据中的结构,而不是预测预先存在结构中的标签

聚类不是预测标签。与分类、检测和分割任务不同,聚类任务没有 Ground Truth 标签。我们称此类算法为无监督算法,与有监督和自监督学习任务形成对比。

聚类是无需训练的。聚类算法将获取数据点(对象)的特征,并使用这些特征将对象划分为多个组。这些组将突出显示独特特征,让您了解数据的结构。

💡 这意味着聚类是探索数据的非常强大的工具,尤其是在数据未标记时!

 – 聚类如何工作

如果您一直密切关注,您可能已经注意到聚类和聚类算法之间的微妙区别。这是因为聚类是一个包含各种技术的总称!聚类算法有几种类型,通过分配集群成员的标准来区分。一些最常见的聚类是:

  • 基于质心的聚类
    如,K-meansMean Shift 聚类等技术。这些方法试图找到定义每个集群的中心点(称为质心),它们寻求最大化集群内点之间的一些连贯性概念。这种风格的聚类可以很好地扩展到大型数据集,但对异常值和随机初始化很敏感。通常,会多次执行,并选择最好的一次结果。您可能会发现像K-means这样的技术在处理高维数据时(“维数的诅咒”),当与像均匀流形近似和投影(UMAP)这样的降维技术一起使用时可以更好地揭示数据结构。我们将在下面解释如何配合使用。
  • 基于密度的聚类
    DBSCANHDBSCANOPTICS 等技术根据特征空间的稀疏或密集程度来选择集群。从概念上讲,这些算法将高密度区域视为聚类,当点在特征空间中充分分布时聚类断开。像 DBSCAN 这样基于密度的简单技术可能难以处理高维数据,因为数据可能没有密集地位于同一位置。然而,像 HDBSCAN 这样更复杂的技术可以克服其中一些限制,并从高维特征中发现不一样的结构。
  • 分层聚类
    这些技术旨在:通过从单个点开始并迭代地将集群组合成更大的复合数组来构建集群,或者解构集群,从一个集群中的所有对象开始,然后迭代地将集群分解为更小的组件。 随着数据集的增长,像 Agglomerative Clustering 这样的构建技术在计算上变得昂贵,但对于中小型数据集和低维特征来说,性能可能相当不错。

📚 有关 10+ 种最常用的聚类算法的全面讨论,请查看 Scikit-learn 的这个直观、精心编写的指南

 – 什么特征用于聚类

对于我们开始讨论的乐高积木,特征(长度、宽度、高度、曲率等)是独立的实体,我们可以在数据表中以列的形式查看。对这些数据进行归一化,以便没有一个特征主导其他特征之后,我们可以将一行数值作为特征向量传递到每个乐高积木的聚类算法中。从历史上看,聚类有许多类似的应用,对数据表或时间序列中经过预处理的数值进行操作。

像图像这样非结构化数据不太适合这个框架,原因很简单:

  • 图像的大小(纵横比和分辨率)变化大
  • 原始像素值可能含有高噪声
  • 像素之间的相关性可能高度非线性

如果我们要经历reshape和标准化图像大小、标准化像素值、去噪和将多维数组展平为“特征向量”的麻烦,将这些处理后的像素数组视为特征,那么无监督聚类算法将难以发现结构。这适用于像 MNIST 这样的简单数据集,但在实践中通常不止这一类数据。

幸运的是,我们有强大的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值