【无监督学习之聚类】

在这里插入图片描述
曾梦想执剑走天涯,我是程序猿【AK】

在这里插入图片描述

目录

  • 简述概要
  • 知识图谱
      • 1. K-Means聚类
      • 2. 层次聚类(Hierarchical Clustering)
      • 3. DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
      • 4. 谱聚类(Spectral Clustering)
      • 评估聚类效果

简述概要

了解无监督学习之聚类

知识图谱

无监督学习中的聚类是一种将数据集中的对象分组的算法,使得同一组(簇)内的对象比其他组的对象更相似。聚类的目标是发现数据中的内在结构,而不是基于预先定义的标签。以下是几种常见的聚类算法及其原理:

1. K-Means聚类

K-Means是最常用的聚类算法之一。它的目标是将数据点划分为K个簇,使得每个簇内的点之间的距离尽可能小,而簇间的距离尽可能大。

  • 算法步骤

    1. 随机选择K个数据点作为初始的簇中心(质心)。
    2. 将每个数据点分配给最近的簇中心,形成K个簇。
    3. 重新计算每个簇的质心,即簇内所有点的均值。
    4. 重复步骤2和3,直到簇中心不再发生变化或达到预定的迭代次数。
  • 优点:简单、易于实现,计算效率相对较高。

  • 缺点:需要预先指定K值,对初始质心选择敏感,可能收敛到局部最优解。

2. 层次聚类(Hierarchical Clustering)

层次聚类通过构建一个层次结构来组织数据点,可以生成树状图(树状图)来表示数据点之间的层次关系。

  • 算法步骤

    1. 将每个数据点视为一个单独的簇。
    2. 计算所有簇之间的距离,合并距离最近的两个簇。
    3. 更新簇的距离矩阵。
    4. 重复步骤2和3,直到所有数据点合并为一个簇。
  • 优点:不需要预先指定簇的数量,可以生成树状图来展示数据结构。

  • 缺点:计算复杂度较高,不适合大规模数据集。

3. DBSCAN(Density-Based Spatial Clustering of Applications with Noise)

DBSCAN是一种基于密度的聚类算法,它可以发现任意形状的簇,并且能够识别噪声点。

  • 算法步骤

    1. 对于每个数据点,计算其邻域(在给定半径ε内)内的点数。
    2. 如果一个点的邻域内点数超过某个阈值minPts,则将其标记为核心点。
    3. 将所有直接密度可达的核心点归为一个簇,并递归地将所有从核心点可达的点加入该簇。
    4. 重复步骤3,直到没有新的点可以加入任何簇。
  • 优点:能够处理噪声和异常值,发现任意形状的簇。

  • 缺点:对参数ε和minPts的选择敏感,可能难以确定最佳参数。

4. 谱聚类(Spectral Clustering)

谱聚类是一种基于图论的聚类方法,它通过分析数据的相似性矩阵的特征来发现簇。

  • 算法步骤

    1. 构建数据的相似性矩阵,通常使用高斯相似性函数。
    2. 对相似性矩阵进行归一化处理,得到邻接矩阵。
    3. 计算邻接矩阵的特征值和特征向量,选择前K个最大的特征值对应的特征向量。
    4. 在这些特征向量上应用K-Means或其他聚类算法。
  • 优点:能够发现任意形状的簇,对噪声不敏感。

  • 缺点:计算复杂度较高,需要选择合适的相似性函数和邻接矩阵的构建方法。

评估聚类效果

聚类效果的评估通常依赖于一些指标,如轮廓系数(Silhouette Coefficient)、戴维斯-邦丁指数(Davies-Bouldin Index)和Calinski-Harabasz指数等。这些指标可以帮助我们理解簇的紧密程度和分离程度。

在实际应用中,选择合适的聚类算法和参数需要根据数据的特性和具体问题来决定。此外,聚类结果的解释和验证也是聚类分析中的重要步骤。在Java中,可以使用如Weka、Apache Mahout等库来实现上述聚类算法。



                                                                                                         ---- 永不磨灭的番号:我是AK



在这里插入图片描述

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

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

相关文章

Java设计模式—— 模板方法模式

