IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 数据分类分析--聚类 -> 正文阅读

[人工智能]数据分类分析--聚类

一、基本概念

聚类是把一个数据对象划分成多个组或簇的过程,使得簇内对象相似度很高,而簇间对象相似度很低。
聚类属于无监督分类方式。
主要得的聚类方法主要有:基于划分的方法,基于层次的方法,基于密度的方法,基于网格的方法,基于模型的方法。

二、基于划分的方法

1.划分的思想

给定一个有n个数据对象的集合,基于划分的方法会构建数据的k个分组,其中每个分组表示一个簇。
对于给定的分组数k,算法会首先给出一个初始的分组方法,然后通过不断迭代的方法改变分组,使得同一组内的距离越来越近,不同组间的距离越来越远。
基于划分思想的算法有k-means,k-中心点。
如果想达到全局最优,则需要穷举所有可能的划分,计算量极大,可以采用启发式方法,比如k-means,k-中心点,逐渐的提高划分质量,逼近局部最优解。

2.K-means

算法步骤:
(1)在n个数据对象的集合中,随机的选择k个点,分别做为k个簇的中心。
(2)分别计算其余点和k个簇中心点的距离,离哪一个簇中心点最近,就将其划分到对应的簇。
(3)对于每个簇,重新计算簇中心点。
(4)不断循环下去,直至达到算法终止条件。

初始质心的选择
最常见的方法是随机的选择初始质心,为了得到更好的结果可以多次运行算法。

距离度量
对欧氏空间内的点使用欧几里得距离度量
在这里插入图片描述
对于文档使用余弦相似性度量

簇中心计算方法
在步骤三中,如何重新计算簇中心呢,取簇中所有对象每一个维度的算术平均值。
在这里插入图片描述
其中d代表维度,v代表新的簇中心坐标点,|Ck|代表簇内点的个数。

目标函数:聚类的目标函数依赖于点到簇的质心的邻近性,使用误差的平方和(SSE)作为度量聚类质量的目标函数。
定义如下:
在这里插入图片描述
首先求每个簇中,每个数据点xi到簇中心vk的距离平方和,然后把所有簇的距离和再求和。
步骤(2)和步骤(3)就是在最小化SSE,但是只能确保找到的是局部最优解。

算法停止条件
(1)设定迭代次数。
(2)簇类中心不再变化。
(3)前后两次聚类结果的SSE变化很小。

优缺点
优点:K-means的复杂度O(tkn),其中n是数据对象的个数,k是簇数,t是迭代的次数,通常t,k都远远小于n
缺点:需要事先给出k的值,不能处理噪声数据和孤立点,鲁棒性较差,不适合发现非球形簇。

3.k-中心点算法

由于K-means不能处理噪声数据和离群点,k-中心点算法是对k-manes的改进,改进之后,能够能够处理噪声点和离群点。
PAM是一种k-中心点算法。
改进点如下:
在更新簇中心时,不是计算簇内所有点的算术平均值做为新的簇中心点,而是选择离所有点距离最小的点做为新的中心点。
PAM使用绝对误差标准来衡量聚类质量
在这里插入图片描述
其中k代表k个聚类,p代表簇Ci中非代表对象,Oi代表簇Ci中的代表对象。
步骤如下:
(1)在n个数据对象的集合中,随机的选择k个点,分别做为k个簇的中心。
(2)分别计算其余点和k个簇中心点的距离,离哪一个簇中心点最近,就将其划分到对应的簇。
(3)对于每个簇,将簇中每个点都依次做为代表对象,然后选择绝对误差标准最小的点做为簇中心点。
(4)不断循环下去,直至达到算法终止条件。


三、基于层次的方法

基于层次的方法可以分为凝聚与分类。
凝聚层次分类:自底向上,刚开始将每个对象单独做为一个簇,然后将相似的簇逐渐合起来,直到达到终止条件。
分类层次聚类:自顶向下,刚开始所有对象都在一个簇中,然后不断的分裂,直到达到终止条件。

1.簇间距离:

无论时哪一种方法,都需要度量簇间的距离,根据度量方法的不同,将层次聚类分为单连接,全连接和平均连接。
其中单连接采用的是最小距离
在这里插入图片描述
全连接采用的是最大距离
在这里插入图片描述
平均连接采用的是平均距离
在这里插入图片描述
除此之外,还有均值距离
在这里插入图片描述
最小距离:代表不同簇之间最近的两个点之间的距离
最大距离:代表不同簇之间最远的两个点之间的距离
均值距离:代表不同簇中心点之间的距离
平均距离:代表不同簇所有点之间距离的平均值

以上四种距离的示意图如下:
在这里插入图片描述

2.AGNES

该算法使用单连接方法和距离矩阵,然后合并距离最小的相异点,继续计算新的距离矩阵,继续合并距离最小的相异点。直到达到簇的数目。

一个实例如下:
二维空间中有以下五个点,使用单连接算法进行聚类。

