K-mean聚类算法

K-mean算法属于非监督类算法,模型相对简单。

目标函数 J = sum(dj*I{xi属于j类})

算法:

1、初始化K个点;

2、样本xi,到k个点的距离为

dk = ||xi - uk||;

j = argmin(j) dk;

xi属于cj;

3、更新参数:

uk = sum(xi*I{xi属于cj})/sum(I{xi属于cj});

重复2和3,终止条件J的变化很小或者uk变化很小。

整个算法结束了,但是结果是局部最优,初始值很重要,所以很多时候会多次初始化重复计算,找到一个稳定的解。

缺点与优点:

优点:

1、模型简单、速度快;

2、对处理数据,具有很强的伸缩性和高效性;

缺点:

1、K的值很难确定;

2、对噪声很敏感;

猜你喜欢

转载自blog.csdn.net/fengziyihang/article/details/79815698