当前位置:首页 > 默认分类 > 正文内容

【算法】机器学习算法之Kmeans算法(K均值算法)

virtualman5年前 (2021-02-06)默认分类4174

Kmeans算法(K均值算法)

KMeans算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。

如何定义两个样本的相似:

两个样本在欧式空间中的距离

引入新概念:

Cluster: 表示一个簇
centroid: 表示当前簇的中心

算法步骤 :

1.随机从数据集中选取k个样本当做centroid
2.对于数据集中的每个点,计算它距离每个centroid的距离,并把它归为距离最近打那个cluster
3.更新新的centroid位置
4.重复2和2,直到centroid的位置不再改变

KMEANS 的优缺点

Pros:

1. 非监督类的算法不需要样本的标注信息

CONS:

1. 不能利用到数据的标注信息,意味着模型的性能不如其他监督学习

2. 对于K的取值,也就是你认为数据集中的样本应该分为几类,这个参数的设置极为敏感!
不同的K值,导致完全不同的分类结果!

3. 对于数据集本身样本的分布也很敏感

和KNN的区别:

KNN:

  1.只关注待测样本的局部分布
  
  2.K:K个最近邻 
  
  3.监督类模型

KMeans:

  1.关注样本的全局分布
  
  2.k:K个簇


相关文章

【NOIP初赛 】哈夫曼树

【NOIP初赛 】哈夫曼树

根据我已刷的初赛题中基本每套的倒数第五或第六个不定项选择题就有一个关于哈夫曼树及其各种应用的题,占:0—1.5分;然而我针对这个类型的题也多次不会做,so,今晚好好研究下哈夫曼树;  概念:  给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二...

python实现对简单的运算型验证码的识别【不使用OpenCV】

python实现对简单的运算型验证码的识别【不使用OpenCV】

最近在写我们学校的教务系统的手机版,在前端用户执行绑定操作后,服务器将执行登录,但在登录过程中,教务系统中有个运算型的验证码,大致是这个样子的: 下面我们开始实现这个验证码的识别。1、图片读取从网站上下载大量同类型的验证码,人工标记上每个验证码的识别结果2、图片灰度化、二值化灰度化,在RGB模型中...

【已解决】Window命令行报错:无法加载文件,因为在此系统上禁止运行脚本。

错误:无法加载文件 D:\Program Files\nodejs\tsc.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 解决方法:...

解决!!!关于微信小程序中无法正常显示uview-plus的up-tabs组件样式的问题

解决!!!关于微信小程序中无法正常显示uview-plus的up-tabs组件样式的问题

一.问题背景uview-plus3.0是基于uView2.x修改的vue3版本,提供了很多好用的移动端组件。点击访问最近在使用uview-plus的tabs标签组件时,需要对标签的背景颜色等样式进行自定义,查看官方文档发现提供了参数activeStyle、inactiveStyle、itemStyl...

【随笔】关于开发一个既能日常记账,又能拥有资产管理功能的APP的Idea

随便写了,想到哪里写哪里。最近一直在市面找一款记账APP,但是感觉都不满足我的需求。我的想法是,在普通账本程序的基础上,再加上多人管理。资产管理。资产管理一定要把价格接口对接好。我举个例子,比如有虚拟货币资产ETH 1个,那么就应该在统计的时候,按实时市值进行统计。又或者按照当天的市值统计。关于资产...

\r \n \r\n三者作为换行符的区别?

在计算机领域,\r、\n、\r\n 是表示文本行结束的转义字符,主要区别如下: ˂a name="1. \r(回车符,Carriage Return)" class="reference-link" href="#"˃1. \r(回车符,Carriage Return) ASCII码:13(十进...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。