聚类-理论补充

news2024/11/13 19:10:59

目录

一。聚类的定义

二。相似度/距离计算方法总结

1.闵可夫斯基距离Minkowski/欧式距离

2.杰卡德相似系数(Jaccard)

3.余弦相似度(cosine similarity)

4.Pearson相似系数 

5.相对熵(K-L距离)

6.Hellinger距离

三。聚类的基本思想

四。k-Means算法

五。对k-Means的思考

六。k-Means的公式化解释 

七。k-Means聚类方法总结

八。Canopy算法

九。聚类的衡量指标

十。 ARI

十一。AMI

十二。轮廓系数(Silhouette)

十三。层次聚类方法

1.凝聚的层次聚类:AGNES算法

2.分裂的层次聚类:DIANA算法

十四。密度聚类方法

1.DBSCAN

2.密度最大值算法

十五。DensityPeak与决策图Decision Graph

十六。边界和噪声的重认识

十七。不同数据下密度最大值聚类的效果

十八。谱和谱聚类

十九。谱分析的整体过程


一。聚类的定义

聚类就是对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小。属于无监督学习。

二。相似度/距离计算方法总结

1.闵可夫斯基距离Minkowski/欧式距离

2.杰卡德相似系数(Jaccard)

3.余弦相似度(cosine similarity)

 

4.Pearson相似系数 

 

n维向量x和y的夹角记做θ,根据余弦定理,其余弦值为:

这两个向量的相关系数是:

相关系数即将x、y坐标向量各自平移到原点后的夹角余弦!

这即解释了为何文档间求距离使用夹角余弦——因为这一物理量表征了文档去均值化后的随机向量间相关系数。

5.相对熵(K-L距离)

 

6.Hellinger距离

 

 

该距离满足三角不等式,是对称,非负距离 

三。聚类的基本思想

给定一个有N个对象的数据集,构造数据的k 个簇,k≤n。满足下列条件:

        每一个簇至少包含一个对象

        每一个对象属于且仅属于一个簇

        将满足上述条件的k个簇称作一个合理划分

基本思想:对于给定的类别数目k,首先给出初始划分,通过迭代改变样本和簇的隶属关系,使得每一次改进之后的划分方案都较前一次好。

四。k-Means算法

k-Means算法,也被称为k-平均或k-均值,是一种广泛使用的聚类算法,或者成为其他聚类算法的基础。

假定输入样本为S=x1,x2,...,xm,则算法步骤为:

中止条件:迭代次数/簇中心变化率/最小平方误差MSE(MinimumSquaredError)

五。对k-Means的思考

k-Means将簇中所有点的均值作为新质心, 若簇中含有异常点,将导致均值偏离严重。 以一维数据为例:

        数组1、2、3、4、100的均值为22,显然距离 “大多数”数据1、2、3、4比较远

        改成求数组的中位数3,在该实例中更为稳妥。

        这种聚类方式即k-Mediods聚类(K中值距离)

 

 

六。k-Means的公式化解释 

 

七。k-Means聚类方法总结

优点:

        是解决聚类问题的一种经典算法,简单、快速

        对处理大数据集,该算法保持可伸缩性和高效率

        当簇近似为高斯分布时,它的效果较好

缺点

        在簇的平均值可被定义的情况下才能使用,可能不适用于某些应用

        必须事先给出k(要生成的簇的数目),而且对初值敏感, 对于不同的初始值,可能会导致不同结果。

        不适合于发现非凸形状的簇或者大小差别很大的簇

        对躁声和孤立点数据敏感

可作为其他聚类方法的基础算法,如谱聚类

八。Canopy算法

虽然Canopy算法可以划归为聚类算法,但更多的可以使用Canopy算法做空间索引,其时空复杂度都很出色,算法描述如下:

九。聚类的衡量指标

 

十。 ARI

十一。AMI

 

十二。轮廓系数(Silhouette)

 

十三。层次聚类方法

层次聚类方法对给定的数据集进行层次的分解,直 到某种条件满足为止。具体又可分为:

1.凝聚的层次聚类:AGNES算法

        一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到某个终结条件被满足。两个簇间的距离由这两个不同簇中距离最 近的数据点对的相似度来确定;聚类的合并过程反 复进行直到所有的对象最终满足簇数目。

