机器学习面试常考知识之聚类分析

聚类分析:

聚类分析是在没有给定划分类别的情况,或者没有具体标签的情况下,进行划分类别,将样本集合中相似的样本分配到相同的类,不相似的样本分配到不同的类。聚类属于一种无监督学习。主要思想是根据样本数据之间的相似度进行划分样本的方法。其主要学习的方法是组内间隔最小化,而组间(外部)距离最大化。

聚类方法分为层次聚类和k均值聚类。

 

k-means:采用距离作为相似性的度量,常用的距离有欧式距离(距离平方和开根号)、曼哈顿距离(绝对值之和)、切比雪夫距离(各个维度值之差的最大值)等

K-means算法流程是:

(1)    随机选取k个样本作为初始的聚类中心;

(2)    分别计算每个样本到各个聚类中心的距离,将该样本分配到距离最近的距离中心;

(3)    所有的样本分配完成后,重新计算每个距离的中心;

(4)    与前一次计算得到的聚类中心比较,如果聚类中心发生变化,则转到第(2)步,否则继续(5);

(5)    当聚类中心(质心)不发生变化后,停止并输出聚类结果。

K值的选取(常考):

手肘法的核心思想是:随着聚类数k的增大,样本划分会更加精细,每个簇的聚合程度会逐渐提高,那么误差平方和SSE自然会逐渐变小。并且,当k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故SSE的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以SSE的下降幅度会骤减,然后随着k值的继续增大而趋于平缓,也就是说SSE和k的关系图是一个手肘的形状,而这个肘部对应的k值就是数据的真实聚类数。当然,这也是该方法被称为手肘法的原因。

 

 

 

 

你可能感兴趣的:(机器学习面试)