https://www.toutiao.com/a6641916717624721933/

2019-01-03 08:00:00

K-means算法是使用得最为广泛的一个算法,本文将介绍K-means 聚类算法、原理、特点及改进思路。

K-means聚类算法简介

K-means 聚类算法,是基于距离的一种无监督式的学习算法。在1967年首次由MacQueen提出,常用于模式识别和数据挖掘中,其目的是对一组数据进行几何等价划分进行分类。

K-means算法是使用得最为广泛的一个算法,其应用场景遍及医学、经济学、行为学、决策科学等领域。算法以样本均值(质心)代表该类,定义简单具有清晰明了的几何和统计意义。

K-means聚类算法原理

算法的基本思路:

  1. 从 一组数据对象随机选择 m 个对象作为初始聚类中心;
  2. 根据每个聚类数据对象的均值(质心),计算每个数据对象与这些质心的距离;并根据最小距离重新对相应数据对象进行划分;
  3. 重新计算每个(有变化)聚类的均值(质心);
  4. 计算标准测度函数,当满足函数收敛时,则算法终止;如果条件不满足则回到步骤2

算法的工作流程

距离算法及准则函数

一般情况下我们都是以欧拉距离公式来计算两个数据对象间的距离,但还有其他的一些方法可以用于计算,算法如下:

①明氏距离(Minkowski Distance)

这里的xi=( i1,xi2,…,xip)和xj=( j1,xj2,…,xjp)是两个p维的数据对象并且 i≠j。

②欧式距离(Euclidean Distance)

当明氏距离中q=2时,公式1即欧式距离。

③兰式距离(Canberra Distance):

(2)准则函数E

对于K-means算法,通常使用准则函数E,也就是误差平方和(Sum of Squared Error,SSE)作为度量聚类质量的目标函数。

其中,d( )表示两个对象之间的距离,可以利用明氏、欧式或兰氏距离求得。

对于相同的k值,更小的SSE说明簇中对象越集中。对于不同的k值,越大的k值应该越小的SSE。

K-means聚类算法特点

K-means算法优点:

  • 原理简单、运算快速
  • 处理大数据集,该算法保持可伸缩性及高效性
  • 当数据接近高斯分布时,聚类效果最好。

K-means算法缺点:

  • 需要事先给定聚类的数量K 值;
  • 对初始聚类中心敏感,不同的初始值会对结果产生不同效果
  • 若数据中含有异常点和孤立点,将导致分类偏离严重
  • 不适用于非高斯分布的数据。

针对以上确定,最后两点属于数据问题,无法解决,但是前两点还是可以进行改进的。针对第一个缺点,可以通过肘部算法来确定K的数量,具体步骤如下:

  • ① 取K的范围1至10
  • ② 分别统计每个K类的 畸变程度(每个质点到其组内的每个元素的距离之和)
  • ③ 画图呈现,看看在第几点出现畸变缓(肘部),该点就是最优的K值

针对第二个缺点,可以对初始聚类中心的选择进行优化。优化思想为:选择批次距离尽可能远的K个点。具体选择步骤如下:

  • ① 随机选择一个点作为第一个初始类簇中心点,
  • ② 选择距离该点最远的那个点作为第二个初始类簇中心点,
  • ③ 然后再选择距离前两个点的最近距离最大的点作为第三个初始类簇的中心点,
  • ④ 以此类推,直至选出K个初始类簇中心点。

后续将通过python代码对K-means聚类算法进行实现。

