上一期为大家说明了什么是无监督生成模型。在无监督生成模型中,极大似然法一直扮演着非常核心的位置,我们必须对它有深刻的理解,本期小米粥将为大家讲一下极大似然法的那些事情。

作者&编辑 | 小米粥

1 一个小游戏:取球猜概率

我们先来看一个简单有趣的例子。一个盒子中有黑色、白色两种颜色的球,然后你从盒子中取出一个球,记下其颜色,将球放回到盒子里,再取出一个球记录其颜色......重复1000次上述操作,这时你发现黑球出现了600次,白球出现了400,那我若问你盒子中黑球的概率是多少?你会不假思索回答:0.6。

我们对上述回答进行几个讨论。首先,0.6的答案是否正确?可以明确的是,这不是一个严谨的答案,若盒子中黑球的概率不是0.6而是0.5,0.4甚至0.0001,也有可能在1000次的取球中出现600次黑球,400次白球的情况,只不过黑球概率越偏离0.6,出现这样情况的可能性越小,故严谨的回答是:黑球概率最可能是0.6。这便是一个简单的使用极大似然的场景,根据黑白球的出现情况去对黑球概率这个参数进行估计,做估计的依据是:概率是什么数值时最符合当前的情况,即当前情况的可能性最大,换成数学点的语言就是似然极大。因为黑球概率为0.6时最可能出现这样的情况,故“盲猜”为0.6。需要说明的是,我们仅将讨论范围限制在频率学派,并不涉及贝叶斯学派的想法。

第二个讨论是,如果小明想复刻一个完全一样的盒子,需要怎么做?有放回地取1000次球,发现黑球出现了600次,白球出现了400,然后使用极大似然法估计黑球出现概率为0.6,接着他可以在盒子里放置若干数量的球,将黑球概率调整为0.6。其实他已经搭建了一个生成模型,他从训练数据集中估计出了黑球概率这个参数,接着调整盒子中黑球的数量,然后以后需要产生样本时,只需在他复刻的盒子中有放回采样即可。这只是一个十分简单的例子,实际使用极大似然法时要复杂得多,但是其本质是一样的。

2 极大似然法

在生成模型中,概率密度函数p(x)一直扮演着核心的位置。对于一批从pdata(x)中独立采样得到的训练样本集x(1),x(2)...x(N),(注意我们要求训练样本集的数据是独立同分布的),我们希望用训练数据来训练一个生成模型pg(x),这个生成模型可以显式或隐式地学习到数据的分布pdata(x)或者获得pg(x)的(近似)表达式,即pdata(x) ≈pg(x)。接下来在推断过程中,可以通过在pg(x)上显式或隐式地采样而得到一批样本,并且使获得的样本(近似)符合概率分布pdata(x)。

我们先介绍使用极大似然估计的生成模型,充分理解极大似然原理对理解生成模型有非常重要的意义。需要说明,并不是所有的生成模型都使用极大似然法,有些生成模型默认不使用极大似然法, 但是也可以做一些修改令其使用最大似然法 (GAN就属于这一类)。

极大似然估计是对概率模型参数进行估计的一种方法,例如有一个包含N个样本的数据,数据集中每个样本都是从某个未知的概率分布pdata(x)中独立采样获得的,若我们已经知道pg的形式,但是pg的表达式里仍包含未知参数θ,那问题就变成了:如何使用数据集来估算pg(x)中的未知参数θ?例如 pg(x) 是一个均值和方差参数还未确定的正态分布,那么如何用样本估计均值和方差的准确数值?

在极大似然法中,首先使用所有样本计算似然函数L(θ):

似然函数是一个关于模型参数θ的函数,当选择不同的参数θ时,似然函数的值是不同的,它描述了在当前参数θ下,使用模型分布pg(x;θ)产生数据集中所有样本的概率。一个朴素的想法是:在最好的模型参数θML下,产生数据集中的所有样本的概率是最大的,即

但实际在计算机中,多个概率的乘积结果并不方便储存,例如计算过程中可能发生数值下溢的问题,即对比较小的、接近于0的数进行四舍五入后成为0。我们可以对似然函数取对数来缓解该问题,即log[L(θ)],并且仍然求解最好的模型参数θML使对数似然函数最大,即

可以证明两者是等价的,但是将似然函数取对数后会把概率乘积形式转换为对数求和的形式,大大方便了计算。将其展开后,有

可以发现,使用极大似然估计时,每个样本xi都希望拉高它所对应的模型概率值pg(x(i);θ),如图所示,但是由于所有样本的密度函数pg(x(i);θ)的总和必须是1,所以不可能将所有样本点都拉高到最大的概率;一个样本点的概率密度函数值被拉高将不可避免的使其他点的函数值被拉低,最终的达到一个平衡态。

