J. Cai, J. Fan, W. Guo, S. Wang, Y. Zhang and Z. Zhang, "Efficient Deep Embedded Subspace Clustering," 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), New Orleans, LA, USA, 2022, pp. 21-30, doi: 10.1109/CVPR52688.2022.00012.
Efficient Deep Embedded Subspace Clustering | IEEE Conference Publication | IEEE Xplore
摘要:
近年来深度学习方法在聚类任务上展示出了显著的进展。深度聚类方法(包括基于距离的方法和基于子空间的方法)将聚类和特征学习融合在一个统一的框架内,已实现聚类和表示的交互促进。然而,由于深度子空间聚类方法常在自表示学习的框架中,因此时间和空间复杂度都为平方级的,从而限制了他们在大规模数据聚类和实时数据聚类上的应用。本文为深度聚类提出了一个新的机制,旨在以迭代改进的方式从深度表示中学习子空间基,而改进的子空间基反过来帮助学习深度神经网络的表示。所提方法脱离了自表达框架,对样本大小呈线性扩展,适用于任意大数据集和在线聚类场景。更重要的是,所提方法的聚类精度远高于同类方法。在基准数据集上与最新的聚类方法进行了广泛的对比研究,验证了所提方法的优越性。
创新点:
1.提出了一个脱离自表示框架的深度子空间聚类方法。
2.该方法的时间和空间复杂度为线性级别,可以应用于大规模数据子空间聚类。
3.将该方法推广到在线聚类,可以有效地处理任意大数据集和流数据集。
4.分析了用深度神经网络转换基于距离的聚类和子空间聚类的可行性。
模型分析:
该模型用AE学习数据的嵌入表示Z,然后将Z与子空间D组合构建子空间亲和向量,进而得到标准化的亲和子空间S。d为子空间的维度,用重构损失核子空间损失共同监督模型的更新。
模型要解决下面的问题:
问题1:
给定数据,n为 样本个数,m为特征数量。假设,其中=,是一个未知的排列矩阵。k为类簇个数。
这个问题实际上是一个聚类问题,我们需要将X的列分组到k个簇中,对应于k个不同的函数f1,…fk。当f1,…fk都是线性的,问题1可以看作是非线性子空间聚类或流形聚类问题。由此可得到问题2.
问题2 :
问题2比问题1简单的原因为:我们只需获得好的就可以确定准确的类簇。因此,本文通过用多层神经网络逼近x来估计B(j),即:
代表具有参数集W的多层神经网络。很难直接获得,因此,我们估计
利用数据的自身损失计算:
表示xi真正属于的类。由于是不知道的,所以不能直接解决(3)。
因此文章引入了一个新的D=。
将问题转化为:
第一个约束是控制D列的大小,否则可能变成零。
第二个约束是满足问题1中不同子空间之间的相异度假设。
最后一个约束起着子空间分配的作用。
实际解决:
其中:
约束1:
约束2:
合并为:
约束3类似学生T分布:
整个模型的流程如下:
另外:作者还生成了两个人工数据集来展示基于距离的聚类和基于子空间聚类问题之间转换的性能。实验表明将子空间聚类问题转换为基于距离的聚类问题是非常困难的。
一个基于距离的用高斯分布,一个用于子空间聚类的用sin()。
Code available at https://github.com/JinyuCai95/EDESC-pytorch
最近研究瓶颈,读一篇论文启发一下。。。