论文笔记:Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering

Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering

    • 1 摘要
    • 2 相关工作
    • 3 提出方法
    • 4 优化过程
    • 5 实验
    • 6 总结
    • 6 参考文献

1 摘要

降维和聚类是现在研究的两大任务。数据样本通过易于聚类的潜在表示得到的,但是实际上,潜在空间到数据的变换可能更复杂。本文将这个变换假设为一种未知的,可能是非线性函数。为了获得聚类友好型的潜层表示和更好的聚类效果,文章提出将降维和kmeans聚类联合的方法,其中,降维的实现通过深层神经网络(DNN)完成。

2 相关工作

1 K-means
论文笔记:Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering_第1张图片
2 线性数据生成模型
论文笔记:Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering_第2张图片
3 非线性数据生成模型
数据的生成过程比线性变换可能要复杂的多,因此,很有必要寻找一个非线性变换
DNN,联合降维和聚类。(谢等人,2016)和(杨等人,2016)的思想是将聚类模块连接到DNN的输出层,并共同学习DNN参数和聚类。
论文笔记:Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering_第3张图片
DEC方法的不足:没有尊重数据样本的规定,会得到一个离渴望值较远的比较小的一个函数值L。

3 提出方法

在这里插入图片描述
  f = ( . ; W ) \ f=(.;W)  f=(.;W)表示映射函数,   W \ W  W表示参数的集合。用DNN作为映射函数, 因为DNN具有使用合理数量的参数逼近任何连续映射的能力。上面谈到公式(2)能够避免在无监督学习中琐碎的解的问题。关键的部分在于重构那一块,即,公式(2)中的   ∣ ∣ X − W H ∣ ∣ F 2 \ ||X-WH||_F^2  XWHF2。这个项确保学习到的   h i \ h_i  hi通过偏量W重构   x i \ x_i  xi。 这促使在基于DNN的联合DR和K均值中加入重建项。
重构的方法有堆叠的自动编码器(SAE)。SAE利用解码网络   g ( . ; Z ) \ g(.;Z)  g(.;Z)映射   h i \ h_i  hi回到数据原域,使得   h i \ h_i  hi   x i \ x_i  xi匹配得更好。
所以,提出如下损失函数:
论文笔记:Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering_第4张图片
其中,   l ( . ) \ l(.)  l(.)函数除了作者采用的最小二乘损失,也可以考虑其他的kl散度损失函数等。
Kmeans-friendly指的是数据样本均匀的分布在特征空间的质心周围的情况。
公式(4)所对相应的网络结构如下图所示:
论文笔记:Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering_第5张图片
该潜层特征对于重构输入更为合理负责。“瓶颈”层的左侧是所谓的编码层或前向层,它们将原始数据转换为低维空间。 右边是试图从潜在空间重建数据的“解码”层。Kmeans表现在瓶颈层,同时对前向网络、解码网络和K-均值代价进行了优化。在实验中, 解码网络的结构是编码网络的“镜像版本”。对编码和解码网络,我们采用基于神经元的ReLU激活函数。

4 优化过程

提出一个实际的优化过程,包括经验有效的初始化方法和迭代优化的方法。
1. Initialization via Layer-wise Pre-Training
公式(4)是给非凸优化问题(判断是否凸),初始化非常关键。预训练采用深度网络的分层训练技巧。 经过预训练后,我们对瓶颈层的输出执行Kmeans,得到M和   s i \ {s_i}  si的初始值。
2. Alternating Stochastic Optimization
常用的随机梯度下降(SGD)算法不能直接用来联合优化   W , Z , M , s i \ W,Z,M,{s_i}  W,Z,M,si,因为块变量   s i \ {s_i}  si被约束在离散集合上。所以,作者采用交替优化和SGD结合的方法,即,固定其他两个变量优化子问题。
(1)更新网络参数
论文笔记:Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering_第6张图片
在这里插入图片描述
(2)更新聚类参数
在这里插入图片描述
在这里插入图片描述
其中,梯度步长   1 / c k i \ 1/c_k^i  1/cki控制着学习率,上面M的更新也可以看出是一个SGD步骤
(3)算法流程
论文笔记:Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering_第7张图片
算法1具有许多优点。首先,它可以以完全在线的方式实现,因此具有很强的可伸缩性。其次,可以直接使用许多已知的提高DNN训练性能的技巧。作者在实验中使用了SGD和批处理规范化的迷你批处理版本,提高了性能。

5 实验

执行DCN采用深度学习工具箱Theano。

6 总结

文章提出了联合DR和Kmeans聚类方法,其中数据降维通过深度神经网络来完成,其目标是自动的将高维的数据映射到一个潜层空间,在这个潜层空间进行kmeans聚类,然后精心设计了网络结构,以避免琐碎和无意义的解决方案,并提出了一个有效的和可伸缩的优化程序来处理制定的挑战性问题。合成和实际的数据显示了算法的有效性。

6 参考文献

  1. keras版本代码

  2. 作者代码

  3. 深度网络的分层预训练

  4. pytorch版本代码

你可能感兴趣的:(深度笔记)