在'无监督学习'(unsupervised learning)中, 训练样本的标记信息是未知的, 目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律, 为进一步的数据分析提供基础.
“聚类”(clustering)算法是“无监督学习”算法中研究最多、应用最广的算法,它试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”(cluster)
不同的簇分布代表着聚类算法对这组数据集观测的不同角度,比如在不同属性上进行分类会导致聚类算法将西瓜划分为:“有籽瓜簇” “无籽瓜簇”,”浅色瓜簇” “深色瓜簇”,甚至“本地瓜簇” “外地瓜簇”等类别。
在此基础上我们稍微扩展一下,假设存在一个能对机器学习各种算法进行分类的聚类学习器,那么在训练样本是否有标记这个属性上,它会将机器学习算法分为“监督学习簇”、“非监督学习簇”和“半监督学习簇”;在预测结果是否是连续值这个属性上,它会将机器学习算法分为“回归算法簇”和“分类算法簇”;在算法基本步骤这个属性上,它会将机器学习算法分为“贝叶斯算法簇”、“决策树算法簇”、“神经网络算法簇”等类别
需说明的是,这些划分的概念对聚类算法来说事先是未知的,聚类过程仅能自动生成簇结构,簇所对应的概念语义需由使用者来把握和命名
因为聚类是在未标注样本上的分类算法,所以不像之前我们介绍的其它算法一样,我们可以直观的知道训练出来的模型的好坏,即我们不能通过比对测试样本的预测结果和真实预测结果误差值来近似泛化误差。
所以在介绍聚类的具体算法之前,我们得要先讨论聚类算法涉及的最基本的问题:如何判断一个聚类算法结果的好坏