K均值聚类算法(K-Means)

深度学习原理与实践(开源图书)-总目录,建议收藏,告别碎片阅读!

机器学习分为监督学习、无监督学习和半监督学习(强化学习)。无监督学习最常应用的场景是聚类(clustering)和降维(dimension reduction)。聚类算法包括:K均值聚类(K-Means)、层次聚类(Hierarchical Clustering)和混合高斯模型(Gaussian Mixture Model)。降维算法包括:主成因分析(Principal Component Analysis)和线性判别分析(Linear Discriminant Analysis)。

K均值聚类(K-Means)算法的核心思想是:对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。

1 算法原理

K均值聚类(K-Means)算法的核心步骤如下:

  • 将数据集{D}中随机取K个元素,作为K个簇的各自的中心。最佳实践:根据经验或交叉验证方式选择合适的K值。
  • 分别计算剩下的元素到K个簇中心的相异度,将这些元素分别划归到相异度最低的簇。
  • 根据聚类结果,重新计算K个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数。
  • 将{D}中全部元素按照新的中心重新聚类。
  • 重复第 4 步,直到每个簇的中心基本不再变化。
  • 将结果输出。

K均值聚类(K-Means)算法的核心优势如下:

  • 计算伸缩性: 算法复杂度不高,算法收敛速度快,聚类效果好;
  • 参数依赖性: 可控制的参数较少(仅簇数k), 调参简单;
  • 普适性能力: 泛化能力一般,容易受到噪音干扰;
  • 抗噪音能力: 需要考虑局部最优问题,异常数据干扰问题等;
  • 结果解释性: 模型和结果均具有解释性。

2 算法实例

sklearn.cluster.KMeans(n_clusters=8, init=’k-means++’, n_init=10, max_iter=300, tol=0.0001, precompute_distances=’auto’, verbose=0, random_state=None, copy_x=True, n_jobs=None, algorithm=’auto’)

  • n_clusters:数据集将被划分成多少个簇,最佳实践:多次选取并评估质量。
  • max_iter : 最大迭代次数(default: 300)

请参考下面两个Sklearn官方示例

  • K-means Clustering
  • Comparing different clustering algorithms on toy datasets


图-1:K均值聚类(K-Means)示例,数据来源scikit-learn

3 典型应用

  • 用户画像: 在电子商务、新闻客户端、视频客户端通过对用户行为数据的聚类分析,可以准确刻画用户画像。精准的用户画像,对于优化内容推送,内容搜索,广告分发具有重大意义。
  • 地理信息: 对于地域性比较强的领域,诸如:汽车保险、个人意外险、房屋租赁和二手房交易等。从用户数据中聚类出此类信息,能够在上述领域充分匹配用户和产品,实现精准营销。

系列文章

  • 机器学习原理与实践(开源图书)-总目录
  • 深度学习原理与实践(开源图书)-总目录
  • Github: 机器学习&深度学习理论与实践(开源图书)

参考资料

  • [1] 周志华. 机器学习. 清华大学出版社. 2016.
  • [2] [日]杉山将. 图解机器学习. 人民邮电出版社. 2015.
  • [3] 佩德罗·多明戈斯. 终极算法-机器学习和人工智能如何重塑世界. 中信出版社. 2018.

