机器学习中的概率模型和概率密度估计方法及VAE生成式模型详解之一(简介)

A Gentle Introduction to Probabilistic Modeling and Density Estimation in Machine Learning

And

A Detailed Explanation of Variational Auto-Encoder

by

Jiyang Wang

[email protected]

Github.com/2wavetech

简介

非监督机器学习(Unsupervised Machine Learning)中的数据分布密度估计(Density Estimation)、样本采样(Sampling)与生成(Generation,或Synthesis,即合成)等几类任务具有重要的应用价值,这从近年来生成对抗网络(GAN)的流行就可以看出。完成这类任务的模型称为生成式模型(Generative Model)。其实,另一种比GAN更早一点儿出现的生成式模型,即差分自编码器(VAE),具有同样的理论意义和实用价值。
但要彻底搞懂VAE的思想脉络,需要具有比较多的概率论、信息论、概率图模型和机器学习的知识。本文将从与VAE有关的基本概念开始,逐步深入,详细解读VAE。已经知道这些基础知识的读者可以略过本文中的相应部分的内容。这里介绍的基础知识和概念针对VAE的内容作了简化,也未刻意追求数学上的严密性,这一点需要注意。想全面深入了解这些内容的读者可以很容易找到专门的书籍或文章,比如由Ian Goodfellow、YoshuaBengio和Aaron Courville写的新书《Deep Learning》很全面地介绍了深度学习所使用的基础知识,在网上可以免费阅读(http://www.deeplearningbook.org/)。本文适合那些具有入门级的机器学习和最基本的概率论知识的读者阅读。
本文第一章先简要说明模型、模型对概率分布的表达、以及概率模型的建模方法。第二章 介绍分布密度估算的采样方法,主要内容是MCMC算法。第三章介绍分布密度估算的优化方法,包括EM算法和VB算法。第四章详细解释自编码VB方法及VAE模型。第五章是总结。本文实现的CVAE模型使用了Python语言及Keras/TensorFlow。

版权声明:任何引用本博客的内容,请注明出处。 http://blog.51cto.com/13811808

原文地址:http://blog.51cto.com/13811808/2130271

时间: 2024-10-10 17:42:38

机器学习中的概率模型和概率密度估计方法及VAE生成式模型详解之一(简介)的相关文章

【Android语音合成TTS】百度语音接入方法,和使用技巧详解

请尊重他人的劳动成果,转载请注明出处:[Android语音合成TTS]百度语音接入方法,和使用技巧详解 Ps. 依托于百度开放云,百度语音为合作伙伴提供了业界领先.永久免费的语音技术服务,目前已上线的服务包括语音识别.语义解析.语音合成,后续会继续带来开放资源.多轮对话等技术服务:通过SDK.REST API及离线开发包等多种服务方式,满足不同开发者的开发需求. 目前百度语音提供免费的语音接入,语音合成质量尚可,但还没开放离线TTS. 服务接入流程 具体详情可查看:http://yuyin.ba

【转】web.xml 中的listener、 filter、servlet 加载顺序及其详解

web.xml 中的listener. filter.servlet 加载顺序及其详解 原文链接 http://www.cnblogs.com/JesseV/archive/2009/11/17/1605015.html 在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filt

web.xml 中的listener、 filter、servlet 加载顺序及其详解

转自:http://zhxing.iteye.com/blog/399668 在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.最终得出的结论是:listener -> filter -> servlet 同

ThinkPHP中视图模型详解.

很多TP的新手对于模型中的视图模型不甚了解,官方虽然有详细手册,但是对于初学者来说还是比较难以理解! 先简单说一下视图模型所能实现的功能,基本就是主表与副表之间各个字段的关联问题,实现多表关联查询,相对于使用原生SQL语句来说,着实是简单不少. 首先在数据表初始化的时候,用的不是传统的M('User'),在视图模型中使用的是D('UserView'),如下图: 需要主要的是几个单词的首字母大写. 之后在Lib/Model目录中新建名为XXXViewModel.class.php(XXX为任意控制

【翻译】Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解)

[翻译]Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解) . . .

机器学习中常见的过拟合解决方法

在机器学习中,我们将模型在训练集上的误差称之为训练误差,又称之为经验误差,在新的数据集(比如测试集)上的误差称之为泛化误差,泛化误差也可以说是在模型在总体样本上的误差.对于一个好的模型应该是经验误差约等于泛化误差,也就是经验误差要收敛于泛化误差,根据霍夫丁不等式可知经验误差在一定条件下是可以收敛于泛化误差的. 当机器学习模型对训练集学习的太好的时候(再学习数据集的通性的时候,也学习了数据集上的特性,这些特性是会影响模型在新的数据集上的表达能力的,也就是泛化能力),此时表现为经验误差很小,当往往此

机器学习中防止过拟合的处理方法

原文地址:一只鸟的天空,http://blog.csdn.net/heyongluoyao8/article/details/49429629 防止过拟合的处理方法 过拟合 ??我们都知道,在进行数据挖掘或者机器学习模型建立的时候,因为在统计学习中,假设数据满足独立同分布(i.i.d,independently and identically distributed),即当前已产生的数据可以对未来的数据进行推测与模拟,因此都是使用历史数据建立模型,即使用已经产生的数据去训练,然后使用该模型去拟合

(转载)web.xml 中的listener、 filter、servlet 加载顺序及其详解

首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.  但不会因为 filter 写在 listener 的前面而会先加载 filter.  最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息.我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是

(转)web.xml 中的listener、 filter、servlet 加载顺序及其详解

在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 Servlet