《机器学习》周志华 k均值算法学习笔记

聚类

无监督学习中的研究最多的应用最广的算法。
通过对无标记训练样本的学习来获得数据内在的规律。

“聚类将能够像数据集中的样本划分为通常不相交的子集,每一个子集称为簇。”——《机器学习》周志华

性能度量

我们希望“物以类聚”,同一簇的样本尽可能相似,不同簇的样本尽量不同。性能度量就是评估聚类结果的好坏。
聚类的性能度量的两个指标:外部指标和内部指标。两者的区别在于有没有外界参考模型提供参考。

常用的聚类性能度量外部指标

Jaccard系数:
FM 指数:
Rand指数:
这些性能度量结果值在[0,1]且越大约好。

常用的聚类性能度量内部指标

DB指数:
DB指数越小越好。
Dunn指数:
Dunn指数越大越好。

距离计算

距离度量的函数需要满足4个基本性质:非负性,同一性,对称性,直递性。 直递性不好理解,可以理解为三角形两边之和大于第三边。
非直递性的例子:人马例子。
假如人与人马的相似距离为1,马与人马的相似距离也为1,但是人与马的不相似,距离为5。1+1<5,这里不满足直递性,不能作为度量距离。所以要基于具体的数据来决定合适的距离计算式。
给定两个样本xixi, xjxj,每个样本具有n个特征,计算这两个样本特征的距离(相似度)常用闵可夫斯基距离(Minkowski distance)

distmb(xi,xj)=(∑u=1n|xiu−xju|p)1pdistmb(xi,xj)=(∑u=1n|xiu−xju|p)1p

p = 1时称为曼哈顿距离;p = 2时称为欧氏距离。
把直接能在属性上计算距离的属性,如{1, 2, 3},1与2近离3远,称为有序属性
闵可夫斯基距离用于计算有序属性。
不能直接在属性上计算距离的属性,如{人,马,鸟},称为无序属性
无序属性用VDM (Value Difference Metric) 计算,mu,amu,a表示在属性u上取值为a的样本数,mu,a,imu,a,i表示在第i个样本簇中在属性u上取值为a的样本簇数,k为样本簇数,属性u上的两个离散值a,b之间的VDM距离为

VDMp(a,b)=∑i=1k|mu,a,imu,a−mu,b,imu,b|pVDMp(a,b)=∑i=1k|mu,a,imu,a−mu,b,imu,b|p

不同的聚类方法

  • 原型聚类。假设聚类结构可以通过一组原型刻画。
  • 密度聚类。聚类结构可以通过样本分布的紧密程度确定。
  • 层次聚类。在不同层次生对数据进行划分。

原型聚类

假设聚类结构能够通过一组原型刻画,不同的原型表示、求解方法会产生不同算法,常用的有:

  • k均值算法
  • 学习向量量化
  • 高斯混合聚类

k均值算法

给定样本集D={x1,x2,...,xm}D={x1,x2,...,xm},k均值算法针对聚类所的簇C={C1,C2,..,Ck}C={C1,C2,..,Ck}划分最小平方误差

E=∑i=1k∑x∈Ci∥x−ui∥22,E=∑i=1k∑x∈Ci‖x−ui‖22,

其中ui=1|Ci|∑x∈Cixui=1|Ci|∑x∈Cix是Ci的均值向量。
E很难求,实际上式通过迭代优化求解。

算法流程:
输入: 样本集和簇数k
过程:
(1)随机选择k个样本组成初始均值向量(簇均值);
(2)计算每一个样本与初始均值向量的距离;
(3)根据最近原则把样品划入相应的簇;
(4)计算新的簇均值并更新当前簇均值;
(5)重复(2)-(5),若迭代更新后聚类结果不变,返回簇分类结果。
输出:簇划分C={C1,C2,..,Ck}C={C1,C2,..,Ck}

转载于:https://www.cnblogs.com/siucaan/p/9623217.html

