您的当前位置:首页正文

【转】变分深度嵌入(Variational Deep Embedding, VaDE)

2024-11-24 来源:个人技术集锦

全文转载自


变分深度嵌入(Variational Deep Embedding, VaDE)

作者:凯鲁嘎吉 - 博客园 

    这篇博文主要是对论文“Variational Deep Embedding: An Unsupervised and Generative Approach to Clustering”的整理总结,阅读这篇博文的前提条件是:了解,了解。在知道高斯混合模型(GMM)与变分自编码器(VAE)之后,VaDE实际上是将这两者结合起来的一个产物。与VAE相比,VaDE在公式推导中多了一个变量c。与GMM相比,变量c就相当于是GMM中的隐变量z,而隐层得到的特征z相当于原来GMM中的数据x。下面主要介绍VaDE模型的变分下界(损失函数)L(x)的数学推导过程。推导过程用到了概率论与数理统计的相关知识。

1. 前提公式

计算过程中用到了正态分布的一阶矩与二阶矩计算公式。

2. VaDE损失函数公式推导过程

最终的聚类结果是由q(c|x)得到的,q(c|x)相当于GMM中的隐变量的后验概率γ。

 下面将损失函数拆成5项,并一项一项进行求解。

3. VaDE算法总体流程

4. 疑问

    1)GMM算法的参数pi并没有进行归一化处理,在更新过程中能保证pi的和始终为1吗?这个问题在有回答,说pi相比于参数miu, sigma来说,对结果影响不大,但又有人问了,如果遇到非平衡数据呢?这种情况下pi的影响还是比较大的。

    2)后验概率γ在代码里并不参与更新,为什么不和GMM的其他参数(pi, miu, sigma)一样进行梯度下降更新呢?而是直接套公式?有什么数学依据吗?这个在有人提到过,但是未被回复。

    3)预训练到底是怎么做到的,仅仅是用SAE训练得到的结果吗?原作者代码里面只给出了预训练之后得到的具体参数,并没有给出预训练的代码。预训练这个问题在有被提到。预训练阶段还是非常关键的一步,当然,有人是这样做的:预训练使用VAE模型。

    如果能解决我的疑问,欢迎在评论区回复,一起探讨~

5. 参考文献

[1] 

[2] 

[3] Jiang Z , Zheng Y , Tan H , et al. [J]. 2016.

[4] VaDE代码:

     GitHub - slim1017/VaDE:

      GitHub - GuHongyang/VaDE-

显示全文