最小距离

        两个集合中最近的两个样本的距离

        容易形成链状结构

最大距离

        两个集合中最远的两个样本的距离complete

        若存在异常值则不稳定

平均距离

        1、两个集合中样本间两两距离的平均值average

        2、两个集合中样本间两两距离的平方和ward

2.分裂的层次聚类:DIANA算法

        算法是上述过程的反过程,属于分裂的层次聚类,首先将所有的对象初始化到一个簇中,然后根据一些原则(比如最大的欧式距离),将该簇分类。直到到达用户指定的簇数目或者两个簇之间的距离超过了某个阈值。采用自顶向下的策略,它首先将所有对象臵于一个簇中,然后逐渐细分为越来越小的簇,直到达到了某个终结条件。

十四。密度聚类方法

密度聚类方法的指导思想是,只要样本点的密度大于某阈值,则将该样本添加到最近的簇中。这类算法能克服基于距离的算法只能发现“类圆形”(凸)的聚类的缺点,可发现任意形状的聚类,且对噪声数据不敏感。但计算密度单元的计算复杂度大,需要建立空间索引来降低计算量。

1.DBSCAN

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

一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在有“噪声”的数据中发现任意形状的聚类。

对象的ε-邻域:给定对象在半径ε内的区域。

核心对象:对于给定的数目m,如果一个对象的ε- 邻域至少包含m个对象,则称该对象为核心对象。

直接密度可达:给定一个对象集合D,如果p是在q 的ε-邻域内,而q是一个核心对象,我们说对象p从 对象q出发是直接密度可达的。

如图ε=1cm,m=5,q是一个核 心对象,从对象q出发到对象p是 直接密度可达的。

DBSCAN算法流程:

        如果一个点p的ε-邻域包含多于m个对象,则创建一个p作 为核心对象的新簇;

        寻找并合并核心对象直接密度可达的对象;

        没有新点可以更新簇时,算法结束。

有上述算法可知:

        每个簇至少包含一个核心对象;

        非核心对象可以是簇的一部分,构成了簇的边缘(edge);

        包含过少对象的簇被认为是噪声。

2.密度最大值算法

密度最大值聚类是一种简洁优美的聚类算法,可以识别各种形状的类簇,并且参数很容易确定。

 

 

 

 

十五。DensityPeak与决策图Decision Graph

左图是所有点在二维空间的分布, 右图是以ρ为横坐 标, 以δ为纵坐标绘制的决策图。可以看到,1和10 两个点的ρi和δi都比较大,作为簇的中心点。26、 27、28三个点的δi也比较大,但是ρi较小,所以是 异常点。

 

十六。边界和噪声的重认识

在聚类分析中,通常需要确定每 个点划分给某个簇的可靠性:

在该算法中,可以首先为每个簇定义一个边界区域 (border region),亦即划分给该簇但是距离其他簇的 点的距离小于dc的点的集合。然后为每个簇找到其边 界区域的局部密度最大的点,令其局部密度为ρh。

该簇中所有局部密度大于ρh的点被认为是簇核心的一部分(亦即将该点划分给该类簇的可靠性很大),其余的点被认为是该类簇的光晕(halo),亦即可以认为是噪声。

注:关于可靠性问题,在EM算法中仍然会有相关涉及。 

A图为生成数据的概率分布,B,C二图为分别从该分布中生成了4000,1000个点.D, E分别是B,C两组数据的决策图(decision tree),可以看到两组数据都只有五个点有比较大的pi和很大的61.这些点作为类簇的中心,在确定了类簇的中心之后,每个点被划分到各个类簇(彩色点),或者是划分到类簇光晕(黑色点).F图展示的是随着抽样点数量的增多,聚类的错误率在逐渐下降,说明该算法是鲁棒的. 

十七。不同数据下密度最大值聚类的效果

十八。谱和谱聚类

方阵作为线性算子,它的所有特征值的全体统称方阵的谱。

        方阵的谱半径为最大的特征值

        矩阵A的谱半径:(ATA)的最大特征值

谱聚类是一种基于图论的聚类方法,通过对样本数据的拉普拉斯矩阵的特征向量进行聚类,从而达到对样本数据聚类的目的。

十九。谱分析的整体过程

