聚类主要是一种无监督学习。用来发现未标注数据的隐藏结构,主要是用来给数据分组。聚类算法一般有硬聚类(k-means,k-means++)和软聚类FCM(fuzzy c-means)。聚类眼下广泛应用于文档,音乐,电影的分组,以及基于用户的行为对用户分组等。聚类一般有例如以下分类,基于层级(hierarchical)的聚类,基于密度(density-based)的聚类还有基于原型(prototype-based)的聚类。

k-means实现思路:

1. 随机从数据集中选择k个中心点

2. 对于数据集中的每一条数据,比較与k个中心点的距离,然后把当前数据分配给近期的中心点

3. 又一次计算数据集中k个中心点

4. 反复第二步和第三步。仅仅到中心点的位置变化不变或者变化在指定的范围内或者迭代次数满足设定的目标。

比較与中心点的距离一般採用的是欧式距离,k-means可能会选择到最差的结果,须要多跑几次,并且每次跑的结果不一定同样。





k-means++ 实现思路:

1. 初始化一个空的集合M来存储k个中心点

2. 随机的从数据集中选择第一个中心点并存到M中

3. 对数据集中的每一条不在M中的数据,计算对M所产生的最小平方距离

4. 随机的选择下一个中心点。此时中心点的选择会依据一个有权重的概率分布,规则是距离中心点越远的点,选择的概率也越大。计算公式=当前中心点与M最小的距离/第三步产生的数据求和。

5. 反复2.3.4直到k中心点都选择完毕。

6. 使用k-means的方式来处理以后的过程。





另一种称之为软聚类的方法,这个主要是依据概率来推断当前数据属于那一个cluster

如对上图中有三个中心点的样例。对于一个新的样本点,使用k-means或k-means++得出的结果为[k1=0,k2=1,k3=0],使用FCM得到的结果应该是这个样子的[k1=0.1,k2=0.75,k3=0.15]。这个说明这个新的样本点属于k2的概率是最大的。

FCM实现思路:

1. 指定中心点的个数k而且随机的为每一个数据点分配中心点的概率

2. 又一次计算中心点

3. 更新每一个数据点属于中心点的依据

4. 反复2.3直到样本点属于中心点的相关系数不变或者变化在一个可控的范围内或者迭代次数到达了设定的值。

聚类k-means/k-means++/fcm学习笔记的更多相关文章

  1. 【学习笔记】K 短路问题详解

    \(k\) 短路问题简介 所谓"\(k\) 短路"问题,即给定一张 \(n\) 个点,\(m\) 条边的有向图,给定起点 \(s\) 和终点 \(t\),求出所有 \(s\to t ...

  2. 主席树学习笔记(静态区间第k大)

    题目背景 这是个非常经典的主席树入门题——静态区间第K小 数据已经过加强,请使用主席树.同时请注意常数优化 题目描述 如题,给定N个整数构成的序列,将对于指定的闭区间查询其区间内的第K小值. 输入输出 ...

  3. 机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记

    机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记 关键字:k-均值.kMeans.聚类.非监督学习作者:米仓山下时间: ...

  4. 机器学习理论与实战(十)K均值聚类和二分K均值聚类

    接下来就要说下无监督机器学习方法,所谓无监督机器学习前面也说过,就是没有标签的情况,对样本数据进行聚类分析.关联性分析等.主要包括K均值聚类(K-means clustering)和关联分析,这两大类 ...

  5. 机器学习实战5:k-means聚类:二分k均值聚类+地理位置聚簇实例

    k-均值聚类是非监督学习的一种,输入必须指定聚簇中心个数k.k均值是基于相似度的聚类,为没有标签的一簇实例分为一类. 一 经典的k-均值聚类 思路: 1 随机创建k个质心(k必须指定,二维的很容易确定 ...

  6. Python_sklearn机器学习库学习笔记(五)k-means(聚类)

    # K的选择:肘部法则 如果问题中没有指定 的值,可以通过肘部法则这一技术来估计聚类数量.肘部法则会把不同 值的成本函数值画出来.随着 值的增大,平均畸变程度会减小:每个类包含的样本数会减少,于是样本 ...

  7. ArcGIS案例学习笔记-聚类点的空间统计特征

    ArcGIS案例学习笔记-聚类点的空间统计特征 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于聚集点,根据分组字段case field,计算空间统计特征 ...

  8. R语言中聚类确定最佳K值之Calinsky criterion

    Calinski-Harabasz准则有时称为方差比准则 (VRC),它可以用来确定聚类的最佳K值.Calinski Harabasz 指数定义为: 其中,K是聚类数,N是样本数,SSB是组与组之间的 ...

  9. [笔记] $f(i)$ 为 $k$ 次多项式,$\sum_{i=0}^nf(i)\cdot q^i$ 的 $O(k\log k)$ 求法

    \(f(i)\) 为 \(k\) 次多项式,\(\sum_{i=0}^nf(i)\cdot q^i\) 的 \(O(k\log k)\) 求法 令 \(S(n)=\sum_{i=0}^{n-1}f(i ...

随机推荐

  1. Win10 计算机管理 打不开应急办法

    最近Win10重置以后,计算机管理打不开了,经过一番尝试,通过以下命令在cmd下面可以直接打开 compmgmt 或者compmgmt.msc打开 在次特做一个记录,以备急用

  2. ROS-URDF-Xacro

    前言:Xacro是一种宏语言,允许代码复用,使用Xacro可以减少URDF文件中的代码量. 参考自:http://wiki.ros.org/urdf/Tutorials/Using%20Xacro%2 ...

  3. C - Arrival of the General

    Problem description A Ministry for Defense sent a general to inspect the Super Secret Military Squad ...

  4. poj3669 广搜

    //好久没刷题了,生疏了. 题意分析: 题意理解为在一个二维的正向坐标轴上,一个点(流星)连同它的上下左右的四个点会在某一个时刻被破坏.一个人在原点,问她到达安全区的最小时间是多少. 代码思路: 从原 ...

  5. spring - quartz - experssion 表达式

    字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN- ...

  6. vim之快速跳转

    光棍节啦, 淘东西的闲暇上来发vim旅途第一篇日志. 为什么呢? 因为今天是我媳妇的生日, 我用这种只有我知道的方式来纪念一下. ^_^, 宝宝生日快乐! 开篇先说明日志布局, vim学习记录连载中所 ...

  7. SiftGPU:编译SiftGPU出现问题-无法解析的外部符号 glutInit

    OpenCV出现了ORB特征和SURF的GPU版本, 参考:opencv上gpu版surf特征点与orb特征点提取及匹配实例至于使用什么并行API暂时没有探究. 但没有发现OpenCV-SIFT的GP ...

  8. Spring MVC 中的基于注解的 Controller(转载)

           终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法 ...

  9. (转)基于MVC4+EasyUI的Web开发框架经验总结(9)--在Datagrid里面实现外键字段的转义操作

    http://www.cnblogs.com/wuhuacong/p/3872890.html 我们在使用EasyUI的时候,很多情况下需要使用到表格控件datagrid,这个控件控件非常强大,使用起 ...

  10. 范畴论-一个单子(Monad)说白了不过就是自函子范畴上的一个幺半群而已

    范畴即为结构:包含要素和转化. 范畴为高阶类型. 函子为高阶函数.函子的输入为态射.函子为建立在态射基础上的高阶函数.函子用于保持范畴间映射的结构.态射用于范畴内部的转换. 群为运算规则的约束. 自函 ...