Handing Incomplete Heterogeneous Data using VAEs
概
这篇文章利用VAE处理缺失数据, 以往的对缺失数据的处理往往是不区分连续离散, 数字符号的, 感觉这里利用分布的处理方式非常精彩.
主要内容
ELBO
首先, 既然是利用VAE, 那么就需要推导出相应的ELBO来.
文章首先假设数据\(x\)和隐变量之间关系满足:
\]
即\(x_n\)的各分量关于\(z_n\)的条件独立的.
进一步引入观测数据\(x^o\)和\(x^m\), 即
\left \{
\begin{array}{ll}
x_{nd}, & d \in \mathcal{O}_n \\
0, & d \in \mathcal{M}_n
\end{array}
\right ., \\
x^{m}_n = x_n - x_{n}^o.
\]
其中\(\mathcal{O}, \mathcal{M}\) 分别是观测的元素和缺失的元素位置, 且彼此是互斥的.
那么
\]
\]
则通过极大似然即可推出ELBO:
\log p(X^o)
&= \sum_{n} \mathbb{E}_{q(z_n|x_n^o)} \log \frac{p(x_n^o, z_n)}{q(z_n|x_n^o)} \frac{q(z_n|x_n^o)}{p(z_n|x^o_n)} \\
&\ge \sum_n \mathbb{E}_{q(z_n|x_n^o)} \log p(x_n^o|z_n)
- \sum_n \mathrm{KL}(q(z_n|x_n^o)\| p(z_n)).
\end{array}
\]
其中\(p(x_n^o|z_n)=\prod_{d \in \mathcal{O}_n} p(x_{nd}|z_n)\).
网络结构
从上面的假设就可以看出, 整体的VAE的结构是这样的:
- 观测数据\(x^o\)经过encoder得到\(\mu_q(x^o), \Sigma_q(x^o)\), 并从高斯分布中采样得到\(z\).
- 隐变量\(z\)经过独立的网络\(h_1, \cdots, h_d\)得到预测的数据\(\gamma_1, \gamma_2, \cdots, \gamma_d\), 这些用于构建各自的分布\(p(x_d|\gamma_d)\), 这个分布是数据的类型而不同.
不同的数据
这对不同的数据类型, 可以假设不同的分布\(p(x_d|\gamma_d)\), 这我认为是非常有趣的一个点.
- 如果\(x_d\)是实值变量, 则可以假设其为高斯分布:
\]
- 如果\(x_d \in \mathbb{R}^+\), 则
\]
- \(x_d \in \{0, 1, 2, \cdots \}\), 则假设poisson分布:
= \frac{\lambda_d(z)^{x_d} \exp (-\lambda_d(z_n))}{x_d!}.
\]
- 类别数据, \(\gamma_d \in \{h_{d0}(z), \cdots, h_{d(R-1)}(z)\}\)此时为logits, 最后的概率分布
\]
- Ordinal data
\]
其中
\]
HI-VAE
上述的假设有些过于强了, 为此, 作者做出了一些调整.

- 假设一个了一个混合的高斯先验: \(p(z|s_n)\);
- 隐变量需要先经过一个共同的变化得到\(Y_n\)再和\(s_n\)一起经过独立的网络得到\(\gamma_1, \gamma_2, \cdots, \gamma_d\).
个人感觉第二点的设计还是不错的.
代码
Handing Incomplete Heterogeneous Data using VAEs的更多相关文章
- RFC destination fails with error Incomplete Logon Data after system copy
1. 问题现象 1.1在system copy后,提示RFC报错Unable to configure STMS 2. 重要的参考文件: 2.1RFC passwords not available ...
- Interviews3D: APlatform for Interactive Handing of Massive Data Sets 读后感
横向比较: Inadequacy of current system design( 现代系统和一些软件的不足) 软件特点: Output sensitivity Out-of core data h ...
- Toward Scalable Systems for Big Data Analytics: A Technology Tutorial (I - III)
ABSTRACT Recent technological advancement have led to a deluge of data from distinctive domains (e.g ...
- MySQL vs. MongoDB: Choosing a Data Management Solution
原文地址:http://www.javacodegeeks.com/2015/07/mysql-vs-mongodb.html 1. Introduction It would be fair to ...
- Opaque data type--不透明类型
Opaque:对使用者来说,类型结构和机制明晰即为transparent,否则为Opaque In computer science, an opaque data type is a data ty ...
- 论文翻译:Data mining with big data
原文: Wu X, Zhu X, Wu G Q, et al. Data mining with big data[J]. IEEE transactions on knowledge and dat ...
- Understanding Variational Autoencoders (VAEs)
Understanding Variational Autoencoders (VAEs) 2019-09-29 11:33:18 This blog is from: https://towards ...
- (转) [it-ebooks]电子书列表
[it-ebooks]电子书列表 [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...
- Magic Quadrant for Security Information and Event Management
https://www.gartner.com/doc/reprints?id=1-4LC8PAW&ct=171130&st=sb Summary Security and risk ...
随机推荐
- 理解ASP.NET Core - 模型绑定&验证(Model Binding and Validation)
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 模型绑定 什么是模型绑定?简单说就是将HTTP请求参数绑定到程序方法入参上,该变量可以是简单类 ...
- 数据存储SharePreferences详解
1.SharedPreferences存储 SharedPreferences时使用键值对的方式来存储数据的,也就是在保存一条数据时,需要给这条数据提供一个对应的键,这样在读取的时候就可以通过这个键把 ...
- Linux基础命令---mysql
mysql mysql是一个简单的sql shell,它可以用来管理mysql数据库. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora. 1.语法 m ...
- Linux基础命令---wget下载工具
wget wget是一个免费的文件下载工具,可以从指定的URL下载文件到本地主机.它支持HTTP和FTP协议,经常用来抓取大量的网页文件. 此命令的适用范围:RedHat.RHEL.Ubuntu.Ce ...
- Linux学习 - 文件特殊权限
一.SUID权限(只针对文件) 只有可执行的二进制程序才能设定SUID权限 命令执行者要对该程序拥有x(执行)权限 1 拥有SUID的文件 /usr/bin/passwd 2 功能: 命令执行者(其他 ...
- Selenium和PhantomJS
Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上, ...
- 【C/C++】例题 4-2 刽子手游戏/算法竞赛入门经典/函数和递归
[题目] 猜单词游戏. 计算机想一个单词让你猜,你每次猜一个字母. 如果单词里有那个[字母],[所有该字母会显示出来]. 如果没有那个字母,算猜错一次.[最多只能猜错六次] 猜一个已经猜过的字母也算错 ...
- 前端避坑指南丨辛辛苦苦开发的 APP 竟然被判定为简单网页打包?
传统混合移动App开发模式,通常会使用WebView作为桥接层,但随着iOS和Android应用商店审核政策日趋严格,有时会被错误判定为简单网页打包成App,上架容易遭到拒绝. 既然可能存在风险,那我 ...
- Mysql资料 查询SQL执行顺序
目录 一.Mysql数据库查询Sql的执行顺序是什么? 二.具体顺序 一.Mysql数据库查询Sql的执行顺序是什么? (9)SELECT (10) DISTINCT column, (6)AGG_F ...
- shell脚本 微信/钉钉验证登录服务器
一.简介 登录用户需要二次验证码进行验证 可以配合 监控用户登录,发送通知给企业微信/钉钉 来使用 脚本放到/etc/profile.d/ 目录,登录的时候自动触发 二.微信脚本 1.需要修改Crop ...