机器学习实战-61:K均值聚类算法(K-Means)相关推荐

  1. k均值聚类算法(K Means)及其实战案例

    算法说明 K均值聚类算法其实就是根据距离来看属性,近朱者赤近墨者黑.其中K表示要聚类的数量,就是说样本要被划分成几个类别.而均值则是因为需要求得每个类别的中心点,比如一维样本的中心点一般就是求这些样本 ...

  2. 机器学习之无监督学习-K均值聚类算法

    机器学习之无监督学习-K均值聚类算法 对于无监督学习,有两类重要的应用,一个是聚类,一个是降维.我们今天主要学习聚类中的K均值聚类. 我们先看看下图,图a为原始的数据点,我们想要对图a的数据点进行分类 ...

  3. K-Means(K均值聚类算法)

    K-Means(K均值聚类算法) 1.前言 要学习聚类算法就要知道聚类学习算法是什么,为什么要学习聚类学习聚类学习算法,有什么用途,下面就简单的做一下介绍,并且详细的说明k-means均值聚类学习算法 ...

  4. python(scikit-learn)实现k均值聚类算法

    k均值聚类算法原理详解 示例为链接中的例题 直接调用python机器学习的库scikit-learn中k均值算法的相关方法 from sklearn.cluster import KMeans imp ...

  5. Thinking in SQL系列之五:数据挖掘K均值聚类算法与城市分级

    原创: 牛超   2017-02-21   Mail:10867910@qq.com 引言:前一篇文章开始不再介绍简单算法,而是转到数据挖掘之旅.感谢CSDN将我前一篇机器学习C4.5决策树算法的博文 ...

  6. k均值聚类算法原理和(TensorFlow)实现

    顾名思义,k均值聚类是一种对数据进行聚类的技术,即将数据分割成指定数量的几个类,揭示数据的内在性质及规律. 我们知道,在机器学习中,有三种不同的学习模式:监督学习.无监督学习和强化学习: 监督学习,也 ...

  7. 计算机视觉面试考点(14)K均值聚类算法(K-Means)

    计算机视觉工程师在面试过程中主要考察三个内容:图像处理.机器学习.深度学习.然而,各类资料纷繁复杂,或是简单的知识点罗列,或是有着详细数学推导令人望而生畏的大部头.为了督促自己学习,也为了方便后人,决 ...

  8. 【模式识别】K均值聚类算法应用实验报告及MATLAB仿真

    一. 实验目的 1.掌握K均值聚类算法的原理和实现过程: 2.掌握K均值聚类算法的应用方法. 二. 实验内容 1.彩色图像分割 选择一幅图像,分别按三种颜色数进行彩色图像分割的结果(原图和分割图).步 ...

  9. k均值聚类算法优缺点_Grasshopper实现K均值聚类算法

    本文很长很长,有很多很多图,包含以下部分: 1.算法简介 2.如何分类平面点 3.如何分类空间点 4.如何分类多维数据 5.后记 提醒:以下内容包括:智障操作,无中生友,重复造轮子 等 1.算法简介 ...

最新文章

  1. python软件下载安装win10-Python Win10版本下载
  2. python的列表和元组
  3. 科普|什么是负载均衡
  4. IntelliJ IDEA for Mac的快速切换当前主题方案(Quick switch current scheme)
  5. jeecg开源项目的IDEA的部署
  6. 我的react+material-ui之路
  7. java 唯一流水号_JAVA流水号生成规格,采用同步单例生成,保证永远唯一
  8. instant java,Instant
  9. IntelliJ IDEA 2020.1 正式发布,15 项重大特性、官方支持中文了! | 原力计划
  10. CMM,CMMI 软件全面质量管理的思想体系
  11. mysql 向上取整_mysql的取整函数
  12. 车联网大规模商用关键突破口深度调研,车路协同智慧高速全国建设情况
  13. googleapis.com替换CDN
  14. 诺禾-数据库操作优化
  15. c语言调幅度程序,广播监测设备入网技术要求及测量方法(DOC 72页).doc
  16. Linux系统命令查看edid,Linux下得到显示屏参数的方法
  17. matlab 产生高斯噪声和高斯白噪声方法
  18. gif一键抠图 在线_5个一键抠图高效率工具
  19. ​什么是gop_cache
  20. ESP8266Web配网(连接wifi自动打开网页)

热门文章

  1. VC自动生成软件版本号
  2. “李逵”还是“李鬼”,傻傻分不清楚
  3. 弱电施工流程及规范(一)
  4. 计算机专业毕业论文答辩流程及答辩开场白,论文答辩
  5. 逻辑思维题之时针分针秒针问题
  6. 计算机二级c语言停考,计算机等级考试调整Fortran等语言停考
  7. 华为 IoT 认证课程一
  8. 目标检测YOLO实战应用案例100讲-基于单目的自动驾驶三维目标检测系统研究
  9. OSI七层模型详解——物理层
  10. 山东大学软件学院移动互联网开发技术期末考试回忆版