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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【自然语言处理】【聚类】基于神经网络的聚类算法DEC -> 正文阅读

[人工智能]【自然语言处理】【聚类】基于神经网络的聚类算法DEC

原文链接:http://proceedings.mlr.press/v48/xieb16.pdf

基于神经网络的具体算法DEC

一、简介

  • 聚类特别依赖特征空间的选择;
  • 先前很少有研究来解决用于聚类的特征空间学习问题;
  • 本文提出了一种称为 Deep?Embedded?Clustering(DEC) \text{Deep Embedded Clustering(DEC)} Deep?Embedded?Clustering(DEC)的聚类方法,该方法通过迭代方式来同时学习特征空间(向量表示)并完成聚类;

二、聚类算法DEC

? 将 n n n个点 { x i ∈ X } i = 1 n \{x_i\in X\}_{i=1}^n {xi?X}i=1n?聚类至 k k k个簇,每个簇均有一个质心 u j , j = 1 , … , k u_j,j=1,\dots,k uj?,j=1,,k。本文不直接在数据空间 X X X上聚类,而是通过非线性映射 f θ : X → Z f_\theta:X\rightarrow Z fθ?:XZ,将数据空间 X X X映射至特征空间 Z Z Z,其中 θ \theta θ是可学习参数。为了避免维度灾难, Z Z Z的维度远远小于 X X X。至于非线性映射 f θ f_\theta fθ?,很自然选择神经网络来进行近似。

? 算法 DEC \text{DEC} DEC的两个目标:

  • 在特征空间 Z Z Z中学习 k k k个簇心 { u j ∈ Z } j = 1 k \{u_j\in Z\}_{j=1}^k {uj?Z}j=1k?(聚类);
  • 学习将数据映射至特征空间 Z Z Z的网络参数 θ \theta θ

1. 基于KL散度的聚类

? 给定一个初始化的非线性映射 f θ f_\theta fθ?和初始化簇中心 { u j } j = 1 k \{u_j\}_{j=1}^k {uj?}j=1k?。(如何初始化会在下一小节介绍)

? DEC \text{DEC} DEC使用无监督交替两阶段方法来改善聚类效果,

  • 第一阶段:计算嵌入节点和簇中心的软分配;
  • 第二阶段:更新映射 f θ f_\theta fθ?,并使用辅助目标分布从当前高置信度分配中细化簇中心;

1.1 计算软分配

? 这里使用学习 t t t分布作为衡量嵌入节点与簇中心的相似度
q i j = ( 1 + ∣ ∣ z i ? u i ∣ ∣ 2 / α ) ? α + 1 2 ∑ j ′ ( 1 + ∣ ∣ z i ? u j ′ ∣ ∣ 2 / α ) ? α + 1 2 q_{ij}=\frac{(1+||z_i-u_i||^2/\alpha)^{-\frac{\alpha+1}{2}}}{\sum_{j'}(1+||z_i-u_{j'}||^2/\alpha)^{-\frac{\alpha+1}{2}}} qij?=j?(1+zi??uj?2/α)?2α+1?(1+zi??ui?2/α)?2α+1??
其中, z i = f θ ( x i ) ∈ Z z_i=f_\theta(x_i)\in Z zi?=fθ?(xi?)Z x i ∈ X x_i \in X xi?X嵌入后的向量; α \alpha α是学生 t t t分布的自由度(论文设 α = 1 \alpha=1 α=1); q i j q_{ij} qij?被认为是分配样本 i i i至簇 j j j的概率;

1.2 KL散度最小化

? 该阶段通过辅助分布来进一步使各个簇更加的内聚。具体来说,模型通过将上面得到的软分配与目标分布来训练模型。为了实现这个目标,这里定义了一个基于KL散度的损失函数来衡量软分配 q i q_i qi?与辅助分布 p j p_j pj?间的差距
L=KL(P||Q) = ∑ i ∑ j p i j l o g p i j q i j \text{L=KL(P||Q)}=\sum_i\sum_jp_{ij}log\frac{p_{ij}}{q_{ij}} L=KL(P||Q)=i?j?pij?logqij?pij??
其中, q i j q_{ij} qij?就是上面得到的软分配, p i j p_{ij} pij?则是一个目标分布。

? 下面会介绍这个目标分布怎么来的。

? 对于本文的聚类算法,目标分布 P P P的选择非常重要。具体来说,目标分布应该具有如下性质:

  • 能够改善聚类中簇的内聚程度;
  • 能够更加重视高置信度分布的数据点;
  • 每个簇中心对于损失的贡献是标准化的,防止大的簇扭曲了特征空间;

