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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【数据聚类】第七章第二节:半监督聚类之AP(Affinity Propagation)聚类(近邻传播聚类) -> 正文阅读

[人工智能]【数据聚类】第七章第二节:半监督聚类之AP(Affinity Propagation)聚类(近邻传播聚类)

一:基本思想

近邻传播聚类(Affinity Propagation Clustering, AP聚类):基本思想是将全部数据点都当作潜在的聚类中心(exemplar),然后数据点亮亮之间连线构成一个网络(相似度矩阵),再通过网络中各条边的消息(responsibility和availability)传递计算出各样本的聚类中心

在这里插入图片描述

此过程中,共有如下两种消息在各节点之间传递

  • 吸引度(responsibility):对于 r ( i , k ) r(i,k) r(i,k)而言,用于定量描述样本 k k k作为样本 i i i的聚类中心的程度
  • 归属度(availability):对于 a ( i , k ) a(i,k) a(i,k)而言,用于定量描述样本 i i i支持样本 k k k作为其聚类中心的程度

在这里插入图片描述

吸引度和归属度会分别形成吸引度矩阵归属度的矩阵,然后算法会不断迭代更新两个矩阵

二:相关定义及术语

(1)相似度 Similarity

相似度(Similarity):对于数据点 i i i k k k,使用 s ( i , k ) s(i,k) s(i,k)描述两点之间的相似度,反映出了 j j j作为 i i i的聚类中心能力的大小,采用欧氏距离负值表示。 s ( i , k ) s(i,k) s(i,k)值越大就表示 i i i, j j j之间距离越近,也即 j j j作为 i i i的聚类中心的能力越强

s ( i , k ) = ? ∣ ∣ x i ? x k ∣ ∣ 2 s(i,k)=-||x_{i}-x_{k}||^{2} s(i,k)=?∣∣xi??xk?2

(2)相似度矩阵

相似度矩阵:作为算法的初始化矩阵, n n n个点就有由 n n n× n n n个相似度组成的矩阵

在这里插入图片描述

(3)偏好参数 Preference

偏好参数Preference:相似度矩阵中,主对角线上的值理论上为0,但是为了后续更好的应用相似度来更新吸引度和归属度,所以引入了该参数,用于定义相似度矩阵主对角线上的值。偏好参数越大说明各数据点成为聚类中心的能力越强,最终聚类中心的个数也就越多。偏好参数一般设置为相似度矩阵中所有值的最小值中位数

(4)吸引度和归属度

吸引度(responsibility):对于 ( i , k ) (i,k) (i,k)而言,用于定量描述样本 k k k作为样本 i i i的聚类中心的程度

r ( i , k ) ← s ( i , k ) ? m a x k 丶 s . t . k 丶 =? k { a ( i , k 丶 ) + s ( i , k 丶 ) } r(i,k)\leftarrow s(i,k)-\mathop{max}\limits_{k^{丶}s.t. k^{丶}\not=k}\{a(i,k^{丶})+s(i,k^{丶})\} r(i,k)s(i,k)?ks.t.k=kmax?{a(i,k)+s(i,k)}

  • a ( i , k 丶 ) a(i,k^{丶}) a(i,k)表示除 k k k外其他点对 i i i的归属度,初始值为0
  • s ( i , k 丶 ) s(i,k^{丶}) s(i,k)表示除 k k k外其他点对 i i i的相似度
  • r ( i , k ) r(i,k) r(i,k)值大于0,表示数据点 k k k成为聚类中心的能力强。但是注意此时只考虑哪个点 k k k成为点 i i i的聚类中心可能性最大,但是没有考虑整个吸引度最大的 k k k是否也经常成为其他点的聚类中心

归属度(availability):对于 a ( i , k ) a(i,k) a(i,k)而言,用于定量描述样本 i i i支持样本 k k k作为其聚类中心的程度

