基于图嵌入的高斯混合变分自编码器的深度聚类

Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedding, DGG

作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

1. 引言

这篇博文主要是对论文“Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedding”的整理总结,这篇文章将图嵌入与概率深度高斯混合模型相结合,使网络学习到符合全局模型和局部结构约束的强大特征表示。将样本作为图上的节点,并最小化它们的后验分布之间的加权距离,在这里使用Jenson-Shannon散度作为距离度量。

阅读这篇博文的前提条件是:了解高斯混合模型用于聚类的算法,了解变分推断与变分自编码器,进一步了解变分深度嵌入(VaDE)模型。在知道高斯混合模型(GMM)与变分自编码器(VAE)之后,VaDE实际上是将这两者结合起来的一个产物。与VAE相比,VaDE在公式推导中多了一个变量c。与GMM相比,变量c就相当于是GMM中的隐变量z,而隐层得到的特征z相当于原来GMM中的数据x。而基于图嵌入的高斯混合变分自编码器的深度聚类(DGG)模型可以看做在VAE的基础上结合了高斯混合模型与图嵌入来完成聚类过程,公式推导中同样增加了表示类别的变量c,同时,目标函数后面加了一项图嵌入的约束项。比起VaDE来说,可以理解为多了一个约束项——图嵌入,当然目标函数还是有所不同。

下面主要介绍DGG模型目标函数的数学推导过程。推导过程用到了概率论与数理统计的相关知识,更用到了VaDE模型推导里面的知识,如果想要深入了解推导过程,请先看变分深度嵌入(VaDE)模型的相关推导。

2. 目标函数的由来与转化

3. 目标函数具体推导

4. 参数更新过程及聚类结果

5. 我的思考

在推导过程中我与原文中的推导有不一样的地方。

1)我的推导过程中变分下界L中第二项系数是1/2,原文直接是1,而在支撑材料里面仍然是1/2,因此可以认为是作者笔误造成的。

2)我的推导过程中变分下界L中的第二项与第四项都有常数项(蓝框框标出的),这两项正好正负抵消,才没有这个参数项,而在原文支撑材料里面直接第二四项都没有常数项。不过这只是支撑材料的内容,在原文中没有太大影响。

3)我用的是πk,原文用的πik。这点没有太大影响。

6. 参考文献

[1] Linxiao Yang, Ngai-Man Cheung, Jiaying Li, and Jun Fang, "Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedding", In ICCV 2019.

[2] 论文补充材料:Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedding - Supplementary

[3] DGG Python代码:https://github.com/ngoc-nguyen-0/DGG

[4] 变分深度嵌入(Variational Deep Embedding, VaDE) - 凯鲁嘎吉 - 博客园

[5] 变分推断与变分自编码器 - 凯鲁嘎吉 - 博客园

