文章地址:https://ieeexplore.ieee.org/document/8387526

出自:IEEE Trans. on Pattern Analysis and Machine Intelligence, 2018.

 本文是对《Binary Multi-View Clustering》一文的个人理解总结,详细内容敬请阅读原文。

一、主要解决的问题

1、多视角的大尺度的数据集聚类性能表现欠佳;

2、实值聚类消耗较大的内存资源和计算资源;

2、编码和聚类是独立的,不能相互作用。

二、创新点

1、BMVC是第一个使用二进制编码技术解决大规模多视图聚类问题的方法,BMVC同时从多个视图和联合优化二进制编码和聚类。

2、提出了一种交替优化算法用于解决离散的优化问题,。针对二值聚类中心学习的关键子问题,还提出了一种自适应离散近似线性方法(ADPLM)。

3、BMVC具有较好的聚类性能,还明显更少的计算时间和内存开销,内存和时间上快的不止一点,这一点真的很好。

三、文章概要:

文章是编码的多视角聚类问题。首先说明什么是多视角和如何编码,然后从哈希编码联合聚类模型、优化以及实验分析三个方面简述文章主要思想和实验设计。

所谓多视角,引用原文:1. Different to single-view clustering using singular data descriptor, in this paper, we first describe each data point (e.g., an image) by various features (e.g., different image descriptors, such as HOG, Color Histogram and GIST) and then feed these features from multiple descriptors into our clustering. It is noteworthy that the “Multiview” in our paper indicates multiple image descriptors of features rather than multiple modalities. 简单来说:本文多视角就是多种特征。

 

1、哈希编码

为什么要进行编码呢?

第一,针对实值聚类需要较大的内存资源,尤其是谱聚类方法,对较大尺度的图像数据集需要占用很大的内存,编码能够对数据特征进行降维处理,尽可能的保留了样本的自身特征。第二、计算机能够更容易处理编码数据,降低计算复杂度。

如何编码:对于任意一个视角(一种特征),n为数据集中图像的数目,m是选取的锚点数。具体或称如下图。

 【论文阅读】Binary Multi-View Clustering-LMLPHP

怎么样让编码更好的体现特征,设计了如下代价函数:

【论文阅读】Binary Multi-View Clustering-LMLPHP 

  • 希望多视角学习得到的 M 个哈希矢量与 二值编码B 能够相似,最小化编码和哈希矢量的L2范式;
  • 希望得到的投影转换矩阵约简单越好,最小化U的L2范式;
  • 希望数据点的二值码分布均衡,最大化其方差;
  • 不同视角扮演的分量不同,不同视角优化不同权重。

 

2、哈希编码联合聚类模型

聚类模型使用的是矩阵分解的方法,希望每个编码b可以用一个聚类中心C和指示向量g(权重)的乘积来表示,希望分解的误差最小。方法化较为常见,话不多说代价函数详见下式:

【论文阅读】Binary Multi-View Clustering-LMLPHP 

文章的一个主要创新点体现再此,作者将编码和聚类同时进行优化,将两者目标方程结合在一起,在学习过程中,相对于pipeline的方法更能将编码和聚类相互作用体现出来。于是总的代价函数:

【论文阅读】Binary Multi-View Clustering-LMLPHP

3、 优化

面对如此复杂的代价函数( 涉及到离散约束条件的np hard问题),如何进行优化训练?

作者,使用了一个交替优化策略,即更新某个变量时,固定其它变量不变的循环更新方法。

【论文阅读】Binary Multi-View Clustering-LMLPHP

 

更新U ,固定其它量不变,总代价函数变为:

 【论文阅读】Binary Multi-View Clustering-LMLPHP

可见该项不含约束项,直接求导,令其倒数为0,得到此时最优U;

【论文阅读】Binary Multi-View Clustering-LMLPHP 

其中,【论文阅读】Binary Multi-View Clustering-LMLPHP 

更新B , 总代价函数变为:

 【论文阅读】Binary Multi-View Clustering-LMLPHP

包含有离散约束量,怎么办呢,先化简看看啦:

【论文阅读】Binary Multi-View Clustering-LMLPHP 

化简到此,是不是有种“柳暗花明又一村“的感觉,第一项是常数,因为B转置和B之间的项是一常数乘以单位阵,又因B转置乘以B为常数,故第一项为常数。于是就变为求第二项的最小值,前面有(-)符号,使得B转置乘以一项的值最大,这一项就为B。因为B为编码,所以取符号操作,B为:

【论文阅读】Binary Multi-View Clustering-LMLPHP 

 【论文阅读】Binary Multi-View Clustering-LMLPHP【论文阅读】Binary Multi-View Clustering-LMLPHP

找出每个b到任何聚类中心的hamming距离,最近的给权值g为1,其它置为0。

【论文阅读】Binary Multi-View Clustering-LMLPHP

4、实验分析

作者在Caltech101, NUS-WIDE-Obj, Cifar-10, Sun-397  YouTube Faces 实验验证。

以Caltech101为例,精度上对比如图,在多view上作者算法是最高的,并且提升幅度较大。

 【论文阅读】Binary Multi-View Clustering-LMLPHP

效率上的对比,作者算法相对于K-means时间上提升了60倍的速度,是不是相当惊人!

 【论文阅读】Binary Multi-View Clustering-LMLPHP

内存资源占用对比,内存降低近1500倍,是不是更加惊人!

 【论文阅读】Binary Multi-View Clustering-LMLPHP

有人可能会有疑问,为什么编码后聚类性能能够提升??来看编码后的特征分布,如下两图,相同簇用同种颜色表示,编码后的特征簇间分布更加分散,簇内分布更加紧密,这就更容易对其进行聚类。以至于效果能够提升。

 【论文阅读】Binary Multi-View Clustering-LMLPHP【论文阅读】Binary Multi-View Clustering-LMLPHP

参数灵敏度分析

手动调整参数较多,作者实验分析了这些参数对性能的影响,好在模型对这些参数不敏感。参数在一定大范围内能够保持稳定的聚类性能!

【论文阅读】Binary Multi-View Clustering-LMLPHP 

四、总结

Contributions:

1. 提出了一种能够降低计算复杂度和内存开销的多视角聚类算法;

2. 提供了一种编码和聚类同时优化的思想;

Limitations:

1. 文章中所提,手动调整参数太多(源于太多的约束项)。

如有不足,肯请指出。

张亚超

2018年10月22日

10-25 09:00