k-means 聚类算法相关推荐

  1. k means聚类算法_一文读懂K-means聚类算法

    1.引言 什么是聚类?我们通常说,机器学习任务可以分为两类,一类是监督学习,一类是无监督学习.监督学习:训练集有明确标签,监督学习就是寻找问题(又称输入.特征.自变量)与标签(又称输出.目标.因变量) ...

  2. k means聚类算法_K-Means 聚类算法 20210108

    说到聚类,应先理解聚类和分类的区别 聚类和分类最大的不同在于:分类的目标是事先已知的,而聚类则不一样,聚类事先不知道目标变量是什么,类别没有像分类那样被预先定义出来. K-Means 聚类算法有很多种 ...

  3. OpenCV官方文档 理解k - means聚类

    理解k - means聚类 目标 在这一章中,我们将了解k - means聚类的概念,它是如何工作等. 理论 我们将这个处理是常用的一个例子. t恤尺寸问题 考虑一个公司要发布一个新模型的t恤. 显然 ...

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

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

  5. OpenCV的k - means聚类 -对图片进行颜色量化

    OpenCV的k - means聚类 目标 学习使用cv2.kmeans()数据聚类函数OpenCV 理解参数 输入参数 样品:它应该的np.float32数据类型,每个特性应该被放在一个单独的列. ...

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

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

  7. k均值聚类算法python_K均值和其他聚类算法:Python快速入门

    k均值聚类算法python This post was originally published here 这篇文章最初发表在这里 Clustering is the grouping of obje ...

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

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

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

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

  10. K均值聚类算法(HCM,K-Means)

    K均值聚类核心思想如下: 算法把n个向量分为个组,并求每组的聚类中心,使得非相似性(或距离)指标的价值函数(或目标函数)达到最小.当选择欧几里德距离为组j中向量与相应聚类中心间的非相似性指标时,价值函 ...

最新文章

  1. “华为云杯”2020深圳开放数据应用创新大赛线上推介会成功举办,让深圳大数据在全球“跑”起来...
  2. asp.net内置对象了解
  3. 保洁阿姨看完都会了!java导出excel并下载详解
  4. 最近项目上Makefile的小Bug
  5. 动态导入模块__import__(str) importlib标准库
  6. jupyter 托管_如何在本地托管的Jupyter Notebook上进行协作
  7. 240多个jquery插件
  8. 初学者内心最慌的问题:适不适合做一名码农(程序员)??
  9. document.ready和window.onload的区别
  10. 【原创】不用封装jar包 直接引入工程使用的方法(类似android的 is Library功能)...
  11. xmlhelper (把实体对象转成xml文档)
  12. input回车触发事件_JavaScript学习笔记(十五)—Event事件(上)
  13. 3h精通OpenCV(一)- 读取图像视频与网络摄像头
  14. 40个令人惊讶的photoshop文字效果教程
  15. 虚拟机中修改Fedora10/9屏幕的分辨率
  16. 2020年数学建模国赛E题题目和解题思路
  17. 10.柱状图-----人口普查各地区人口排行榜
  18. 致知在格物,物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后...
  19. Linux-ubuntu系统查看显卡型号、显卡信息详解、显卡天梯图
  20. Stream Collectors - reducing

热门文章

  1. Ripple_vJZ
  2. 中本聪愿景大会(SVC):BCH最贴近中本聪白皮书
  3. 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0[已解决]
  4. vSphereClient向ESXi主机分配许可证
  5. iphone开热点电脑总是搜不到问题的解决办法(百试百灵)
  6. POJ NOI MATH-7652 乘积最大的拆分
  7. centos7的网卡配置 实用经典总结
  8. 不能断点调试python_为Python调试构建一个不间断的断点
  9. 开源飞控爱好者_开源爱好者的10种节日礼物创意
  10. 前端:JS/32/form对象(表单)(form对象的属性,方法和事件),受返回值影响的两个事件(onclick事件,onsubmit事件),获取表单的元素对象的三种方式,表单的提交和验证方法总结