机器学习-聚类算法详解

K-maens & DBSCAN
与分类、回归任务不同,聚类任务事先并不知道任何样本标签,通过数据之间的内在关系把样本划分为若干类别,使得同类别之间的相似度高,不同类别之间的样本相似度低。
K-means
基本思想
K-means算法的基本思想是,通过迭代寻找K个簇(Clusterd)的一种划分方案,使得聚类结果对应的损失函数最小。
其中,损失函数可以定义为各个样本距离所属簇中心点的误差平方和:
J ( c , μ ) = ∑ i = 1 M ∣ ∣ x i − μ c i ∣ ∣ 2 J(c,\mu) = \sum_{i=1}^M|| x_i -\mu_{c_i} || ^2 J(c,μ)=i=1M∣∣xiμci2
其中Xi代表第i个样本,Ci是Xi所属的簇,U代表簇对应的中心点,M是样本的总数
具体步骤
K-means的核心目标是将数据集划分为K个簇,并给出的每个簇的中心点。具体步骤分为四步:

  • 数据预处理。主要将数据标准化、异常点过滤
  • 随机选取K个中心点
    μ 1 ( 0 ) , μ 2 ( 0 ) , . . . , μ k ( 0 ) \mu_1^{(0)},\mu_2^{(0)},...,\mu_k^{(0)} μ1(0),μ2(0),...,μk(0)
  • 定义损失函数
    J ( c , μ ) = ∑ i = 1 M ∣ ∣ x i − μ c i ∣ ∣ 2 J(c,\mu) = \sum_{i=1}^M|| x_i -\mu_{c_i} || ^2 J(c,μ)=i=1M∣∣xiμci2
  • 令t=0,1,2。。。为迭代步数,重复以下步骤直到损失函数收敛:
    • 对于每一个样本xi,将其分配到距离最近的中心
      c i t < − a r g m i n k ∣ ∣ x i − μ k t ∣ ∣ 2 c_i^t <- argmin_k|| x_i - \mu_k^t||^2 cit<argmink∣∣xiμkt2
    • 对于每一个类中心k,重新计算该类的中心
      μ k t + 1 < − a r g m i n μ ∑ i : c i t = k b ∣ ∣ x i − μ ∣ ∣ 2 \mu_k^{t+1} <- argmin_{\mu} \sum_{i:c^t_i=k}^b|| x_i - \mu||^2 μkt+1<argminμi:cit=kb∣∣xiμ2
      DBSCAN
  1. 寻找核心点形成临时聚类簇。
    扫描全部样本点,如果某个样本点R半径范围内点数目>=MinPoints,则将其纳入核心点列表,并将其密度直达的点形成对应的临时聚类簇。
  2. 合并临时聚类簇得到聚类簇。
    对于每一个临时聚类簇,检查其中的点是否为核心点,如果是,将该点对应的临时聚类簇和当前临时聚类簇合并,得到新的临时聚类簇。
    重复此操作,直到当前临时聚类簇中的每一个点要么不在核心点列表,要么其密度直达的点都已经在该临时聚类簇,该临时聚类簇升级成为聚类簇。
    继续对剩余的临时聚类簇进行相同的合并操作,直到全部临时聚类簇被处理。
    聚类算法的各自缺点:
    K-means 问题:
  • 第一个就是对簇的数量的选择,我们希望指定一个簇数K,以使每个点和其最近的簇的距离之和最小。但是在实际情况中,我们很难找到一个合适的K值,因为我们不知道应该将数据分为几类。
  • Kmeans 算法会把所有的数据点都进行分类,但是很多情况下,会有一些离群点,这些点应该被剔除的,但是 Kmeans 算法还是会把它们归为某一类。
  • k均值聚类假设对每个簇来说,所有的方向都同等重要。这也就意味着k均值聚类主要适用于球形分布的数据,对于其他分布的数据分类可能不好。
    DBSCAN缺点:
  • 如果样本集的密度不均匀、聚类间距差相差很大时,聚类质量较差,这时用DBSCAN聚类一般不适合。
  • 如果样本集较大时,聚类收敛时间较长,此时可以对搜索最近邻时建立的KD树或者球树进行规模限制来改进。
  • 调参相对于传统的K-Means之类的聚类算法稍复杂,主要需要对距离阈值ϵϵ,邻域样本数阈值MinPoints联合调参,不同的参数组合对最后的聚类效果有较大影响。
    聚类算法的优点:
    K-means:
  • 高效可伸缩,计算复杂度接近于线性(N是数据量,K是聚类总数,t是迭代轮数)。
  • 收敛速度快,原理相对通俗易懂,可解释性强。
    BDSCAN:
  • 可以对任意形状的稠密数据集进行聚类,相对的,K-Means之类的聚类算法一般只适用于凸数据集。
  • 可以在聚类的同时发现异常点,对数据集中的异常点不敏感。
  • 聚类结果没有偏倚,相对的,K-Means之类的聚类算法初始值对聚类结果有很大影响

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/606790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java LeetCode篇-二叉搜索树经典解法(实现:二叉搜索树的最近公共祖先、根据前序遍历建树等)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 判断合法 1.1 使用遍历方式实现验证二叉搜索树 1.2 使用递归方式实现验证二叉搜索树 2.0 求范围和 2.1 使用非递归实现二叉搜索树的范围和 2.2 使用递归方式实现…