「AI科技」机器学习算法之K-means算法原理及缺点改进思路相关推荐

  1. 腾讯AI Lab「云深」与成都先导合作「AI+药物」,发布骨架跃迁新算法

    感谢阅读腾讯AI Lab微信号第131篇文章.本文将介绍腾讯AI Lab「云深」联合成都先导发布骨架跃迁新算法,实验合成7个有效化合物. 腾讯AI Lab「云深」平台在药物发现 AI 算法研究领域取得 ...

  2. 2021「AI中国」评选

    文章目录 2021「AI中国」评选 最强技术实力公司TOP 10 最具潜力创业公司TOP 10 最佳人工智能公司 TOP 30 最强技术生态 TOP 10 年度开源事件TOP 10 最具商业价值解决方 ...

  3. 谷歌大脑科学家亲解 LSTM:一个关于“遗忘”与“记忆”的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入门介绍了,看不懂的话欢迎关注「AI 科技

    谷歌大脑科学家亲解 LSTM:一个关于"遗忘"与"记忆"的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入 ...

  4. [转载]「交叉验证」到底如何选择K值?

    「交叉验证」到底如何选择K值? 原文链接:https://cloud.tencent.com/developer/article/1410946 交叉验证(cross validation)一般被用于 ...

  5. 腾讯AI Lab x 王者荣耀:开放让「AI+游戏」想象力落地

    感谢阅读腾讯AI Lab微信号第81篇文章.本文将介绍腾讯 AI Lab 与王者荣耀共同推进的 AI+游戏开放平台计划. 8月18日,王者荣耀「无限开放计划交流会」在深圳举办,这是一次「造梦之旅」的开 ...

  6. 一夜之间,「AI孙燕姿」火遍全网!

    来源:新智元 一夜之间,「AI孙燕姿」火遍全网. B站上,AI孙燕姿翻唱的林俊杰「她说」.周董「爱在西元前」.赵雷「成都」等等,让一众网友深陷无法自拔. 「冷门歌手」孙燕姿新晋成为2023年度热门歌手 ...

  7. 「AI+教育」和「AI教育」:一个为教育,一个做教育

    以机器学习.语音识别.图像处理等技术为主的人工智能(AI)技术逐渐展露在我们眼前,它不仅极大的改变了人们的生活方式,也带动了各领域的发展.随着人工智能的应用领域愈发广泛,如何普及.发展人工智能教育(A ...

  8. 字节跳动技术团队提出「AI渲染」方案,手机端也能实现影视级渲染效果

    随着3D技术的高速发展,影视渲染效果的复杂度.精细度都在逐步提升,但高质量的渲染效果和时间成本往往难以兼顾.针对这一行业痛点,字节跳动智能创作团队基于AI技术的优势提出了「AI渲染」方案.这一方案现已 ...

  9. 聆听「创业」与「AI+教育」 | 爱莫×众里 in FM105.7

    日前,"南粤之声FM105.7"电台特邀爱莫科技CEO杨恒与众里社区运营总监卢倩前往做客,聊聊他们关于「创业」.「AI+教育」的见解.体会. 聆听「创业」与「AI+教育」 | 爱莫 ...

最新文章

  1. python判断对象是否实例化_python中如何判断class当前有哪些实例?
  2. Oracle中TO_DATE格式的使用小结
  3. 百练2815 城堡问题
  4. _编程语言_C++_Lambda函数与表达式
  5. 『性能测试』文章大汇总
  6. JavaScript工具
  7. Python: sorted() 函数
  8. python快速入门及进阶
  9. 郑大计算机组成原理试题,郑州大学计算机组成原理试卷A.doc
  10. LMS激光传感器的TCP/IP协议问题
  11. 小白简单式安装VM虚拟机
  12. 神经网络模型的实际案例,神经网络模型应用实例
  13. 将yolo格式数据集转换为coco格式数据集
  14. 当GUSD遇上STO,全球投资格局与资金流向生变? | 链塔智库
  15. HDU 3265 - Posters
  16. 网络安全----数据库1
  17. afudos备份bios不动_救命宝典:BIOS刷坏后的恢复方法
  18. IMU之磁力计校准地磁场计算磁航向
  19. js-获取子节点--具体节点调用
  20. vue通过点击按钮弹出新窗口打开html文件

热门文章

  1. 图神经网络:方法与应用 | 一文展望,四大待解问题
  2. 一本可能提升思考水平 10 倍的书
  3. 是时候了解一下Serverless了
  4. 开启Web金库:互联网业务成功之道——前言
  5. 手把手教你使用Flex 3——《Flex 3程序设计》
  6. 凝聚世界著名的UNIX/Linux专家Sobell十年功力的巨著2
  7. ServiceLoader跟DriverManager使用总结
  8. 2021年了,为什么约会软件算法仍然如此糟糕?
  9. 原创 | 浅议数据资产市场
  10. 10万视频,所有面部图像均获授权,Facebook创建大规模Deepfake数据集