Deep Subspace Clustering Networks (DSC-net)

深度子空间聚类

这是一种可以用于聚类,降噪的网络结构,主要方法是在自编码器的改造,在encoder和decoder间加了一个全连接的层Self-expressivensess (自表达层?) ,同时在拟合的时候考虑了这层的参数/误差。 …

假设基础


理论基础

1.子空间聚类 subspace cluster

  • 涉及到的知识点有,字典表示 (矩阵分解方法) 相似度矩阵(系数矩阵转化),稀疏表示/低秩表示 (约束方法) 谱聚类 (最后看结果)
  • 通常处理的数据,这里用实际含义表示,行表示样本,列表时特征。当特征之间不是完全独立存在时候,特征可以通过一些手段降低维度,例如PCA。当样本之间不是完全独立的时候,同理。
  • 当样本间存在相关的时候,可以互相表示,这时样本间的关系可以通过相关性矩阵表示。
  • 不同特征之间存在相关,就可以理解为矩阵信息是有冗余的,这时引入字典的概念,字典就是能容纳矩阵的所有信息,而且很小,使用字典矩阵 * 系数矩阵就可将 原本的矩阵还原。类似于矩阵的稀疏表示
  • 但是这关注的更多是样本间的关系(毕竟要聚类),常用的做法就是将字典矩阵替换成矩阵本身,这样系数矩阵就等价于相关性矩阵,因为每个样本特征都可以用其他样本进行还原。
  • 这是系数矩阵的对应位置要为0,避免每个特征值是由它本身得到的。
  • 这时引入子空间的概念,若样本的相似存在多个子空间,不是整体都相似,在相似性热图上呈现多个方块的样子。因此,因为子空间见有大量0,所以可以用L0约束,虽然实际操作中常用L1。
  • 对这样的相似度矩阵可使用谱聚类进行聚类

2.自动编码器

  • 通过数据自拟过程中的维度压缩,可以过滤掉原始数据中扰动的噪音。

3.损失函数 损失函数主要包括三方面:

  • 输出层的残差
  • 自表层的l2约束
  • 原始数据 与 原始矩阵*相似度矩阵 差值的L2约束 ,表示通过相似度矩阵进行数据恢复后的差异

4.网络结构

  • encoder 正常
  • 自表层 self-expressiveness layer 自表层是个 样本*样本(m*m)数量的矩阵,作为那个C矩阵,系数矩阵或者叫做相似度矩阵,放到网络里就是两个全连接的没有激活函数的神经元。毕竟参数/矩阵格子都是m*m个。前后连着decoder,前面连着encoder。
    • 关于自表层和相似性矩阵的对应,毕竟一个是一个一个样本投入的,一个是网络中的神经元。由于在计算loss的时候,考虑的C
  • decoder 正常,输出依旧是输入矩阵。
  • 疑问,感觉上decoder这层可以不要,因为得到相似度矩阵后就已经可以还原原矩阵,难道可能是考虑了样本和特征间的非线性关系,还原的时候也存在?