我们也可以将上式除以N,便可以看到极大似然法最大化的目标是在经验分布下样本概率对数的期望值,即

另一种对极大似然估计的理解是:极大似然估计本质在最小化训练集上的经验分布和模型分布pg(x;θ)之间的KL散度值,即

而KL散度的表达式为

由于θ值与第一项无关,故只考虑第二项,有

可以发现两者是完全一样的,也就是说极大似然估计就是希望 pg(x;θ) 和pdata(x)尽量相似,最好相似到无任何差异(KL散度值为0),这与生成模型的思想是一致的。但实际的生成模型一般不可能提前知道pg(x;θ)的表达式形式而只需要估计表达式中的参数,实际中的生成模型非常复杂,往往对pg(x;θ)无任何先验知识,只能对其进行一些形式上的假设或近似。

很多生成模型可以使用最大似然的原理进行训练。只要得到关于参数θ的似然函数L(θ)后,我们只需最大化似然函数即可,只是不同模型的差异在于如何表达或者近似似然函数L(θ)。下图的左边分支均为显式概率模型,其中完全可见置信网络模型对pg(x;θ)做出了形式上的假设,而流模型则通过定义一个非线性变换给出了pg(x;θ)的表达式,这两个模型其实都给出了似然函数L(θ)的确定表达式;而变分自编码器模型则采用近似的方法,只获得了对数似然函数log[L(θ)]的一个下界,通过最大化该下界近似地实现最大似然;玻尔兹曼机使用马尔科夫链对似然函数的梯度进行了近似。接下来,我们将分别介绍这些模型,并讨论他们的优缺点。

[1] 伊恩·古德费洛, 约书亚·本吉奥, 亚伦·库维尔. 深度学习

[2]李航. 统计机器学习

总结

本期带大家学习了非常有用的极大似然法,它对于我们深刻理解生成模型有非常重要的意义。下一期我们将对完全可见置信网络进行探讨。

个人知乎,欢迎关注

GAN群

有三AI建立了一个GAN群,便于有志者相互交流。感兴趣的同学也可以微信搜索xiaozhouguo94,备注“加入有三-GAN群”。

更多GAN的学习

知识星球是有三AI的付费内容社区,里面包超过100种经典GAN模型的解读,了解详细请阅读以下文章:

【杂谈】有三AI知识星球指导手册出炉!和公众号相比又有哪些内容?

有三AI秋季划GAN学习小组,可长期跟随有三学习GAN相关的内容,并获得及时指导,了解详细请阅读以下文章:

【杂谈】如何让2020年秋招CV项目能力更加硬核,可深入学习有三秋季划4大领域32个方向

转载文章请后台联系

侵权必究

往期精选

  • 【GAN优化】GAN优化专栏上线,首谈生成模型与GAN基础

  • 【GAN的优化】从KL和JS散度到fGAN

  • 【GAN优化】详解对偶与WGAN

  • 【GAN优化】详解SNGAN(频谱归一化GAN)

  • 【GAN优化】一览IPM框架下的各种GAN

  • 【GAN优化】GAN优化专栏栏主小米粥自述,脚踏实地,莫问前程

  • 【GAN优化】GAN训练的几个问题

  • 【GAN优化】GAN训练的小技巧

  • 【GAN优化】从动力学视角看GAN是一种什么感觉?

  • 【GAN优化】小批量判别器如何解决模式崩溃问题

  • 【GAN优化】长文综述解读如何定量评价生成对抗网络(GAN)

  • 【技术综述】有三说GANs(上)

  • 【模型解读】历数GAN的5大基本结构

  • 【百战GAN】如何使用GAN拯救你的低分辨率老照片

  • 【百战GAN】二次元宅们,给自己做一个专属动漫头像可好!

  • 【百战GAN】羡慕别人的美妆?那就用GAN复制粘贴过来

  • 【百战GAN】GAN也可以拿来做图像分割,看起来效果还不错?

  • 【百战GAN】新手如何开始你的第一个生成对抗网络(GAN)任务

  • 【百战GAN】自动增强图像对比度和颜色美感,GAN如何做?

  • 【直播回放】80分钟剖析GAN如何从各个方向提升图像的质量

  • 【直播回放】60分钟剖析GAN如何用于人脸的各种算法