模板方法模式 1.什么是模板方法 模板方法模式:定义一个操作中的算法骨架(父类),而将一些步骤延迟到子类中。 模板方法使得子类可以不改变一个算法的结构来重定义该算法的 2.什么时候使用模板方法 实现一些操作时,整…

【LeetCode】每日一题:使二叉树所有路径值相等的最小代价

该题采用自底向上的思路的话,很容易想到使用贪心的思想,但是如何进行具体操作却有些难度。 这里补充一个重要的结论:二叉树的数组形式中,第i个节点的父节点是i/2;接下来只需要让自底向上让每个路径上的代价保持最低限…

音视频基础: I帧 P帧 B帧

音视频基础: I帧 P帧 B帧 I帧介绍 I 帧通常是每个 GOP的第一个帧,在音视频编码中,I帧(Intra-coded frame)是一种关键帧,它是独立于其他帧的帧,不依赖于其他帧来进行解码。I帧存储了完整的图像信息&#x…

初始Tomcat(Tomcat的基础介绍)

目录 一、Tomcat的基本介绍 1、Tomcat是什么? 2、Tomcat的配置文件详解 3、Tomcat的构成组件 4、Tomcat的顶层架构 5、Tomcat的核心功能 6、Tomcat的请求过程 一、Tomcat的基本介绍 1、Tomcat是什么? Tomcat 服务器是一个免费的开放源代码的Web …

返回静态数据

在Java项目中&#xff0c;往往不会一直返回某某数据&#xff0c;而是会返回一个静态页面&#xff0c;那么&#xff0c;如何正确返回一个静态页面呢&#xff1f;&#xff1f; 要想成功的返回一个静态页面前提是必须要有一个静态页面&#xff1a; <!DOCTYPE html> <ht…

基于大模型思维链(Chain-of-Thought)技术的定制化思维链提示和定向刺激提示的心理咨询场景定向ai智能应用

本篇为个人笔记 记录基于大模型思维链&#xff08;Chain-of-Thought&#xff09;技术的定制化思维链提示和定向刺激提示的心理咨询场景定向ai智能应用 人工智能为个人兴趣领域 业余研究 如有错漏欢迎指出&#xff01;&#xff01;&#xff01; 目录 本篇为个人笔记 记录基…

太气人了,腾讯云服务器又降价了,买贵了

腾讯云服务器多少钱一年&#xff1f;62元一年起&#xff0c;2核2G3M配置&#xff0c;腾讯云2核4G5M轻量应用服务器218元一年、756元3年&#xff0c;4核16G12M服务器32元1个月、312元一年&#xff0c;8核32G22M服务器115元1个月、345元3个月&#xff0c;腾讯云服务器网txyfwq.co…

FinalShell连接Linux

远程连接linux 我们使用VMware可以得到Linux虚拟机&#xff0c;但是在/Mware中操作Linux的命令行页面不太方便&#xff0c;主要是: 内容的复制、粘贴跨越VMware不方便 文件的上传、下载跨越VMware不方便 不方便也就是和Linux系统的各类交互&#xff0c;跨越VMwar 到Linux操作系…

【FPS游戏制作】Unity加入角色控制器控制人物的移动

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

JS画摆线

最近看到一个很漂亮的曲线&#xff0c;研究了一下。 从圆心画一条线匀速转动&#xff0c;终点再画一条线转动&#xff0c;2条线转速不同&#xff0c;会画出很漂亮的花纹。 一个周期 完整周期 <html> <style> body { background:black; } p { text-align:center; c…

学习Android的第十八天

目录 Android 可复用 BaseAdapter 为什么使用BaseAdapter&#xff1f; 如何使用BaseAdapter&#xff1f; Android GridView 网格视图 GridView 属性 示例 Android Spinner 下拉选项框 Spinner Spinner 属性 示例 Android AutoCompleteTextView 自动完成文本框 Auto…

LeetCode 热题100 刷题笔记

一&#xff1a;哈希表 一般哈希表都是用来快速判断一个元素是否出现集合里。 直白来讲其实数组就是一张哈希表&#xff0c;哈希表中关键码就是数组的索引下标&#xff0c;然后通过下标直接访问数组中的元素。 1.两数之和 题目链接&#xff1a;. - 力扣&#xff08;LeetCode…