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. 聚类任务

(1)目的
聚类试图将样本划分为若干通常不相交的子集。

(2)符号描述

  • 假定样本集 D = { x 1 , x 2 , ? ? , x m } D=\{x_1,x_2,\cdots,x_m\} D={x1?,x2?,?,xm?}包含m个样本。
  • 每个样本 x i = { x i 1 , x i , 2 , ? ? , x i , n } x_i=\{x_{i1},x_{i,2},\cdots,x_{i,n}\} xi?={xi1?,xi,2?,?,xi,n?}是一个n维特征向量。
  • 样本被划分为k个不相交的簇 { C l ∣ l = 1 , 2 , ? ? , k } \{C_l|l=1,2,\cdots,k\} {Cl?l=1,2,?,k}。我们用 λ j ∈ { 1 , 2 , ? ? , k } \lambda_j \in \{1,2,\cdots,k\} λj?{1,2,?,k}表示样本 x j x_j xj?的簇标记。
    因此: x j ∈ C λ j x_j \in C_{\lambda_j} xj?Cλj??
  • 聚类结果可以用m个元素的簇标记向量 λ = { λ 1 , λ 2 , ? ? , λ m } \lambda = \{\lambda_1,\lambda_2,\cdots,\lambda_m\} λ={λ1?,λ2?,?,λm?}表示

2. 性能度量

(1)目的

  1. 正如其名,性能度量能够评估聚类效果的好坏。簇内相似度高、簇间相似度低。
  2. 可以将使用的性能度量作为聚类过程的优化目标。

根据是否需要参考模型,可以将指标分为外部指标(external index)内部指标(internal index)

2.1 外部指标

标准: 准确率(贴合情况)

对数据集 D = { x 1 , x 2 , ? ? , x m } D=\{x_1,x_2,\cdots,x_m\} D={x1?,x2?,?,xm?}通过聚类给回的簇划分为 C = { C 1 , C 2 , ? ? , C k } C=\{C_1,C_2,\cdots,C_k\} C={C1?,C2?,?,Ck?}参考模型给出的簇划分为 C ? = { C 1 ? , C 2 ? , ? ? , C s ? } C^*=\{C^*_1,C^*_2,\cdots,C^*_s\} C?={C1??,C2??,?,Cs??}。令 λ , λ ? \lambda,\lambda^* λ,λ?为对应的样本簇标记向量。
在这里插入图片描述
理解:

  • a 和 d 表示满足两个样本在 C C C获得的簇标签相同(不相同),在 C ? C^* C?获得的簇标签也相同(不相同)的数量。
  • b 和 c 表示满足两个样本在 C C C获得的簇标签相同(不相同),在 C ? C^* C?获得的簇标签不相同(相同)的数量。
  • a + b + c + d = C 2 m = m ( m ? 1 ) 2 a+b+c+d=C_2^m=\frac{m(m-1)}{2} a+b+c+d=C2m?=2m(m?1)?

(1)Jaccard系数
J C = a a + b + c JC= \frac{a}{a+b+c} JC=a+b+ca?

(2)FM指数
F M I = a a + b × a a + c FMI=\sqrt{\frac{a}{a+b} \times \frac{a}{a+c}} FMI=a+ba?×a+ca? ?

(3)Rand指数
R I = 2 ( a + d ) m ( m ? 1 ) RI=\frac{2(a+d)}{m(m-1)} RI=m(m?1)2(a+d)?

  • 上述三种指数可以表示在 C , C ? C,C^* C,C?均划分为相同簇的样本对的数量的总量占比。
  • 取值范围为 [ 0 , 1 ] [0,1] [0,1],值越大越好。值越大表示聚类越贴合实际情况,划分正确率越高。

2.2 内部指标

