机器学习6——聚类,k-means算法

聚类

无监督学习方法,对无人为处理的无标签样本,将相似样本提取特征并聚集

k-means算法

迭代算法,将无标签数据按潜在联系聚类

基本原理:

1.若要聚类生成k类,首先随机选取k个点,作为聚类中心,标记为k个类

2.对所有数据点,计算到k个中心的距离,选择最近的中心点,标记为此类

3.对k个类的每个类计算,重新选取中心点

4.重复2、3,直到满足条件为止。

聚类中心初始化方法:

forgy法(随机选择k个值作为初始质心)、

random partition法(随机选择k个点,并将样本划分为k个簇,有k个点和簇计算得到k个聚类中心)

k means++ 法(随机选择1个聚类点,计算选出其余点中到已有聚类点距离和最大的点最为新聚类点,重复直到选出k个聚类点)

扫描二维码关注公众号,回复: 6104114 查看本文章

距离计算方法

欧式距离法(x方加y方和的开方)

曼哈顿距离(x间差的绝对值+y间差的绝对值,|x1-x2|+|y1-y2|)

切比雪夫距离(x间差的绝对值与y间差的绝对值的最大值,max(|x1-x2|,|y1-y2|))、

余弦距离(cosθ)、信息熵、明可夫斯基距离(曼哈顿距离、欧式距离、切比雪夫距离的通式)等等

停止条件:

迭代到足够次数

聚类中心不再变换

K值选择

根据需要确定

计算各类的损失函数(到聚类中心的距离和),如果如左图所示有一个明显的转折点,选择转折点数为聚类个数k,若为右图,无明显合适分类数

猜你喜欢

转载自blog.csdn.net/nominior/article/details/88238965