基础深度聚类算法——DEC与SDEC

一. DEC 深度嵌入聚类

1.KL散度聚类

在DEC论文中,聚类过程通过KL散度(Kullback-Leibler Divergence)来优化,并涉及一个非线性映射 和一组初始聚类中心 。整个过程是一个迭代的无监督学习算法,交替执行步骤,直至满足收敛条件。

(1)soft assignment软分配计算

论文中详细解释了软分配(Soft Assignment)的计算方法,该方法基于Maaten和Hinton(2008)的研究。软分配是一种衡量嵌入点 z_{i} 与聚类中心\mu _{j} 之间相似度的方法,允许一个样本属于多个聚类的概率分布。具体计算步骤如下:

·计算距离:首先,计算每个嵌入点 z_{i} 与每个聚类中心 \mu _{j} 之间的欧氏距离的平方。

·调整距离:将上述距离平方除以Student's t-分布的自由度参数 并加1,得到1+||z_{i}-\mu _{j}||^{2}/\alpha。这里α控制分布的尖锐程度,通常设为1以保证无监督学习的稳定性。

·计算相似度:对上一步的结果取倒数并乘以 -\frac{\alpha +1}{2},得到(1+||z_{i}-\mu _{j}||^{2}/\alpha)^{-\frac{\alpha +1}{2}}。这个表达式衡量了嵌入点 z_{i}与聚类中心\mu _{j} 之间的相似度。

·归一化:对每个聚类中心 j,计算上述相似度表达式的值,并进行归一化处理,即除以所有聚类中心相似度之和,得到软分配概率q_{ij}

软分配概率 q_{ij}表示在给定参数α 的情况下,将样本i 分配到聚类 j 的概率。软分配允许一个样本属于多个聚类。这种方法在聚类分析中提供了更灵活的数据表示,有助于处理复杂的数据结构和关系。

                        ​​​​​​​        

(2)KL散度最小化

核心思想是:通过辅助目标分布(auxiliary target distribution)对高置信度的聚类结果进行迭代优化。具体而言,该方法通过将模型的软分配结果与目标分布进行匹配,从而优化模型。

qi:代表模型输出的软分配结果,即每个样本被分配到不同聚类的概率分布。可以理解为当前模型对样本类别的判断。

pi:代表辅助的目标分布,是根据当前软分配调整得到的,引导模型进一步学习。它的设计通常强调那些模型较为确信的分类结果,以进一步减少错误。

        ​​​​​​​        ​​​​​​        ​​​​​​​        ​​​​​​​        

设pi服从delta分布,此法仅对高于置信度阈值的pi有效

q_{ij}:表示数据点i属于聚类中心j的软分配概率,通常由当前模型的输出(如神经层的输出层)计算得出

p_{ij}:目标分布,表示经过调整后的数据点i属于聚类中心j的概率

f_{j}:软聚类概率,表示当前属于聚类中心j的所有数据点的总概率

目标分布p_{ij}的计算公式如下

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

其中f_{j}=\sum _{i}q_{ij},表示当前所有数据点对聚类中心j的软分配概率之和,即聚类中心j的频率

(3)优化

我们旨在优化聚类中心μj和DNN参数θ,引入带动量的随机梯度下降法

论文中提到损失函数L对每个数据点的特征空间嵌入z_{i}和每个聚类中心\mu_{j}的梯度计算方式如下

        

        

计算梯度按BP算法进行,当在两个连续迭代之间,改变聚类分配的点数少于总点数的某个比例(如tol%)时,停止优化过程

2.参数初始化

(1)去噪自动编码器DAE

去噪自动编码器是由两个层组成的神经网络,其目标是从被损坏的数据(即加入噪声的数据)中重构出原始数据,具体操作步骤如下。

·随机损坏输入数据:使用dropout将一部分输入维随机置为零

·编码:损坏后的输入通过编码器层,该层是一个全连接层,使用了某种激活函数

·随机损坏编码后的输出

·解码

整个去噪自动编码器的训练目标是最小化输入 x 和重构输出 y 之间的重构误差,通常使用的是平方误差损失,即

(2)层级训练

网络逐层训练,编码和解码过程中,除了最后一层以及第一对编码-解码对之外,都使用ReLU激活函数。在完成逐层训练之后,将所有编码层拼接在一起,形成一个完整的编码器。接着,将解码层按逆序排列,拼接在一起,形成一个完整的解码器。这样,模型就构建成了一个深度自动编码器。

将整个深度自动编码器进行微调,以最小化整个模型的重构损失,完成微调后,舍弃解码层,仅保留编码层。编码层将作为数据空间到特征空间之间的映射,形成数据的低维嵌入表示。

(3)聚类中心初始化

最后一步是在特征空间中初始化聚类中心。具体过程为:获取嵌入数据点,即将数据通过训练好的编码器,得到数据的嵌入表示。再在嵌入空间上运行标准的K-means聚类算法,初始化K个聚类中心。这些聚类中心就是后续深度嵌入聚类(DEC)过程中使用的初始聚类中心。

二、SDEC半监督自适应深度嵌入聚类

​​​​​​​

如图,SDEC依然存在KL loss,我们将其定义为L1

        ​​​​​​​        

相比于DEC,SDEC的损失增加了一份Label loss用以实现半监督的算法,我们将其定义为L2

        ​​​​​​​        

总体损失为

        ​​​​​​​        

损失优化中,梯度的计算式如下

如下为SDEC中引入的投票机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值