a ( i , k ) ← m i n { 0 , r ( k , k ) + ∑ i 丶 s . t . i 丶 ? { i , k } m a x { 0 , r ( i 丶 , k ) } a(i,k)\leftarrow min\{0,r(k,k)+\sum\limits_{i^{丶}s.t. i^{丶}\notin\{i,k\}}max\{0,r(i^{丶},k)\} a(i,k)min{0,r(k,k)+is.t.i/{i,k}?max{0,r(i,k)}

a ( k , k ) ← ∑ i 丶 =? k m a x ( 0 , r ( i 丶 , k ) a(k,k) \leftarrow \sum\limits_{i^{丶}\not=k}max(0,r(i^{丶},k) a(k,k)i=k?max(0,r(i,k)

  • r ( i 丶 , k ) r(i^{丶},k) r(i,k)表示点 k k k作为除 i i i外其他点的聚类中心的相似度值,取所有大于等于0的吸引度值,加上 k k k作为聚类中心的可能程度。即点 k k k在这些吸引度值大于0的数据点的支持下,数据点 i i i选择 k k k作为其聚类中心的累积证明

r ( i , k ) + a ( i , k ) r(i, k)+a(i,k) r(i,k)+a(i,k)越大,则 k k k点作为聚类中心的可能性就越大,并且 i i i点隶属于以 k k k点为聚类中心得的聚类可能性也就越大

(5)阻尼系数 Damping factor

阻尼系数 Damping factor:为防止数据振荡,引入阻尼系数,每个信息值等于前一次更新的信息值的 λ \lambda λ倍加上此轮更新值的 1 ? λ 1-\lambda 1?λ倍( λ \lambda λ位于0-1之间,默认为0.5)

三:算法流程

(1)专业描述

  1. 给定数据集 D D D
  2. 计算相似度矩阵,并且设置偏好参数 Preference(这里设置为中值)
  3. 计算吸引度矩阵 R R R
  4. 计算归属度矩阵 A A A(注意开始计算时 R R R A A A需要进行初始化)
  5. 迭代更新 R R R A A A,直至聚类中心在一定程度上不再更新或者达到最大的迭代次数
  6. 根据得到的聚类中心,对数据进行聚类

(2)类比

近邻传播聚类算法中涉及的参数较多,尤其是在吸引度和归属度的计算公式,所以这里我们可以将该聚类算法比作一个选举过程进行理解

  • 数据集中的所有点都会参加选举,它们既是选民也是参选人,聚类的目标是要选出几个人作为代表
  • s ( i , k ) s(i,k) s(i,k)是指 i i i对选 k k k这个人有一个固定的偏好程度
  • r ( i , k ) r(i,k) r(i,k)是指 k k k在对 i i i这个选民的竞争中的优势程度(用 s ( i , k ) s(i,k) s(i,k)减去最强竞争者的评分)
  • r ( i , k ) r(i,k) r(i,k)的更新过程就是选民 i i i对各个参选人的挑选
  • a ( i , k ) ← m i n { 0 , r ( k , k ) + ∑ i 丶 s . t . i 丶 ? { i , k } m a x { 0 , r ( i 丶 , k ) } a(i,k)\leftarrow min\{0,r(k,k)+\sum\limits_{i^{丶}s.t. i^{丶}\notin\{i,k\}}max\{0,r(i^{丶},k)\} a(i,k)min{0,r(k,k)+is.t.i/{i,k}?max{0,r(i,k)}中可以看到,所有 r ( i 丶 , k ) > 0 r(i^{丶},k)>0 r(i,k)>0的值都对 a a a有正的加成。这个公式可以理解为:选民 i i i在选择 k k k时,通过民意调查可看到,有很多人(也即 i 丶 i^{丶} i们)都觉得 k k k很不错( r ( i 丶 , k ) > 0 r(i^{丶},k)>0 r(i,k)>0),那么选民 i i i也就会觉得 k k k不错,是个可以值得信任的选择
  • a ( i , k ) a(i,k) a(i,k)的更新过程对应了参选人 k k k的民意调查对于选民 i i i的影响
  • 两者交替的过程也就可以理解为选民在各个参选人之间不断比较和不断参考各个参选人给出的民意调查。 r ( i , k ) r(i,k) r(i,k)反应的是竞争, a ( i , k ) a(i,k) a(i,k)是为了让聚类更成功

四:SKlearn实现

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

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