给定一组数据x1,x2,...xn,记任意两个点之间的相似度(―距离”的减函数)为sij=<xi,xj>,形成相似度图(similaritygraph):G=(V,E)。如果xi和xj之间的相似度sij大于一定的阈值,那么,两个点是连接的,权值记做sij。

接下来,可以用相似度图来解决样本数据的聚类问题:找到图的一个划分,形成若干个组(Group),使得不同组之间有较低的权值,组内有较高的权值。 

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

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

相关文章

图像显著性目标检测

一、概述 1、定义 图像显著性检测(Saliency Detection,SD)&#xff0c; 指通过智能算法模拟人的视觉系统特点&#xff0c;预测人类的视觉凝视点和眼动&#xff0c;提取图像中的显著区域(即人类感兴趣的区域)&#xff0c;可以广泛用于目标识别、图像编辑以及图像检索等领域&am…

从0到1一步一步玩转openEuler--19 openEuler 管理服务-特性说明

文章目录19 管理服务-特性说明19.1 更快的启动速度19.2 提供按需启动能力19.3 采用cgroup特性跟踪和管理进程的生命周期19.4 启动挂载点和自动挂载的管理19.5 实现事务性依赖关系管理19.6 与SysV初始化脚本兼容19.7 能够对系统进行快照和恢复19 管理服务-特性说明 19.1 更快的…

结合实例,直观理解正态分布、卡方分布、t分布、F分布和对应的Z检验、卡方检验、t检验、F检验

1 正态分布与Z检验 1.1 理论 Z检验的目的是为了验证&#xff1a;已知一个总体服从均值&#xff0c;方差的正态分布&#xff0c;现在有一些样本&#xff0c;这些样本所代表的总体的均值是否为。 则构建一个统计量Z&#xff0c; &#xff08;1&#xff09; 式中&#xff0c;为…

2023第10届生物发酵展3月30-4月1号山东济南开展,参观路线来了

2023第10届生物发酵展3月30-4月1号山东济南开展&#xff0c;参观路线来了&#xff01;展会时间&#xff1a;2023年3月30日-4月1日展馆地址&#xff1a;山东国际会展中心&#xff08;济南市槐荫区日照路1号&#xff09;展馆&#xff1a;4号馆、5号馆BIO CHINA生物发酵展&#xf…

Python|每日一练|栈|递归|散列表|数组|回溯|单选记录:重排链表|编写Python程序实现素数处理的功能| 全排列

1、重排链表&#xff08;栈&#xff0c;递归&#xff09; 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为&#xff1a; L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不能只是单纯的改变节点内…

vue中debug调试node_modules的代码

适用于想调试webpack-dev-server&#xff08;第三方模块&#xff09;里的代码&#xff0c;在代码里打印console.log无效的情况。 我用的idea&#xff0c;配置如下&#xff1a; 一、idea配置vue项目启动 1、 主入口js配置&#xff1a;node_modules\vue\cli-service\bin\vue-c…

wine学习笔记

目前 wine 版本为较为稳定的 8.0 版本&#xff0c;本文也是重点围绕 wine 8.0 安装、使用以及 wine 工具介绍等方面进行了学习和整理。 一、安装 wine 1. 如果你使用的是 64 位系统&#xff0c;需要先开启 32 bit 架构支持&#xff1a; $ sudo dpkg --add-architecture i386…

【Kubernetes】第四篇 - k8s 集群环境搭建

一&#xff0c;前言 前两篇&#xff0c;购买了 3 台阿里云服务器并完成了 ci-server 构建服务器的环境安装与配置&#xff1b; 三台服务器规划如下&#xff1a; 服务配置内网IP外网IP说明ci-server2c4g172.17.178.104182.92.4.158Jenkins Nexus Dockerk8s-master2c4g172.1…

Visual Studio 高级调试-Dump分析

Dumpdump指转储&#xff0c;一般用来创建进程快照。它可以在不停止应用的情况下&#xff0c;直接将模块列表、线程列表、堆栈信息、异常信息、句柄信息等所有内存信息保存下来&#xff0c;帮助开发者分析生产环境问题等。这篇博客主要介绍dotnet-dump的使用以及如何在Visual St…

SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发环境、测试环境、生产环境】(内含教学视频+源代码)

SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发环境、测试环境、生产环境】(内含教学视频源代码) 教学视频源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87463492 目录SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发…

【MySQL】Java连接MySQL数据库(封装版只需会MySQL)

一、准备普通项目如果创建的是普通的Java项目&#xff0c;我们需要去maven仓库下载jdbc驱动包然导入项目中就能使用&#xff0c;具体步骤详见MySQL数据库之Java中如何使用数据库【JDBC编程】maven项目如果创建的项目是maven项目&#xff0c;我们只需在pom.xml文件里引入一组依赖…

适合初学者的超详细实用调试技巧(上)

我们日常写代码的时候&#xff0c;常常会遇到bug的情况&#xff0c;这个时候像我这样的初学者就会像无头苍蝇一样这里改改那里删删&#xff0c;为了根除这种情况&#xff0c;我最近系统学习了调试的技巧&#xff0c;我想要十分详细地讲解&#xff0c;所以大概不会一篇文章写完。…

Django入门与构建

文章目录Django入门与构建Django介绍conda切换环境(看需要)安装虚拟环境基于 virtualenv基于venvDjango项目构建Django项目安装&#xff1a;创建应用Django运行测试总结Django入门与构建 官网&#xff1a;https://www.djangoproject.com/ 博客&#xff1a;https://www.liujian…

Spring的IOC,注入问题,包括自动注入的条件和前提

1. 前言 Spring的核心技术IOC(Intorol of Converse控制反转)的实现途径是DI(dependency Insert依赖注入)。而依赖注入(DI)的实现方式又有两种&#xff0c;xml方式和注解方式。如下图所示&#xff1a; 什么是属性注入 属性注入就是在实例化对象时&#xff0c;同时向对象中的…

小米12s ultra,索尼xperia1 iv,数码相机 拍照对比

首先说明所有的测试结果和拍摄数据我放到百度网盘了(地址在结尾) 为什么做这个测试 我一直想知道现在的手机和相机差距有多大,到底差在哪儿? 先说结论: 1.1英寸的手机cmos(2022年) 6年前(2016)的入门款相机(m43画幅) 2.手机 不能换镜头,只能在特定的拍摄距离才能发挥出全…

网络安全-域名相关收集

网络安全-域名相关收集 前言 一&#xff0c;我也是初学者记录的笔记 二&#xff0c;可能有错误的地方&#xff0c;请谨慎 三&#xff0c;欢迎各路大神指教 四&#xff0c;任何文章仅作为学习使用 五&#xff0c;学习网络安全知识请勿适用于违法行为 学习网络安全知识请勿适用于…

【C#基础】C# 常用语句讲解

序号系列文章3【C#基础】C# 数据类型总结4【C#基础】C# 变量和常量的使用5【C#基础】C# 运算符总结文章目录前言语句概念1&#xff0c;迭代语句1.1 for 语句1.2 foreach 语句1.3 while 语句1.4 do 语句2&#xff0c;选择语句2.1&#xff0c;if 语句2.2&#xff0c;else 语句2.3…

Android 基础知识4-2.9 FrameLayout(帧布局)详解

一、FrameLayout&#xff08;帧布局&#xff09;概述 FrameLayout又称作帧布局&#xff0c;它相比于LinearLayout和RelativeLayout要简单很多&#xff0c;因为它的应用场景也少了很多。这种布局没有方便的定位方式&#xff0c;所有的控件都会默认摆放在布局的左上角。 示例1代…

算法队列与栈—Java版

队列、双向队列、栈 — ArrayDeque 使用双向队列ArrayDeque可以完成以上三种数据结构。队列的操作包括&#xff1a;入队、出队、返回队首元素、返回队尾元素、删除队首元素、删除队尾元素、判断空、返回队列长度。双向队列包括&#xff1a;首尾入队、首尾出队、返回首尾元素、…

【挣值分析】

名称解释 拼写解释PV计划费用&#xff0c;预估预算EV挣值&#xff0c;实际预估预算AC实际费用&#xff0c;实际花费CV成本偏差 &#xff08;EV - AC&#xff09;SV进度偏差&#xff08;EV - PV&#xff09;CPI成本绩效指数 &#xff08;EV / AC&#xff09;SPI进度绩效指数 &a…