集群分析就是根据对象的特征对其进行分组,因此集群内相似度较高,集群间相似性较低。
集群分析就是根据对象的特征对其进行分组,因此集群内相似度较高,集群间相似性较低。
集群分析就是对象分组,因此,与不同集群间的对象相似性相比,同一集群中对象之间的相似性更高。使用更精细化距离、数据点密度、图形或各种统计分布等标准将其分类为集群。集群分析应用广泛,包括无监督式机器学习、数据挖掘、统计、图形分析、图像处理,以及众多的物理及社会科学应用。
在对数据应用聚类算法时,数据科学家和其他人员使用聚类观察数据点落入哪些分组(或集群),从而从数据中获取重要见解。根据定义,无监督式学习是一种机器学习,能够在无原有标签并且更大限度减少人为干预的情况下,在数据集中搜索模式。聚类还可用于异常检测,以便查找不属于任何集群的数据点或异常值。
聚类可用于识别数据集中具有两个或多个变量数量的相似对象组。实际上,这些数据可能从营销、生物医学或地理空间数据库等许多其他地方收集。
需要注意的是,集群分析并非单一算法作业。相反,众多算法通常承担更广泛的分析任务,并且每种算法往往与其他算法大不相同。理想情况下,聚类算法能够创建集群内相似度非常高的集群,这意味着集群内的数据之间极其相似。此外,该算法能够创建集群间相似度更低的集群,这意味着每个集群包含的信息会尽可能与其他集群的大有不同。
因为有许多概念讲述集群应是什么或者应如何定义集群,因此也出现了许多聚类算法。事实上,截止到目前,已公布的聚类算法超过了 100 种。这些算法代表着一种用于机器学习处理无监督式数据的强大技术。设置一种专为特定类型的集群模型而构建和设计的算法,将其用于处理包含不同类型的集群模型的数据集时,通常会以失败而告终。
所有聚类算法中的共同线程是一组数据对象。但是,数据科学家和编程人员使用不同的集群模型,并且每个模型要求不同的算法。聚类或集群集通常被区分为硬聚类(每个对象属于或不属于某个集群)或软聚类(每个对象在某种程度上属于每个集群)。
这与所谓的服务器聚类完全不同,因为一台服务器暂时发生故障时,另一台服务器会接管工作,因此服务器聚类通常是一组服务器协同工作,从而为用户提供更高的可用性并减少宕机时间。
聚类分析方法包括:
聚类用例
随着可用聚类算法数量的不断增加,聚类成为解决一系列业务和组织类型的主要方法,并且其用例各有不同,这已不足为奇。聚类用例涉及生物序列分析、人类遗传聚类、医学影像组织聚类、市场或客户分割、社交网络或搜索结果分组推荐、计算机网络异常检测、自然语言处理文本分组、犯罪集群分析和气候集群分析。下面描述了其中一些示例。
数据科学家和聚类
如上所述,聚类是一种无监督式机器学习方法。机器学习可以处理庞大的数据量,使数据科学家能够将时间花费在分析已处理的数据和模型上,从而获得切实可行的见解。应用聚类算法时,数据科学家可以看到数据点落入哪些分组,从而利用聚类分析从我们的数据中获得一些有价值的见解。
集群分析在各种应用程序中发挥着关键作用,但由于数据量不断增加,其正面临着计算挑战。解决计算难题的极具前景的解决方案之一,即使用 GPU 进行并行计算。
GPU 能够为加速数据密集型分析(特别是图形分析)提供很好的方法,因为它具有大规模并行性,并且显存访问带宽优势显著。GPU 的大规模并行架构包含数千个旨在同时处理多个任务的小核心,非常适合执行“对每个 X 执行 Y”的计算任务。这可应用于大型图形中的顶点或边缘集。
集群分析是一个具有显著并行性的问题,可以通过使用 GPU 进行加速。NVIDIA 图形分析库 (nvGRAPH) 将在未来提供基于最小化平衡切割指标的频谱和层次聚类/分区技术。nvGRAPH 库作为 NVIDIA® CUDA® 工具包的一部分免费提供。如需详细了解图形,请参阅图形分析页面。
基于 CUDA-X AI™ 创建的 NVIDIA RAPIDS™ 开源软件库套件使您完全能够在 GPU 上执行端到端数据科学和分析流程。此套件依靠 NVIDIA CUDA® 基元进行低级别计算优化,但通过用户友好型 Python 接口能够实现 GPU 并行化和高带宽显存速度。
RAPIDS cuML 的机器学习算法和数学基元遵循熟悉的类似于 scikit-learn 的 API。单块 GPU 和大型数据中心部署均支持 K-means、XGBoost 等主流算法。针对大型数据集,相较于同等功效的 CPU,这些基于 GPU 的实施方案能够以 10 到 50 倍的速度更快地完成任务。
了解: