机器学习实战-61:K均值聚类算法(K-Means)
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)相关推荐
- k均值聚类算法(K Means)及其实战案例
算法说明 K均值聚类算法其实就是根据距离来看属性,近朱者赤近墨者黑.其中K表示要聚类的数量,就是说样本要被划分成几个类别.而均值则是因为需要求得每个类别的中心点,比如一维样本的中心点一般就是求这些样本 ...
- 机器学习之无监督学习-K均值聚类算法
机器学习之无监督学习-K均值聚类算法 对于无监督学习,有两类重要的应用,一个是聚类,一个是降维.我们今天主要学习聚类中的K均值聚类. 我们先看看下图,图a为原始的数据点,我们想要对图a的数据点进行分类 ...
- K-Means(K均值聚类算法)
K-Means(K均值聚类算法) 1.前言 要学习聚类算法就要知道聚类学习算法是什么,为什么要学习聚类学习聚类学习算法,有什么用途,下面就简单的做一下介绍,并且详细的说明k-means均值聚类学习算法 ...
- python(scikit-learn)实现k均值聚类算法
k均值聚类算法原理详解 示例为链接中的例题 直接调用python机器学习的库scikit-learn中k均值算法的相关方法 from sklearn.cluster import KMeans imp ...
- Thinking in SQL系列之五:数据挖掘K均值聚类算法与城市分级
原创: 牛超 2017-02-21 Mail:10867910@qq.com 引言:前一篇文章开始不再介绍简单算法,而是转到数据挖掘之旅.感谢CSDN将我前一篇机器学习C4.5决策树算法的博文 ...
- k均值聚类算法原理和(TensorFlow)实现
顾名思义,k均值聚类是一种对数据进行聚类的技术,即将数据分割成指定数量的几个类,揭示数据的内在性质及规律. 我们知道,在机器学习中,有三种不同的学习模式:监督学习.无监督学习和强化学习: 监督学习,也 ...
- 计算机视觉面试考点(14)K均值聚类算法(K-Means)
计算机视觉工程师在面试过程中主要考察三个内容:图像处理.机器学习.深度学习.然而,各类资料纷繁复杂,或是简单的知识点罗列,或是有着详细数学推导令人望而生畏的大部头.为了督促自己学习,也为了方便后人,决 ...
- 【模式识别】K均值聚类算法应用实验报告及MATLAB仿真
一. 实验目的 1.掌握K均值聚类算法的原理和实现过程: 2.掌握K均值聚类算法的应用方法. 二. 实验内容 1.彩色图像分割 选择一幅图像,分别按三种颜色数进行彩色图像分割的结果(原图和分割图).步 ...
- k均值聚类算法优缺点_Grasshopper实现K均值聚类算法
本文很长很长,有很多很多图,包含以下部分: 1.算法简介 2.如何分类平面点 3.如何分类空间点 4.如何分类多维数据 5.后记 提醒:以下内容包括:智障操作,无中生友,重复造轮子 等 1.算法简介 ...
最新文章
- python软件下载安装win10-Python Win10版本下载
- python的列表和元组
- 科普|什么是负载均衡
- IntelliJ IDEA for Mac的快速切换当前主题方案(Quick switch current scheme)
- jeecg开源项目的IDEA的部署
- 我的react+material-ui之路
- java 唯一流水号_JAVA流水号生成规格,采用同步单例生成,保证永远唯一
- instant java,Instant
- IntelliJ IDEA 2020.1 正式发布,15 项重大特性、官方支持中文了! | 原力计划
- CMM,CMMI 软件全面质量管理的思想体系
- mysql 向上取整_mysql的取整函数
- 车联网大规模商用关键突破口深度调研,车路协同智慧高速全国建设情况
- googleapis.com替换CDN
- 诺禾-数据库操作优化
- c语言调幅度程序,广播监测设备入网技术要求及测量方法(DOC 72页).doc
- Linux系统命令查看edid,Linux下得到显示屏参数的方法
- matlab 产生高斯噪声和高斯白噪声方法
- gif一键抠图 在线_5个一键抠图高效率工具
- ​什么是gop_cache
- ESP8266Web配网(连接wifi自动打开网页)