简述
几种典型的聚类算法*(聚类算法属于面试非常常见的问题)
1、基于划分的聚类----K-均值算法
k-means中样本间的相似度是由他们之间的距离决定的,距离越近,相似度越高。
常见的距离计算方式:欧式距离,曼哈顿距离,切比雪夫距离,明可夫斯基距离等等。
算法步骤:
1、首先选取k个簇(k需要指定)的质心,通常是随机选取。
2、对剩余的每个样本点,计算它们到各个质心的欧式距离,并将其归入到相互间距离最小的质心所在的簇,计算各个新簇的质心。
3、在所有样本点都划分完毕后,根据划分情况重新计算各个簇的质心所在位置然后迭代计算各个样本点到各簇质心的距离,对所有样本点重新进行划分
4、重复2和3步骤,直到迭代计算后,所有样本点的划分情况保存不变,此时说明k-均值算法得到最优解,返回结果
缺点
1、由于算法采用了贪心策略,导致算法容易局部收敛,在大规模的数据集上求解缓慢
2、对离群点和噪声点非常敏感,初始聚类中心的选取对算法结果影响很大,不同的初始中心可能会导致不同的结果
3、k值的选取直接影响聚类结果
关于k值的确定
1、手肘法
可以尝试不同的K值,并将不同K值所对应的损失函数画成折线,横轴为K的取值,纵轴为误差平方和所定义的损失函数
2、轮廓系数
在实际应用中,由于kmeans一般作为数据预处理