聚类的地位:聚类问题是无监督学习任务中研究最多和应用最广的问题模型。
无监督学习的主要内容:聚类、密度估计和降维。(聚类对应监督学习中的分类,密度估计对应监督学习中的回归)。
聚类的目标:把数据样本分为若干个通常不相交的簇。
聚类的作用:
聚类的标准:聚类的好坏不存在绝对标准,完全取决于具体使用的需要。因此,聚类是机器学习中新算法出现最多最快的领域,总能找到一个新的标准使得以往的聚类算法对它无能为力。
算法流程:
备注:距离的计算也可以使用曼哈顿距离、闵可夫斯基距离等(泛化的欧氏距离)。
算法优点:
算法缺点:
关于K值的选择:K值的选择需要综合考虑实际要求和聚类效果两个方面。
算法概括:K均值++算法是对K均值算法的优化,对K均值算法的初始聚类中心的构造过程进行了优化,从而避免了K均值算法容易受初始聚类中心的影响和容易受孤立点影响的缺点。
改进内容:
算法流程:人为设置一个距离阈值,然后逐一遍历每一个样本点并进行如下操作:
算法缺点:
模型原理:高斯混合聚类假设最终结果的每一个簇都服从一个高斯分布,由此得到的多个簇就构成一个整体分布模型。
算法流程:首先假设最终的簇的个数为K(这一点与K均值算法相同)。然后遍历每一个样本点进行下列操作。重复下面过程直到得到局部最优解。
求解方法:常用的求解方法是EM方法,EM算法可以分为E和M两个步骤。
高斯混合模型和K均值算法的相似性:
高斯混合模型和K均值算法的不同:
相关概念:
算法流程:
算法流程:
算法原理:基于图论的聚类方法,将无向带权图划分为两个或两个以上的最优子图,使得子图内尽量相似,而子图之间的距离尽量越远越好,从而实现聚类的目的。
算法优点:
轮廓系数的作用:轮廓系数是用于评价聚类结果好坏的指标,可以用于聚类模型的调参过程。
样本的轮廓系数:假设样本i的簇内不相似度为ai,簇间不相似度为bi,则样本i的轮廓系数计算公式如下:
聚类结果的轮廓系数:聚类结果的轮廓系数即每一个样本点的轮廓系数的平均值。
基于轮廓系数的调参过程:可以绘制参数变化时轮廓系数的变化曲线,曲线最大值所对应的参数即为最优参数。
注意事项:轮廓系数最大值所对应的参数可能并非实际上问题的参数。
1.对于Silhouette图表述正确的是(C)。
A.每个点的取值范围为[0,1]
B.每个点的取值越接近0越好
C.可以体现出簇的紧凑性
D.对于离群点,取值可能超过1
解析:本题考察轮廓系数的相关内容。每一个样本点的轮廓系数取值范围都是[-1,1],因此A错误;每个点的轮廓系数越接近1,说明聚类效果越好,因此B错误;所有点的轮廓系数不可能大于1,因此D错误。综上所述,只有C正确,这是因为轮廓系数越大,簇的紧凑性越高。
2.由于K均值聚类是一个迭代过程,我们需要设置其迭代终止条件。下面哪句话正确描述了K均值聚类的迭代终止条件 (A)。
A.已经达到了迭代次数上限或者前后两次迭代中聚类质心基本保持不变
B.已经形成了K个聚类集合,或者每个待聚类样本分别归属唯一一个聚类集合
c.已经形成了K个聚类集合,或者已经达到了迭代次数上限
D.已经达到了迭代次数上限,或者每个待聚类样本分别归属唯一一个聚类集合
解析:本题考察K均值聚类算法的终止条件。K均值算法往往需要设置最大迭代次数参数(非超参数),当达到最大迭代次数时即停止迭代;当相邻两次迭代中聚类中心(质心)的位置基本不变也是迭代的终止条件。由此可以判断A选项正确。
由于K均值算法从算法开始到结束中间任意时刻簇的个数都是K个,因此不能通过簇的个数判断算法是否终止;每一个样本点都归属于一个簇也不能作为终止条件。
3.我们可以从最小化每个类簇的方差这一视角来解释K均值聚类的结果,下面对这一视角描述不正确的是©。
A.最终聚类结果中每个聚类集合中所包含数据呈现出来差异性最小
B.每个样本数据分别归属于与其距离最近的聚类质心所在聚类集合
C.每个簇类的质心累加起来最小
D.每个族类的方差累加起来最小
解析:本题考察聚类结果的评价。每个簇的质心累加相当于坐标点的累加,没有实际意义,因此不能作为最终的评价指标。
4.K-Means算法中的初始中心点(D)。
A.可随意设置
B.必须在每个簇的真实中心点的附近
C.必须足够分散
D.直接影响算法的收敛结果
解析:本题考察K均值算法初始聚类中心的设置。初始中心点不能随意设置,因为初始中心点的选择直接影响算法的收敛结果,由此可以判断A选项错误,D选项正确。由于每个簇的真实中心点未知,因此B选项实际上是无法做到的;必须足够分散并非K均值算法设置初始聚类中心的要求。
5.关于K-Means算法的表述正确的是(C)。
A.对数据分布没有特殊的要求
B.能较好处理噪点和离群点
C.对初始中心点较为敏感
D.计算复杂度较高
解析:本题考察K均值聚类算法的优点和缺点。K均值算法要求数据点呈现椭球形分布,而对于数据呈现条形或其他复杂分布的情况聚类结果不好,因此A错误;K均值算法容易受到噪音点和离群点的干扰,因此B错误;K均值算法对指定的初始聚类中心敏感,初始聚类中心的选择直接影响聚类结果,因此C正确;K均值算法的计算复杂度较低,因此D错误。
6.在Sequential Leader算法中(D)。
A.需对数据集进行多次遍历
B.无法人为控制最终聚类的个数
C.需要事先生成初始中心点
D.聚类结果可能受数据访问顺序影响
解析:本题考察顺序前导聚类算法。顺序前导聚类算法只需要对数据集进行一次遍历即可完成聚类过程,是最简单的聚类算法,因此A选项错误;该算法中使用者可以通过指定距离阈值从而间接控制最终聚类的个数,因此B选项错误;该算法不需要事先生成或指定初始聚类中心,因此C选项错误。顺序前导算法的聚类结果可能受到数据访问顺序的影响,不同的遍历次序可能导致不同的聚类结果,因此D选项正确。