论文选择将软分配概率 q i q_i qi?进行平方,从而实现目标分布,即
p i j = q i j 2 / f j ∑ j ′ q i j ′ 2 / f j ′ p_{ij}=\frac{q_{ij}^2/f_j}{\sum_{j'}q_{ij'}^2/f_{j'}} pij?=j?qij2?/fj?qij2?/fj??
其中, f j = ∑ i q i j f_j=\sum_i q_{ij} fj?=i?qij?是软类频率。

1.3 优化

? 论文使用带有momentum的 SGD \text{SGD} SGD来联合优化簇中心 { u j } \{u_j\} {uj?}和神经网络参数 θ \theta θ。损失函数 L L L关于每个数据点特征空间嵌入向量 z i z_i zi?的梯度和每个簇中心 u j u_j uj?的梯度为
? L ? z i = α + 1 α ∑ j ( 1 + ∣ ∣ z i ? u j ∣ ∣ 2 α ) ? 1 ? L ? u j = ? α + 1 α ∑ i ( 1 + ∣ ∣ z i ? u j ∣ ∣ 2 α ) ? 1 × ( p i j ? q i j ) ( z i ? u j ) \frac{\partial L}{\partial z_i}=\frac{\alpha+1}{\alpha}\sum_j(1+\frac{||z_i-u_j||^2}{\alpha})^{-1}\\ \frac{\partial L}{\partial u_j}=-\frac{\alpha+1}{\alpha}\sum_i(1+\frac{||z_i-u_j||^2}{\alpha})^{-1}\times (p_{ij}-q_{ij})(z_i-u_j) ?zi??L?=αα+1?j?(1+αzi??uj?2?)?1?uj??L?=?αα+1?i?(1+αzi??uj?2?)?1×(pij??qij?)(zi??uj?)
当相邻两次迭代的变化小于 t o l % tol\% tol%时停止优化。

2. 参数初始化

前面小节假设簇中心和神经网络参数均被初始化。本小节则是具体介绍如何进行初始化。

2.1 神经网络 f θ f_\theta fθ?的初始化

? 论文使用堆叠自编码器来无监督学习数据在特征空间中的表示。堆叠自编码器采用逐层训练的方式,每一层的降噪自编码器都会重构前一层随机加入噪音的输出。降噪自编码器是一个两层的神经网络:
x ~ ~ D r o p o u t ( x ) h = g 1 ( W 1 x ~ + b ) h ~ ~ D r o p o u t ( h ) y = g 2 ( W 2 h ~ + b 2 ) \tilde{x}\sim Dropout(x) \\ h=g_1(W_1\tilde{x}+b) \\ \tilde{h}\sim Dropout(h) \\ y=g_2(W_2\tilde{h}+b_2) x~Dropout(x)h=g1?(W1?x~+b)h~Dropout(h)y=g2?(W2?h~+b2?)
其中, g 1 g_1 g1? g 2 g_2 g2?是编码和解码层的激活函数,并且 θ = { W 1 , b 1 , W 2 , b 2 } \theta=\{W_1,b_1,W_2,b_2\} θ={W1?,b1?,W2?,b2?}是模型参数。降噪自编码器的训练方式是最小化均方损失函数 ∣ ∣ x ? y ∣ ∣ 2 2 ||x-y||_2^2 x?y22?。在训练完一层后,使用它的输出 h h h作为下一层训练的输入。

? 经过逐层的贪心训练后,将所有的编码器按顺序拼接起来形成一个深度自编码器,并通过最小化构造损失函数来微调。最终得到的是,一个由编码器拼接成的多层深度自编码器,该自编码器用来将数据映射至特征空间,从而完成初始化。

2.2 簇中心初始化

? 在获得初始化的特征空间向量表示后,使用标准的 k-mean \text{k-mean} k-mean聚类来获得 k k k个初始化簇中心 { u j } j = 1 k \{u_j\}_{j=1}^k {uj?}j=1k?

三、思考

  • 论文的主要思路:1. 先使用已有的方式得到一个初步的聚类效果;2. 迭代的方式逐步改进聚类效果;
  • 论文使用一个堆叠自编码器将数据映射至特征空间。这两年预训练模型有了长足的进步,这里可以使用预训练模型来提供自编码器;
  • 聚类是否能作为预训练任务来预训练模型呢?这种得到的预训练模型是否有意义?
  • 可否通过某种方式对聚类进行一定的控制?
  • 这种迭代的方式是否可以用于少样本的有监督问题上?
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 10:43:36  更:2021-09-08 10:45:13 
 
开发: 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/27 15:25:27-

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