打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Kmeans聚类算法详解
输入:样本集 D = { x 1 , x 2 , x 3 , . . . , x m } D=\left \{ x_{1},x_{2},x_{3},...,x_{m} \right \} D={x1,x2,x3,...,xm};聚类簇数k.
过程:
1:从D中随机选择k个样本作为初始均值向量 { μ 1 , μ 2 , μ 3 , . . . , μ k } \left \{ \mu _{1},\mu _{2},\mu _{3},...,\mu _{k} \right \} {μ1,μ2,μ3,...,μk}

2:repeat
3: 令 C i = ∅ ( 1 ⩽ i ⩽ k ) C_{i}=\varnothing (1\leqslant i\leqslant k) Ci=(1ik)
4: for j=1,2,…,m do
5: 计算样本 x j x_{j} xj与各均值向量 μ i ( 1 ⩽ i ⩽ k ) \mu_{i}(1\leqslant i\leqslant k) μi(1ik)的距离: d j i = ∥ x j − μ i ∥ 2 d_{ji}=\left \| x_{j}-\mu_{i} \right \|_{2} dji=xjμi2;
6: 根据距离最近的均值向量确定 x j x_{j} xj的簇标记: λ j = a r g m i n i ∈ { 1 , 2 , 3 , . . . , k } d j i \lambda _{j}=arg min_{i\in \left \{ 1,2,3,...,k \right \}}d_{ji} λj=argmini{1,2,3,...,k}dji
7: 将样本 x j x_{j} xj划入相应的簇: C λ j = C λ j ∪ { x j } ; C_{\lambda_{j}}=C_{\lambda_{j}}\cup \left \{ x_{j} \right \}; Cλj=Cλj{xj}
8: end for

9: for i=1,2,…,k do
10: 计算新均值向量: μ i ′ = 1 ∣ C i ∣ ∑ x ∈ C i x \mu_{i}^{'}=\frac{1}{\left | C_{i} \right |}\sum _{x\in C_{i}}x μi=Ci1xCix;
11: if μ i ′ ≠ μ i \mu_{i}^{'}\neq \mu_{i} μi=μi then
12: 将当前均值向量 μ i \mu_{i} μi更新为 μ i ′ \mu_{i}^{'} μi
13: else
14: 保持当前均值不变
15: end if

16: end for
17:until 当前均值向量均未更新
输出:簇划分 C = { C 1 , C 2 , . . . , C k } C=\left \{ C_{1} ,C_{2},...,C_{k} \right \} C={C1,C2,...,Ck}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
K_means聚类方法
【AndrewNg机器学习】聚类(Clustering)
数量经济学的Python实现(二)|线性状态空间
回归、分类与聚类:三大方向剖解机器学习算法的优缺点(附Python和R实现)
Deep learning:二十五(Kmeans单层网络识别性能)
(1)K-均值聚类算法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服