第一步:计算距离矩阵
在这里插入图片描述
可以得到,3和4之间的距离5是最小的,所以将3和4聚成一类。
第二步:重新计算距离矩阵
在这里插入图片描述
原来簇1,2,5之间的距离不变,改变的是1,2,5和簇(3,4)之间的距离。更新后的距离矩阵如下
在这里插入图片描述
可以得到簇1和簇5之间的距离1.07是最小的,所以把1和5聚成一类。
第三步:重新计算距离矩阵
需要计算簇2和簇(1,5)和簇(3,4)这三种之间的距离。更新之后的距离矩阵如下:
在这里插入图片描述
可以得到簇2和簇(3,4)之间的距离最小,所以将簇2和簇(3,4)聚成一类。
第四步:重新计算距离矩阵
只需要计算簇(2,3,4)和簇(1,5)
之间的距离。
在这里插入图片描述

最后将簇(1,5)和簇(2,3,4)聚成一类。

单连接算法的距离都是指的最小距离。
如果设置了终止条件,在中途就会退出。
用树状图将其可视化描述出来如下:
在这里插入图片描述
用户可以定义希望得到的簇数作为一个终止条件。
最小最大度量对于离群点和噪声数据很敏感。
使用均值距离和平均距离是一种折中的方案,可以克服离群点敏感性问题。

四、基于密度的方法

基于划分和层次的方法都旨在发现球状簇,不能发现任意形状的簇。而基于密度聚类的方法可以发现任意形状的簇,可以把簇看作数据空间中被稀疏区域分开的稠密区域。

1.DBSCAN算法

EPS邻域:某个点指定半径为r的圆区域。
Minpts:最少包含的点的个数。
核心点:该点的邻域内的点的个数超过指定阈值MinPoints。
边界点:边界点是位于核心点内的点,同时,该点的EPS邻域内,没有新的,未被标记的点。
离群点:既不是边界点也不是核心点。
直接密度可达:给定一个对象集合D,如果p在q的Eps邻域内,而q是一个核心对象,则称对象p从对象q出发时是密度可达的。
密度可达:如果存在一个对象链,p1,p2,…,pn,p1 = q,pn = p,且对于任意的pi,pi+1是直接密度可达的,则对象p是从对象q出发是密度可达到。
密度相连:如果存在一个对象O,使得对象p和对象q都是从O密度可达的,那么对象p和对象q是密度相连的。
在这里插入图片描述
由于MinPts = 3,
M,P是核心点,Q不是核心点。
O,T是核心点,S,R不是核心点。
由于M在P的邻域内,P是核心点,所以M从P出发直接密度可达。
由于Q在M的邻域内,M是核心点,所以Q从M出发直接密度可达,Q从P出发密度可达。
同理,S从O出发密度可达,R从O出发密度可达,所以S和R密度相连。

算法步骤
在这里插入图片描述
可以看到,DBSCAN会找到最大密度相连的点的集合。
优点
基于密度定义,对噪声不敏感,可以发现任意形状的簇
缺点
当聚类密度不均匀时,聚类质量不好。
当数据量较大,数据维度较高时,容易内存溢出。

五、聚类评估

聚类评估主要包括如下任务:
估计聚类趋势,确定数据集中的簇数
测定聚类质量

1.估计聚类趋势

只有当数据集中存在非随机结构,聚类分析才有意义。
(1)如果聚类误差随着聚类类别数量的变化而变化不显著,说明数据是随机分布的,即不存在非随机结构。

(2)霍普金斯统计量:
第一步,均匀在数据集D中抽取n个点p1,p2,p3,…,pn。对于其中每一个点,都计算数据集D中离该点最近的点,并记录其距离为xi。
第二步,均匀在数据集D中抽取n个点q1,q2,q3,…,qn。对于其中每一个点,都计算数据集D中离该点最近的点,并记录其距离为yi。
在这里插入图片描述
如果D为随机分布,H大约为0.5
如果聚类趋势明显,则H的值接近于1或0
一般H>0.75,则可以聚类的置信度90%

2.聚类簇数的确定

经验方法:簇数p大约为
在这里插入图片描述
拐点法:绘制簇内方差和关于簇数的曲线,拐点的簇数就是设置的簇数。
交叉验证法:对于给定的数据集分成m份,用m-1份构建聚类模型,用剩下的一份检验聚类的质量,选择聚类质量最高的聚类模型,并使用其K作为聚类簇数。

3.聚类质量的测定:

外在方法:有监督的方法,熵,纯度,精度,召回率,F度量。具体公式看教材。

内在方法:无监督方法,考察簇间的分离情况和簇内的紧凑情况。
在这里插入图片描述
在这里插入图片描述
轮廓系数S(O)
在这里插入图片描述
其中数据集D被分成了k个簇,分别为C1,C2,C3,…,Ck,对于每一个数据对象O
a(O)代表着O与O所在的簇其他所有点的平均距离。
b(O)代表着O与O所不在的其他所有簇的簇间最小平均距离。
a(O)的值反映簇内的紧凑性,值越小越紧凑。b(O)的值反映簇间的分离程度,值越大越分离。
当o簇的轮廓系数S(O)值越接近于1,O所在的簇是紧凑的,并且远离其他簇。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:04:19  更:2022-06-29 19:04:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:22:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码