基于图嵌入的高斯混合变分自编码器的深度聚类(Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedding, DGG)的更多相关文章

  1. Learning Combinatorial Embedding Networks for Deep Graph Matching(基于图嵌入的深度图匹配)

    1. 文献信息 题目: Learning Combinatorial Embedding Networks for Deep Graph Matching(基于图嵌入的深度图匹配) 作者:上海交通大学 ...

  2. [zz] 混合高斯模型 Gaussian Mixture Model

    聚类(1)——混合高斯模型 Gaussian Mixture Model http://blog.csdn.net/jwh_bupt/article/details/7663885 聚类系列: 聚类( ...

  3. 基于变分自编码器(VAE)利用重建概率的异常检测

    本文为博主翻译自:Jinwon的Variational Autoencoder based Anomaly Detection using Reconstruction Probability,如侵立 ...

  4. 高斯混合聚类及EM实现

    一.引言 我们谈到了用 k-means 进行聚类的方法,这次我们来说一下另一个很流行的算法:Gaussian Mixture Model (GMM).事实上,GMM 和 k-means 很像,不过 G ...

  5. 腾讯云存储专家深度解读基于Ceph对象存储的混合云机制

    背景 毫无疑问,乘着云计算发展的东风,Ceph已经是当今最火热的软件定义存储开源项目.如下图所示,它在同一底层平台之上可以对外提供三种存储接口,分别是文件存储.对象存储以及块存储,本文主要关注的是对象 ...

  6. 基于图的图像分割(Graph-Based Image Segmentation)

    一.介绍 基于图的图像分割(Graph-Based Image Segmentation),论文<Efficient Graph-Based Image Segmentation>,P. ...

  7. 图像切割—基于图的图像切割(Graph-Based Image Segmentation)

     图像切割-基于图的图像切割(Graph-Based Image Segmentation) Reference: Efficient Graph-Based Image Segmentation ...

  8. 混合高斯模型(Gaussian mixture model, GMM)

    1. 前言 这就是为什么我要学习一下二维高斯分布的原因: 总感觉数学知识不够用呐,顺带把混合高斯模型也回顾一下. 2. 单高斯模型(Gaussian single model, GSM) 2.1 一维 ...

  9. 混合云存储组合拳:基于云存储网关与混合云备份的OSS数据备份方案

    前言 阿里云对象存储(OSS)用户众多.很多用户因为业务或者合规性需求,需要对OSS内的数据做备份,无论是线上备份,还是线下备份.用户可以选择使用OSS的开放API,按照业务需求,做数据的备份,也可以 ...

随机推荐

  1. vs2019离线下载安装包

    官方的离线安装说明-->点击打开 1.下载 vs2019引导程序 ,选择你所需的版本下载,我选择了企业版 vs_enterprise__184447765.1558180718.exe 2.设置 ...

  2. apollo与springboot集成实现动态刷新配置

    分布式apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性. 本 ...

  3. 关于adb命令的基本使用

    在我们使用adb命令之前,我们要安装一个安卓模拟器(夜神.逍遥.海马王......),这里以夜神安卓模拟器为准(个人推荐,没用过可以使用夜神模拟器). 进入夜神安卓模拟器官网:https://www. ...

  4. windows tcp server select

    #include <stdio.h> #include <tchar.h> #include <winsock2.h> #include <iostream& ...

  5. Python流程控制语句详解

    1.程序结构 计算机在解决问题时,分别是顺序执行所有语句.选择执行部分语句.循环执行部分语句,分别是:顺序结构.选择结构.循环结构.如下图: 2.选择语句 2.1最简单的if语句 Python使用保留 ...

  6. Pyinstaller 打包python 到exe 在windows下免python环境运行python

    在创建了独立应用(自包含该应用的依赖包)之后,还可以使用 PyInstaller 将 Python 程序生成可直接运行的程序,这个程序就可以被分发到对应的 Windows 或 Mac OS X 平台上 ...

  7. Django自定义500的错误显示信息

    这个方法应该对Django version 2.2.4以后的版本都有效,因为我的项目是这个版本,其他版本我并没有测试. 首先找到Django的exception.py文件路径:  C:\python_ ...

  8. 02.DRF-认识RESTful

    认识RESTful 在前后端分离的应用模式里,后端API接口如何定义? 例如对于后端数据库中保存了商品的信息,前端可能需要对商品数据进行增删改查,那相应的每个操作后端都需要提供一个API接口: POS ...

  9. 大众点评cat实时监控简介及部署

    简介 背景 CAT(Central Application Tracking)是由吴其敏(前大众点评首席架构师,现携程架构负责人)主导设计基于Java开发打造的实时应用监控平台,为大众点评网提供了全面 ...

  10. Oracle调用Java方法(上)如何使用LoadJava命令和如何将简单的Jar包封装成Oracle方法

    最近在工作中遇到了遇到了一个需求需要将TIPTOP中的数据导出成XML并上传到FTP主机中,但是4GL这方面的文档比较少最终决定使用Oracle调用Java的方法,在使用的过程中发现有很多的坑,大部分 ...