Unsupervised deep embedding for clustering analysis
偶然发现这篇发在ICML2016的论文,它主要的关注点在于unsupervised deep embedding。据我所了解的,Unsupervised 学习是deep learning的一个难点,毕竟deep network这种非常复杂的非线性映射,暂时的未知因素太多,可能在原来的domain有clustering的特征数据经过nonlinear映射之后,就变得不再clustering了。
这篇论文受t-SNE的启发,优化的目标是两个分布之间的KL距离。假设deep embedding之后的两个点 和 ,其中是第个类的centroid。于是,similarity 的measure为
也可以认为是 属于 的概率。
假设此时一个目标分布,则 。优化的过程和普通的BP算法一样,(1)通过BP算法优化deep network的参数,即计算。(2)通过计算梯度来调整cluster的centroid,但是否这类centroid的调整也需要乘上一个学习率呢?
此外,一个重点的问题是潜在目标分布的构造。Paper里给出了三个标准,我觉得这三个标准确实挺有意义的:(1)对预测效果可以strengthen(2)对于一些高概率被标注某个cluster的点,给予更多的权重(3)归一化每个点对于每个centroid用于计算loss函数时候的贡献,避免一些大的cluster扭曲了整个feature space。构造如下,
其中,。对以上三个标准说一说自己的理解,不一定准确。(1)对于第一点,对于某个明显更靠近类的point,它比其他point离得除类以外更远,这个点的也更高,而且也可能会更高(2)平方项的应用使得小的更加小了,即emphasis更小。同时,当较高,在 的所有点中, 也会有相对高的值。(3)对于某些大的cluster,可能总和更大,反而最终更小,而对于小的cluster,使得更大。最终把一个点push到另一个小cluster。
直觉上说,概率分布的初始化的正确性很大程度影响的算法最终的结果,首先因为这不是一个真实的分布,而deep network没有一个很好的初始化很难在另一个domain 保持cluster的结构。而section 5.1 的结果显示,对于high confidence的点,sample也变得更加canonical,如图越高confidence越明显是“5”的字样,而对于梯度的贡献也越来越大,即说明初始化概率分布也是接近正确的。
网络的初始化和SAE(栈autoencoder)一样,采用greedy training的方式训练每一层,然后再微调整个网络。而初始化cluster的选择,则通过在embedding上perform k means clustering 算法得到。