【生成模型】极大似然估计,你必须掌握的概率模型相关推荐

  1. 似然函数的意义与极大似然估计

    什么是概率? 简单来说,概率是一个函数,定义域是样本空间,满足非负性,规范性,可列可加性. 严格的公理化定义如下: 概率可以做什么?统计又可以做什么? 什么是先验概率,后验概率,似然? 先验概率:根据 ...

  2. 一文看懂 “极大似然估计” 与 “最大后验估计” —— 极大似然估计篇

    参考: 唐宇迪<人工智能数学基础>第8章 Richard O. Duda <模式分类>第三章 白板机器学习 P2 - 频率派 vs 贝叶斯派 频率学派还是贝叶斯学派?聊一聊机器 ...

  3. 千字讲解极大似然估计

    上周有读者私信我说,面试被问到了极大似然估计没回答出来,虽然网上有很多讲解,但是不大能看得懂,而且有一些疑问没有解释清楚.经过一周的撰写,今天困哥就专门整理了一篇数千字的文章,来详细介绍一下极大似然估 ...

  4. 干货 | 一文搞懂极大似然估计

    极大似然估计,通俗理解来说,就是在假定整体模型分布已知,利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值! 换句话说,极大似然估计提供了一种给定观察数据来评估模型参数 ...

  5. 零基础掌握极大似然估计

    零基础掌握极大似然估计 https://mp.weixin.qq.com/s/v98qGCz_qN_73hnYKrCQFw 1极大似然估计 极大似然估计,通俗理解来说,就是在假定整体模型分布已知,利用 ...

  6. 极大似然估计_计量经济学 | 极大似然估计

    写在前面:本文写作于被新冠病毒 (COVID-19) 笼罩下的英国.前段时间本人的恩师.苏格兰老爷爷.英国伯明翰大学Emeritus讲席教授Peter Sinclair确诊新冠病毒,实乃不幸.在此祝P ...

  7. 【数学基础】参数估计之极大似然估计

    背景 先来看看几个小例子: 猎人师傅和徒弟一同去打猎,遇到一只兔子,师傅和徒弟同时放枪,兔子被击中一枪,那么是师傅打中的,还是徒弟打中的? 一个袋子中总共有黑白两种颜色100个球,其中一种颜色90个, ...

  8. 伽马分布极大似然估计_一文通俗解释极大似然估计

    我们都知道机器学习的大致流程是通过建立一个合理的模型学习现有数据集,然后通过该模型去完成特定的任务.其中每个模型都包含自身的一组特定参数,而这组参数决定着模型的本身.但这里存在一个很关键的一个问题,就 ...

  9. LR为什么用极大似然估计,损失函数为什么是log损失函数(交叉熵)

    首先,逻辑回归是一个概率模型,不管x取什么值,最后模型的输出也是固定在(0,1)之间,这样就可以代表x取某个值时y是1的概率 这里边的参数就是θ,我们估计参数的时候常用的就是极大似然估计,为什么呢?可 ...

  10. 机器学习笔记1.矩估计、极大似然估计。

    1.矩估计 1.1矩估计思想: 矩估计是基于一种简单的"替换"思想,即用样本矩估计总体矩 1.2矩估计理论: 矩估计的理论依据就是基于大数定律的,大数定律语言化表述为:当总体的k阶 ...

最新文章

  1. HDLBits 系列(28)PS/2 mouse protocol(PS/2 packet parser)
  2. 搜狗浏览器也可以直接安装Chrome插件,太棒了
  3. java获取tomcat目录结构_tomcat目录结构简介_动力节点Java学院整理
  4. python的django项目中怎么添加app_django下如何创建多个app并设置urls
  5. 信安教程第二版-第25章移动应用安全需求分析与安全保护工程
  6. linux版的微博客户端,Ubuntu Linux 新浪微博客户端
  7. 计算机组装与维护结构图,图解计算机组装与维护
  8. OSPF之NSSA区域
  9. 图像坐标球面投影_图像の球面投影算法
  10. 汉武帝发起的三大战役(河南、漠南、河西三大战役)
  11. android 格式化sd咔_在Android手机上永久格式化SD卡
  12. [FreeBSD] 安全加固
  13. 微信小程序时间戳转换为日期
  14. 凉面经-维恩贝特面试复盘
  15. 怎样在手机中将PPT转换成PDF
  16. 米家扫地机器人是石头代工_科沃斯投资研究报告 - 大湾区小家电分享
  17. 第九章 动态规划-1278:【例9.22】复制书稿(book)
  18. iOS代码实现布局(三)—用CocoaPods导入第三方库Masonry
  19. 几种常用的接口协议的积累,欢迎补充
  20. wordpress插件开发01-原理讲解

热门文章

  1. 30 分钟学会如何使用 Shiro
  2. Android Studio目录结构和Gradle构建Android项目
  3. 【深入Java虚拟机JVM 06】垃圾收集概述
  4. 网络编程4之UDP协议
  5. arcgis中欧氏距离操作_ArcGIS空间统计工具—平均中心与中位数中心
  6. js浮点数运算不精确 如何解决_解决 浏览器处理数字运算时精度丢失的方法
  7. MapReduce进阶:多路径输入输出
  8. 网络爬虫:采用“负载均衡”策略来优化网络爬虫
  9. mysql慢查询分析
  10. TomCat服务器和Web应用