标准: 簇内相似度高、簇间相似度低
定义四个簇划分指标,再利用指标度量内部指标。

  • 簇内样本的平均距离
    a v g ( C ) = 2 ∣ C ∣ ( ∣ C ? 1 ∣ ) ∑ 1 ≤ i ≤ j ≤ ∣ C ∣ d i s t ( x i , x j ) avg(C) = \frac{2}{|C|(|C-1|)} \sum_{1 \leq i \leq j \leq |C|}dist(x_i,x_j) avg(C)=C(C?1)2?1ijC?dist(xi?,xj?)

  • 簇内样本的最远距离
    d i a m ( C ) = max ? 1 ≤ i ≤ j ≤ ∣ C ∣ d i s t ( x i , x j ) diam(C) = \max_{1 \leq i \leq j \leq |C|} dist(x_i,x_j) diam(C)=1ijCmax?dist(xi?,xj?)

  • 簇间样本的最短距离
    d m i n ( C i , C j ) = min ? x i ∈ C i , x j ∈ C j d i s t ( x i , x j ) d_{min}(C_i,C_j) = \min_{x_i \in C_i,x_j \in C_j} dist(x_i,x_j) dmin?(Ci?,Cj?)=xi?Ci?,xj?Cj?min?dist(xi?,xj?)

  • 簇间中心点的距离
    d c e n ( C i , C j ) = d i s t ( μ i , μ j ) d_{cen}(C_i,C_j) = dist(\mu_i,\mu_j) dcen?(Ci?,Cj?)=dist(μi?,μj?)

(1)DB指数(DBI)
D B I = 1 k ∑ i = 1 k max ? j ≠ i a v g ( C i ) + a v g ( C j ) d c e n ( C i , C j ) DBI=\frac{1}{k} \sum_{i=1}^k \max_{j \neq i} \frac{avg(C_i)+avg(C_j)}{d_{cen}(C_i,C_j)} DBI=k1?i=1k?j?=imax?dcen?(Ci?,Cj?)avg(Ci?)+avg(Cj?)?

  • DBI值越小,表示簇内越紧密,簇间越分散。

(2)Dunn指数(DI)
D I = min ? 1 ≤ i ≤ k { min ? j ≠ i ( d m i n ( C i , C j ) max ? 1 ≤ l ≤ k d i a m ( C l ) ) } DI = \min_{1 \leq i \leq k} \{\min_{j \neq i}(\frac{d_{min}(C_i,C_j)}{\max_{1 \leq l \leq k}diam(C_l)}) \} DI=1ikmin?{j?=imin?(max1lk?diam(Cl?)dmin?(Ci?,Cj?)?)}

  • DI值越大,表示簇内越紧密,簇间越分散。

3. 距离计算

我们通过距离来定义相似度度量。
(1)基本性质
在这里插入图片描述

3.1 有序属性

举例:{1, 2, 3}中1与2比1与3接近。可以根据次序进行距离度量
(1)闵可夫斯基距离
在这里插入图片描述

  • 当P=1时,变成曼哈顿距离
    d i s t ( x i , x j ) = ∑ u = 1 n ∣ x i u ? x j u ∣ dist(x_i,x_j) = \sum_{u=1}^n |x_{iu}-x_{ju}| dist(xi?,xj?)=u=1n?xiu??xju?

  • 当P=2时,变成欧氏距离
    d i s t ( x i , x j ) = ∑ u = 1 n ∣ x i u ? x j u ∣ 2 dist(x_i,x_j) =\sqrt{ \sum_{u=1}^n |x_{iu}-x_{ju}|^2} dist(xi?,xj?)=u=1n?xiu??xju?2 ?

3.2 无序属性

举例:{飞机,火车,轮船}中没办法按照次序进行距离度量。
(1)VDM
m u , a m_{u,a} mu,a?表示属性u上取值为a的样本数, m u , a , i m_{u,a,i} mu,a,i?表示在第i个簇中属性u上取值为a的样本数。则a,b两个离散属性的VDM距离为:
V D M p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a ? m u , b , i m u , b ∣ p VDM_p(a,b) = \sum_{i=1}^k |\frac{m_{u,a,i}}{m_{u,a}}-\frac{m_{u,b,i}}{m_{u,b}}|^p VDMp?(a,b)=i=1k?mu,a?mu,a,i???mu,b?mu,b,i??p

