机器学习笔记:VAE
1 VAE 介绍
在机器学习笔记:auto encoder_UQI-LIUWJ的博客-CSDN博客 中,我们知道了auto-encoder。但是auto-encoder有一个不足之处,就是因为auto-encoder不是一个概率模型,所以没法从学习的模型中生成新的数据,或者说我们train了一个模型,得到的输出是固定不变的。
在这种情况下VAE就诞生了:它可以
1)从原始数据中学习特征表示向量z
2)可以从模型中生成新的数据
作用(2)是auto-encoder中所不具备的
2 decoder介绍
训练完成后,decoder可以是这样的:
我们知道z的先验概率,decoder又学习了一个从z到x的条件概率,那么我们就可以求得x的概率,然后进行采样即可
更进一步说,decoder需要学习到x|z的均值和方差,这样才可以预测p(x|z)
2.1 decoder 训练
那么,如何训练这个模型呢?基本想法是最大化数据的概率
其中的计算可以由下获得:
- 是由decoder获得
- 是由z的先验概率求得(我们这里认为z满足高斯分布)
- 至于,我们可以由encoder获得
3 encoder 与 decoder
于是我们有:
4 目标函数推导
(贝叶斯法则)
(分子分母同乘)
(log的规则)
而我们知道,x最终的分布和z是无关的。因此有:
于是:
(取期望)
(KL散度见:NTU 课程 CE7454:信息论概述_UQI-LIUWJ的博客-CSDN博客 )
而因为KL散度是大于等于0的,所以我们可以去掉最后一项,这样可以得到一个下界:
分别是encoder学习的效果和decoder学习的效果
5 VAE举例
从 encoder的输出(均值,方差)到decoder的输入的过程,是一个采样的过程;decoder的输出也是一个采样的过程,因此每一次VAE的输出都不一样。这样就可以生成不同的新数据了
6 VAE的流程
6.1 training
我们一步一步再看一遍:
通过最大化的概率,对encoder和decoder的参数进行优化
6.2 generating data
机器学习笔记:VAE相关推荐
- 李弘毅机器学习笔记:第十三章—CNN
李弘毅机器学习笔记:第十三章-CNN 为什么用CNN Small region Same Patterns Subsampling CNN架构 Convolution Propetry1 Propet ...
- 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01
@[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...
- 机器学习笔记之前馈神经网络(一)基本介绍
机器学习笔记之前馈神经网络--基本介绍 引言 从机器学习到深度学习 频率学派思想 贝叶斯学派思想 深度学习的发展过程 引言 从本节开始,将介绍前馈神经网络. 从机器学习到深度学习 在机器学习笔记开始- ...
- 一份520页的机器学习笔记!附下载链接
点击上方"视学算法",选择"星标"公众号 第一时间获取价值内容 近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 52 ...
- 700 页的机器学习笔记火了!完整版开放下载
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 作者 梁劲(Jim Liang),来自SAP(全球第一大商业软件公司). 书籍特点 条理清晰 ...
- 机器学习笔记十四:随机森林
在上一篇机器学习笔记十三:Ensemble思想(上)中,简要的提了一下集成学习的原理和两种主要的集成学习形式. 而在这部分要讲的随机森林,就算是其中属于bagging思路的一种学习方法.为了篇幅,b ...
- 机器学习笔记七:损失函数与风险函数
一.损失函数 回顾之前讲过的线性回归模型,我们为了要学习参数使得得到的直线更好的拟合数据,我们使用了一个函数 这个函数就是比较模型得到的结果和"真实值"之间的"差距&qu ...
- 吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection)
吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection) 对于异常检测算法,使用特征是至关重要的,下面谈谈 ...
- Python机器学习笔记:sklearn库的学习
自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法.还包括了特征提取,数据 ...
最新文章
- HTML让文字在界面居中,HTML怎么让文字居中
- 搜狗浏览器收藏夹在哪_是时候换个快速安全的浏览器了,这一次它一定不负众望...
- Java进阶:ReentrantLock和Condition基本使用
- Spring的事务属性
- 高并发C/S的TCP版本golang实现
- 2012年最后一天,终于盼到公司发报卡了
- 2023年多播ABR市场将达8亿美元
- 详解GaussDB(DWS) explain分布式执行计划
- 在linux中 如何创建磁盘配额,如何在Linux系统中配置磁盘配额?
- python定义一个circle类、根据圆的半径_定义一个“圆”类Circle,该圆类的数据成员包括:圆心点位置及圆的半径...
- iSPRINT:Google 最高能的创新加速课程,产品一次就成的助推器!
- 【优化算法】粒子群工具箱函数优化算法【含Matlab源码 1126期】
- 信息安全与密码学概论
- 【源码】广义逻辑分布(GLO)库
- xxl子任务_XXL-JOB(1) 分布式任务系统选型和XXL-JOB介绍
- 2022北京冬奥会开幕式视觉盛宴技术揭晓
- Latex排版技巧汇总
- 动网论坛8.2经典注入漏洞利用
- clamav完整查杀linux病毒实战
- 合租限女生是性别歧视吗? | Alfred数据室
热门文章
- SpringMVC学习笔记四:数据绑定
- 《github一天一道算法题》:插入排序
- DSP/BIOS实时操作系统中PIP对象多任务间传递数据示例程序
- Java多线程详解[狂神说Java]
- matlab绘图标题含有n=变量的方法(类似c语言)
- 如何选购晨检机器人_扫地机器人好不好用?如何选购?答案在这
- php cgi漏洞,CGI漏洞攻击合集上
- swift 同步 网络请求_IOS开发中异步网络请求上实现同步逻辑
- netcore更新dll要停止_使 .NET Core 应用程序容器化
- php制作表格生成器,php表格生成图片.doc