摘要:本文简述了人工智能的重要分支——机器学习的核心算法之一——聚类算法,并用C#实现了一套完全交互式的、可由用户自由发挥的,适用于聚类算法的训练数据集生成软件——Clustering。用户使用鼠标左键(拖动)即可生成任意形状,任意维度,任意簇数及各种数据范围的训练数据集,同时也可以保存该数据集的模拟图形与未来的计算结果进行对照。
一、聚类算法(Clustering Algorithms)
1、概述
聚类方法是最有用的无监督的机器学习(Machine Learning)方法之一。这些方法用于发现数据样本之间的相似性以及关系模式,然后根据特征将这些样本聚类为具有相似性的组。
聚类很重要,因为它决定了当前未标记数据之间的内在分组。他们基本上对数据点进行一些假设,以构成它们的相似性。每个假设将构造不同但同样有效的集群。
聚类算法主要有:
1)基于密度
在这些方法中,簇被形成为密集区域。这些方法的优点是,它们具有良好的准确性以及合并两个集群的良好能力。例如,基于密度的含噪应用程序空间聚类(DBSCAN),确定聚类结构的排序点(光学)等。
2)基于层次结构
在这些方法中,集群根据层次结构形成树状结构。它们有两类,即凝聚(自下而上的方法)