『CV学习笔记』Pyinstaller打包exe后,执行时onnxruntime包报警告(Init provider bridge failed)

Pyinstaller打包exe后,执行时onnxruntime包报警告(Init provider bridge failed) 文章目录 一. 问题描述二. 解决办法三. 参考文献『CV学习笔记』Pyinstaller打包python程序遇到的问题(Win&Linux)+Cython编译动态库+PyArmor加密一. 问题描述 Platform: WindowsONNX Runtim…

腾讯云com域名注册1元一年,非常可以!

腾讯云com域名注册优惠价格1元首年&#xff0c;条件是企业新用户&#xff0c;个人新用户注册com域名是33元首年&#xff0c;第二年续费价格85元一年。活动 txybk.com/go/domain-sales 活动打开如下图&#xff1a; 腾讯云com域名注册优惠价格 腾讯云com域名注册原价是85元一年&a…

已解决 ValueError: Setting an array element with a sequence. 问题

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…

C语言—第1次作业:编译与连接基础知识

常做练习巩固知识 本次作业答案链接如下&#xff1a; 答案解析——C语言—第1次作业&#xff1a;编译与连接基础知识 1.字符串的结束标志是&#xff1a;&#xff08; &#xff09; A.是0 B.是EOF C. 是\0 D.是空格 2.关于C语言关键字说法正确的是&#xff1a;( ) A.关…

C++类与对象基础(6)

