DCC:Deep continuous clustering

文章:NIPS’17
代码:TensorFlow实现Pytorch实现

经典的聚类算法具有离散结构:需要重新计算质心和数据点之间的关联,或者需要合并假定的聚类。
在任何一种情况下,优化过程都会被离散的重新配置打断。

连续聚类:在优化过程中没有考虑具体离散的类别,而是以优化节点表示和节点对连边这个连续问题为目标。最后通过连边的情况划分类别。

目标函数

由三部分构成:自编码器的重构损失;聚类嵌入Z和低维嵌入Y的距离;聚类嵌入Z的成对损失
在这里插入图片描述
ϵ \epsilon ϵ根据X的相互最近邻构建。由 kNN 图的最小生成树(minimum spanning tree)进行增强,以确保与所有数据点的连接。
ρ 1 \rho_1 ρ1 ρ 2 \rho_2 ρ2,M估计量,使得属于同一个cluster的embedding尽可能接近。
在这里插入图片描述
μ 1 \mu_1 μ1, μ 2 \mu_2 μ2控制估计量的凸性。
ω i , j \omega_{i,j} ωi,j,平衡数据点的成对损失。
在这里插入图片描述
λ \lambda λ平衡各项损失,Y和A谱范数的比值。
在这里插入图片描述
其中
在这里插入图片描述

优化中的问题

  1. 参数Ω是关于所有样本更新的,而Z只是关于单个样本和成对样本更新的,因此应该具有不同的学习率。使用Adam进行参数的学习。
  2. mini-batch中,随机抽取子样本点不可行,因为会有相邻的样本点在mini-batch之外,因此需要随机选取边,从而构成子图 ϵ \epsilon ϵ
  3. 在mini-batch中,reconstruction loss和data loss的权重会变大。因为按边采样的话,节点会出现在不同的batch中,因此小批量训练的时候需要修改前两个loss的权重,加入ω。
    在这里插入图片描述

训练

  • initialization

自编码器参数Ω: 使用stacked denoising autoencoder (SDAE)初始化
聚类低维嵌入Z:Z = Y

  • Stopping criterion

小于0.1%边的连接状态改变,则停止

算法

在这里插入图片描述

思考小结

Y是真正输出的低维嵌入,Z是聚类相关的低维嵌入。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值