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​=∅(1⩽i⩽k)
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​(1⩽i⩽k)的距离: d j i = ∥ x j − μ i ∥ 2 d_{ji}=\left \| x_{j}-\mu_{i} \right \|_{2} dji​=∥xj​−μi​∥2​;
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′​=∣Ci​∣1​∑x∈Ci​​x;
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​}

(0)

相关推荐

  • 图像质量评估:BRISQUE

    重磅干货,第一时间送达 我们都知道拍摄相片容易,但是想拍摄高质量的图片却很难,它需要良好的构图和照明.此外,选择正确的镜头和优质的设备也会提高图像的质量.但是,最重要的是,拍摄高质量的图片需要良好的品 ...

  • 4门统计学你选择哪个

    统计学的重要性毋庸多说,基本上NGS数据分析的每个环节参数的把握,每个图表的理解背后都是统计学背景知识.当然了,对大量入门级别玩家,暂时可以不要考虑那么多,先跟着我在生信技能树的教程肝下去,走出一个完 ...

  • spectral-cluster聚类算法详解

    spectral clustering,称之为谱聚类算法,和近邻传播AP算法一样,也是基于图论的算法,都是将样本点两两相连,构成图这一数据结构,不同的是,谱聚类是通过切图的方式来划分不同的cluste ...

  • Affinity Propagation聚类算法详解

    Affinity Propagation简称AP, 称之为近邻传播算法, 是一种基于图论的聚类算法.将所有样本点看做是一个网络中的节点,图示如下 在样本点构成的网络中,每个样本点都是潜在的聚类中心,同 ...

  • OPTICS聚类算法详解

    DBSCAN算法对于邻域半径eps和最小样本数minPoints这两个参数比较敏感,不同的参数取值会产生不同的聚类效果.为了降低参数设置对聚类结果造成的不稳定性,在DBSCAN算法的基础上,提出了OP ...

  • DBSCAN聚类算法详解

    DBSCAN全称如下 Density-Based Spatial Clustering of Applications with Noise 是一种基于密度的聚类算法,所谓密度,就是说样本的紧密程度对 ...

  • BIRCH聚类算法详解

    BIRCH算法全称如下 Balanced Iterative Reducing and Clustering Using Hierarchies 属于树状结构的层次聚类算法的一种,其树状结构的构建是自 ...

  • CTC算法详解

    和其它文章初衷一样,网上解释很多,但是讲的不是很明白,在看完几篇参考博客后特此记录 简介 先拿语音识别任务来说,如果现在有一个包含剪辑语音和对应的文本,我们不知道如何将语音片段与文本进行对应,这样对于 ...

  • 十大排序算法详解,基本思想+动画演示+C语言实现,太肝了!

    下面的99%的代码都是手动敲出来的,参考了诸多资料,已经经过测试,可以放心食用. 1.冒泡排序 基本思想 冒泡排序基本思想是依次比较两个相邻的元素,如果顺序(如从大到小.首字母从Z到A)错误就把他们交 ...

  • 一个完整的K-means聚类算法指南!

    来源:海豚数据科学实验室 著作权归作者所有,本文仅作学术分享,若侵权,请联系后台删文处理 假设您想根据内容和主题对数百(或数千)个文档进行分类,或者您希望出于某种原因将不同的图像组合在一起.或者更重要 ...

  • 道路识别算法详解

    本文详细描述了当前代码中(git 版本: 16b521b12d2e3bdc00bd996acafe4526f1d1cb9a)道路识别的算法. 如果没有特殊说明,下文中所说的"算法" ...