(注&#xff1a;本篇文章介绍部分内容时&#xff0c;需要用到上盘文章中日期类的代码&#xff0c;文章链接如下&#xff1a;C类与对象基础(5)——日期类的实现-CSDN博客​​​​​​&#xff09; 目录 1. 运算符重载的相关补充&#xff1a; 1.1流运算符重载出现的问题&#x…

李沐-《动手学深度学习》--03-注意力机制

一、注意力机制 1 . 注意力提示 1&#xff09;框架 **随意&#xff1a;**跟随自己的想法的&#xff0c;自主的想法&#xff0c;例如query **不随意&#xff1a;**没有任何偏向的选择&#xff0c;例如 Keys 如何得到 k v q 2&#xff09;Nadaraya-Watson核回归 就是一个so…

大模型中的幻觉问题:根源、影响与解决方案

语言模型中的幻觉问题&#xff1a;根源、影响与解决方案 1、幻觉问题的定义2、幻觉问题的根源3、解决幻觉问题的方法4、结论 在人工智能和自然语言处理领域&#xff0c;大规模语言模型&#xff08;LLM&#xff09;已成为研究和应用的热点。这些模型在理解和生成自然语言方面表现…

Verilog--逻辑操作符、位操作符与规约操作符

逻辑操作符 输入&#xff1a;两个操作数 输出&#xff1a;true 或 false&#xff0c;布尔值 逻辑与 && 逻辑或 || 逻辑非 &#xff01; 位操作符 输入&#xff1a;两个操作数 输出&#xff1a;与输入同位宽的二进制 非 ~ 与 & 或 | 异或 ^ 规约操作符 输入&am…

《2024 AIGC 应用层十大趋势白皮书》:近屿智能OJAC带您一起探索AI未来

Look&#xff01;&#x1f440;我们的大模型商业化落地产品&#x1f4d6;更多AI资讯请&#x1f449;&#x1f3fe;关注Free三天集训营助教在线为您火热答疑&#x1f469;&#x1f3fc;‍&#x1f3eb; 近日国际知名咨询机构IDC发布《2024 AIGC 应用层十大趋势白皮书》的发布&am…

Spring 动态数据源事务处理

在一般的 Spring 应用中,如果底层数据库访问采用的是 MyBatis,那么在大多数情况下,只使用一个单独的数据源,Spring 的事务管理在大多数情况下都是有效的。然而,在一些复杂的业务场景下,如需要在某一时刻访问不同的数据库,由于 Spring 对于事务管理实现的方式,可能不能达…

二叉树OJ练习(二)

1. 二叉树的最近公共祖先 题目描述&#xff1a; ​ 题解: 1.p或者q其中一个等于root&#xff0c;那么root就是最进公共祖先 2.p和q分布在root的左右两侧&#xff0c;那么root就是最进公共祖先 3.p和q在root的同一侧&#xff0c;就是要遍历这棵树&#xff0c;遇到p或者q返回 ​…

11.22 校招 实习 内推 面经

绿*泡*泡&#xff1a; neituijunsir 交流裙 &#xff0c;内推/实习/校招汇总表格 1、校招&#xff5c;OPPO 2024届校招扩招 | 6大类岗位等你投递&#xff08;内推&#xff09; 校招&#xff5c;OPPO 2024届校招扩招 | 6大类岗位等你投递&#xff08;内推&#xff09; 2、校…

一款好的葡萄酒关键在哪里?

除了易于种植&#xff0c;赤霞珠还因其独特的口感、难以置信的味道和质量而闻名。这种葡萄主要用于中高端干红葡萄酒&#xff0c;通常表现出成熟的黑色水果味道&#xff0c;带有辛辣和泥土气息。 在橡木桶中陈酿后&#xff0c;赤霞珠表现极佳。随着葡萄酒的陈年&#xff0c;橡木…

【金猿人物展】数元灵科技CEO朱亚东:何以数智化

‍ 朱亚东 本文由数元灵科技CEO朱亚东撰写并投递参与“数据猿年度金猿策划活动——2023大数据产业年度趋势人物榜单及奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 在大数据经济的高速发展下&#xff0c;数据已经成为第5生产要素。打造以数据驱动为中心的标准化…

腾讯云免费服务器申请1个月攻略,亲测可行教程

腾讯云免费服务器申请入口 https://curl.qcloud.com/FJhqoVDP 免费服务器可选轻量应用服务器和云服务器CVM&#xff0c;轻量配置可选2核2G3M、2核8G7M和4核8G12M&#xff0c;CVM云服务器可选2核2G3M和2核4G3M配置&#xff0c;腾讯云服务器网txyfwq.com分享2024年最新腾讯云免费…

NUXT3学习笔记

1.邂逅SPA、SSR 1.1 单页面应用程序 单页应用程序 (SPA) 全称是&#xff1a;Single-page application&#xff0c;SPA应用是在客户端呈现的&#xff08;术语称&#xff1a;CSR&#xff08;Client Side Render&#xff09;&#xff09; SPA的优点 只需加载一次 SPA应用程序只需…

KY15 abc

描述 设a、b、c均是0到9之间的数字&#xff0c;abc、bcc是两个三位数&#xff0c;且有&#xff1a;abcbcc532。求满足条件的所有a、b、c的值。 输入描述&#xff1a; 题目没有任何输入。 输出描述&#xff1a; 请输出所有满足题目条件的a、b、c的值。 a、b、c之间用空格隔…

(二)Explain使用与详解

explain中的列 sql语句: EXPLAIN SELECT * from user WHERE userId=1340; 执行结果: 1. id列 id列的编号是 select 的序列号,有几个 select 就有几个id,并且id的顺序是按 select 出现的顺序增长的。 id列越大执行优先级越高,id相同则从上往下执行,id为NULL最后执行…

Chrome您的连接不是私密连接或专用连接

方法一&#xff1a; 在当前页面用键盘输入 thisisunsafe &#xff0c;不是在地址栏输入&#xff0c;就直接敲键盘就行了因为Chrome不信任这些自签名ssl证书&#xff0c;为了安全起见&#xff0c;直接禁止访问了&#xff0c;thisisunsafe 这个命令&#xff0c;说明你已经了解并…