理解:无序属性距离的计算需要提前知道簇划分吗?

3.3 混合属性

假设前 n c n_c nc?个为有序属性,后面为无需属性。
在这里插入图片描述

4. 原型聚类

4.1 k-means

  • 未知标签类型的聚类划分。
  • 均值向量、样本划分

(1)优化目标
在这里插入图片描述
解决上述目标为NP难问题,因此通过迭代优化近似求解。

(2)算法
在这里插入图片描述

  1. 随机选择k个样本作为中心
  2. 根据样本与选择中心点的距离,划分样本的类别
  3. 计算簇内均值向量,当向量改变时将新的均值向量作为新簇的中心。当不在更新或到达最大轮数或最小调整阈值时退出循环。

理解: 通过最小化簇内均值选择聚合中心位置。

4.2 学习向量量化(LVQ)

  • 需要预知标签类型,用监督信息辅助聚类。
  • 原型向量、拉近远离

(1)优化目标
对于任意样本x,它将被划入距离最近的原形向量所代表的簇中。需要使标记相同的靠拢,标记不同的远离。
p ′ = p i ? + η × ( x j ? p i ? ) ? 靠 近 p ′ = p i ? ? η × ( x j ? p i ? ) ? 远 离 p i ? = p ′ p'=p_{i^*} + \eta \times (x_j-p_{i^*}) \ 靠近 \\ p'=p_{i^*} - \eta \times (x_j-p_{i^*}) \ 远离 \\ p_{i^*} = p' p=pi??+η×(xj??pi??)?p=pi???η×(xj??pi??)?pi??=p

在这里插入图片描述

(2)算法
在这里插入图片描述

  • 初始化原型向量及其标签

  • 选取样本计算得到与之距离最近的原型向量。

  • 根据标签是否相同,使原型向量拉近或者远离样本。直到达到最大迭代轮数。

理解: 使原型向量靠拢相同标记样本,原理不同标记样本,实现聚类。

4.3 密度聚类(DBSCAN)

此类算法假设聚类结构能通过样本分布的紧密程度确定。
(1)定义
DBSCAN基于一组邻域参数 ( ? , M i n P t s ) (\epsilon,MinPts) (?,MinPts)刻画样本分布的紧密程度。给定数据集定义一下概念:
在这里插入图片描述

  • 簇:密度可达关系导出的最大的密度相连样本集合。

(2)算法

  1. 任选一个核心对象作为种子
  2. 以该核心对象作为出发点,找出其密度可达的样本生成聚类簇。更新核心对象和未访问对象。
  3. 循环1、2步骤知道所有核心对象都被访问。

在这里插入图片描述

4.4 层次聚类(AGNES)

AGNES是一种自底向上聚合策略的层次聚类算法。它的核心思想是找到距离最近的两个簇合并,知道达到预设的聚类数目。
(1)类别
根据如何计算两个簇间的距离(集合间的距离),可以划分为三种类别:

  • 单链接(single-linkage):采用最小距离
  • 全链接(complete-linkage):采用最大距离
  • 均链接(average-linkage):采用平均距离

在这里插入图片描述
(2)算法

  1. 将每个样本初始化为一个簇
  2. 计算簇间距 M k × k M_{k \times k} Mk×k?
  3. 选择距离最近的两个簇合并为新的簇,并更新样本标签和簇间距。
  4. 循环2、3步骤直到达到预设的聚类数目。

在这里插入图片描述

4.5 高斯混合聚类

先验知识: 贝叶斯分类,后续更新。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:11:31  更:2022-03-11 22:14:43 
 
开发: 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 15:28:11-

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