目录

  • 统计推断的根源
  • 精确推断与近似推断
  • 扩展:变分法和变分推断的关系

统计推断的根源

对于统计推断的根源,先回顾贝叶斯公式:
p(θ∣x)=p(x∣θ)p(θ)p(x)p(\theta|x)=\frac{p(x|\theta)p(\theta)}{p(x)}p(θ∣x)=p(x)p(x∣θ)p(θ)​
其中,θ\thetaθ是模型的参数(注意贝叶斯流派认为一切皆随机变量),p(θ)p(\theta)p(θ)是事先给定的参数的经验分布,p(x∣θ)p(x|\theta)p(x∣θ)是似然,p(x)p(x)p(x)是观测变量的概率,在某个给定的试验背景下,是一个常数,可以计算为:
p(x)=∫θp(x∣θ)p(θ)dθp(x)=\int_{\theta}p(x|\theta)p(\theta)d\thetap(x)=∫θ​p(x∣θ)p(θ)dθ
基于上述的贝叶斯公式,引出两个新概念:

  • 贝叶斯推断:利用贝叶斯公式计算后验概率p(θ∣x)p(\theta|x)p(θ∣x);
  • 贝叶斯决策:在已有NNN个样本XXX的基础上,计算出现新增样本x^\widehat{x}x的概率:p(x^∣X)p(\widehat{x}|X)p(x∣X),我们将模型参数θ\thetaθ作为变换的桥梁即有:
    p(x^∣X)=∫θp(x^,θ∣X)dθ=∫θp(x^∣θ)p(θ∣X)dθp(\widehat{x}|X)=\int_{\theta}p(\widehat{x},\theta|X)d\theta=\int_{\theta}p(\widehat{x}|\theta)p(\theta|X)d\thetap(x∣X)=∫θ​p(x,θ∣X)dθ=∫θ​p(x∣θ)p(θ∣X)dθ可以看出贝叶斯决策的关键,需要先获得后验分布p(θ∣X)p(\theta|X)p(θ∣X),再计算p(x^∣θ)p(\widehat{x}|\theta)p(x∣θ)关于p(θ∣X)p(\theta|X)p(θ∣X)的期望。

因此,计算后验分布会是各种工作的重要环节,也就是推断(inference)的过程。

精确推断与近似推断

在一些简单的情况下,后验分布可以直接计算精确的解析解,称之为精确推断,但是这种方法对参与贝叶斯公式的分布要求严格,比如高斯分布,我们可以通过公式就得到结果高斯分布的均值与方差。

但实际情况往往复杂,没有办法直接计算后验分布的解析解,因此只能用近似的方法得到后验分布,即近似推断。近似推断又分为两大类:

  • 确定性近似:变分推断;
  • 随机近似:MCMC(Markov Chain Monte Carlo),在实际问题中,随机近似用途更广泛。

本篇先讨论变分推断,我们的目的是找到一个分布Q(θ)Q(\theta)Q(θ)逼近一个没有办法找到解析解的后验分布p(θ∣X)p(\theta|X)p(θ∣X),变分推断之所以称为确定性近似,是因为虽然结果不精确,但依然可以拿到一个解析解的形式。

我们令XXX是观测数据,θ\thetaθ是参数,可以得到:
p(X,θ)=p(X)p(θ∣X)⇒p(X)=p(X,θ)p(θ∣X)⇒p(X,\theta)=p(X)p(\theta|X)\Rightarrow p(X)=\frac{p(X,\theta)}{p(\theta|X)}\Rightarrow p(X,θ)=p(X)p(θ∣X)⇒p(X)=p(θ∣X)p(X,θ)​⇒log[p(X)]=log[p(X,θ)]−log[p(θ∣X)]log[p(X)]=log[p(X,\theta)]-log[p(\theta|X)]log[p(X)]=log[p(X,θ)]−log[p(θ∣X)]
我们引入q(θ)q(\theta)q(θ)近似目标后验分布p(θ∣X)p(\theta|X)p(θ∣X):
log[p(X)]=(log[p(X,θ)]−log[q(θ)])−(log[p(θ∣X)]−log[q(θ)])log[p(X)]=(log[p(X,\theta)]-log[q(\theta)])-(log[p(\theta|X)]-log[q(\theta)])log[p(X)]=(log[p(X,θ)]−log[q(θ)])−(log[p(θ∣X)]−log[q(θ)])=logp(X,θ)q(θ)−logp(θ∣X)q(θ)=log\frac{p(X,\theta)}{q(\theta)}-log\frac{p(\theta|X)}{q(\theta)}=logq(θ)p(X,θ)​−logq(θ)p(θ∣X)​
我们现在得到一个等式:
log[p(X)]=logp(X,θ)q(θ)−logp(θ∣X)q(θ)log[p(X)]=log\frac{p(X,\theta)}{q(\theta)}-log\frac{p(\theta|X)}{q(\theta)}log[p(X)]=logq(θ)p(X,θ)​−logq(θ)p(θ∣X)​
其实对于这个式子,在EM算法中已经见过,所以在这里的处理方法类似,对左右两边同时乘以q(θ)q(\theta)q(θ)并求积分:

  • 左边式子为:
    ∫θlog[p(X)]q(θ)dθ=log[p(X)]∫θp(θ)dθ=log[p(X)]\int_{\theta}log[p(X)]q(\theta)d\theta=log[p(X)]\int_{\theta}p(\theta)d\theta=log[p(X)]∫θ​log[p(X)]q(θ)dθ=log[p(X)]∫θ​p(θ)dθ=log[p(X)]
  • 右边式子为:
    ∫θq(θ)logp(X,θ)q(θ)dθ−∫θq(θ)logp(θ∣X)q(θ)dθ=∫θq(θ)logp(X,θ)q(θ)dθ+∫θq(θ)logq(θ)p(θ∣X)dθ\int_{\theta}q(\theta)log\frac{p(X,\theta)}{q(\theta)}d\theta-\int_{\theta}q(\theta)log\frac{p(\theta|X)}{q(\theta)}d\theta=\int_{\theta}q(\theta)log\frac{p(X,\theta)}{q(\theta)}d\theta+\int_{\theta}q(\theta)log\frac{q(\theta)}{p(\theta|X)}d\theta∫θ​q(θ)logq(θ)p(X,θ)​dθ−∫θ​q(θ)logq(θ)p(θ∣X)​dθ=∫θ​q(θ)logq(θ)p(X,θ)​dθ+∫θ​q(θ)logp(θ∣X)q(θ)​dθ

对于右边式子,注意两项,我们作以下标记:
L(q)=∫θq(θ)logp(X,θ)q(θ)dθL(q)=\int_{\theta}q(\theta)log\frac{p(X,\theta)}{q(\theta)}d\thetaL(q)=∫θ​q(θ)logq(θ)p(X,θ)​dθKL(q∣∣p)=∫θq(θ)logq(θ)p(θ∣X)dθKL(q||p)=\int_{\theta}q(\theta)log\frac{q(\theta)}{p(\theta|X)}d\thetaKL(q∣∣p)=∫θ​q(θ)logp(θ∣X)q(θ)​dθ
其中,KL(q∣∣p)KL(q||p)KL(q∣∣p)是KL散度的定义,描述了q(θ)q(\theta)q(θ)和p(θ∣X)p(\theta|X)p(θ∣X)两个分布的距离,并且KL(q∣∣p)≥0KL(q||p)\geq 0KL(q∣∣p)≥0,因此有:
log[p(X)]=L(q)+KL(q∣∣p)log[p(X)]=L(q)+KL(q||p)log[p(X)]=L(q)+KL(q∣∣p)
对于log[p(X)]log[p(X)]log[p(X)],可以视为与参数θ\thetaθ无关的量,当XXX固定时,log[p(X)]log[p(X)]log[p(X)]的值也就固定,由于KL(q∣∣p)≥0KL(q||p)\geq 0KL(q∣∣p)≥0,因此L(q)L(q)L(q)的取值上限就是log[p(X)]log[p(X)]log[p(X)],于是我们让L(q)L(q)L(q)取到最大,从而迫使KL(q∣∣p)=0KL(q||p)=0KL(q∣∣p)=0。当KL散度为0时,也就代表q(θ)q(\theta)q(θ)近似等于p(θ∣X)p(\theta|X)p(θ∣X)。

扩展:变分法和变分推断的关系

首先,我现在简要介绍变分,对于普通的函数f(x)f(x)f(x),我们可以认为fff是一个关于xxx的一个算子,其作用是将xxx映射到f(x)f(x)f(x)。那么类比这种模式,假设存在函数算子FFF,它是关于f(x)f(x)f(x)的函数算子,可以将f(x)f(x)f(x)映射成F(f(x))F(f(x))F(f(x));

而变分指的是泛函的变分,泛函就是上面提到的函数的函数,一般,泛函空间的自变量我们称为宗量(自变函数),当宗量变化了一点微小量而导致了泛函值变化了多少,这就是变分(这可以与微积分中的函数微分进行对比,只是自变量换成了宗量);

而回顾上面的变分推断,我们的目标是最大化L(q)L(q)L(q),也就是要先找到L(q)L(q)L(q)的极值,所以我要先针对泛函L(q)L(q)L(q)计算它的变分,在微积分中可以理解为导数,我们在变分为0时,就找到了泛函的极值,也就是让泛函最优的宗量q(θ)q(\theta)q(θ),这就是变分推断中变分的意义

第十二课.统计推断的基本思想相关推荐

  1. 第十二课 Java基础篇——面向对象进阶(一)

    一.Static static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量 静态变量是随着类的加载而加载的,优先于对象出现的 练习1.定义数组工具类 需求:在实际开发中,经常会遇到一 ...

  2. Kali Linux Web 渗透测试— 第十二课-websploit

    Kali Linux Web 渗透测试- 第十二课-websploit 文/玄魂 目录 Kali Linux Web 渗透测试- 第十二课-websploit..................... ...

  3. C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值

    C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值 using System; using System.Collections.G ...

  4. NeHe OpenGL第三十二课:拾取游戏

    NeHe OpenGL第三十二课:拾取游戏 拾取, Alpha混合, Alpha测试, 排序: 这又是一个小游戏,交给的东西会很多,慢慢体会吧   欢迎来到32课. 这课大概是在我所写作已来最大的一课 ...

  5. 《SQL必知必会》学习笔记——第十二课 连结表

    第十二课 连结表 一.创建连结 SELECT inf.id, age, rank FROM inf,score WHERE inf.id = score.id; 注意 WHERE inf.id = s ...

  6. 量化交易 第十二课 因子数据处理之市值中性化

    第十二课 因子数据处理之市值中性化 概述 市值影响 怎么去除市值影响 回归法 简介 流程分析 代码实现 概述 众所周知, 行业和市值是两个十分显著对因子有影响力的因素. 在进行截面回归判断每个单因子的 ...

  7. OpenGL教程翻译 第二十二课 使用Assimp加载模型

    第二十二课 使用Assimp加载模型 原文地址:http://ogldev.atspace.co.uk/(源码请从原文主页下载) 背景 到现在为止我们都在使用手动生成的模型.正如你所想的,指明每个顶点 ...

  8. 手把手教你读财报---银行业---第十二课

    第十二课  风险加权资产 风险的种类: 银行是经营风险的,巴塞尔委员会根据银行的业务特征和风险诱发原因,将银行面临的风险划分为:信用风险.市场风险.操作风险.流动性风险.法律风险.声誉风险.国别风险以 ...

  9. python血条游戏代码_零基础快速学十二课Python完整游戏代码,使用「格式符%」来处理...

    十二课Python不同数据类型的拼接方式,使用[格式符%]来处理 不过它还没有全部解决:打印出每局结果,三局两胜打印最终战果.这就是版本3.0需要做的事情. 打印战果,三局两胜. 对比2.0版本,在3 ...

最新文章

  1. ERP_基于Oracle SOA的企业服务总线整合
  2. 我的runtime学习笔记
  3. Exploration(POJ-3618)
  4. 5kb大小的云洗衣机HTML源码 朋友圈在线洗衣服
  5. Ubuntu下登陆远程postgresql数据库
  6. 还原python源码_python 的混淆后的代码可以还原么
  7. 【BZOJ4566】[Haoi2016]找相同字符 后缀数组+单调栈
  8. FreeRTOS 任务调度 任务切换
  9. 折腾开源WRT的AC无线路由之路-3
  10. excel中怎么拆分表格
  11. 到处excel表格的数据和页面的数据不一致
  12. 宠物商店信息管理系统
  13. 双亲委派机制以及打破双亲委派机制
  14. web系统中的结构化数据标记
  15. 如何使用cocos2dx 制作一个多向滚屏坦克类射击游戏-第二部分
  16. warning: this decimal constant is unsigned only in ISO C90问题的处理及理解
  17. 计算机毕业设计Java保险公司风险测评管理系统(源码+系统+mysql数据库+lw文档)
  18. 新品解读 | 融云超级群何以「超级」?
  19. 信息学奥赛一本通-1404我家的门牌号
  20. JavaScript生成验证码

热门文章

  1. 系统架构性能问题诊断及优化思路,纯干货!
  2. 面了个 32+ 岁 Java 大佬,一言难尽......
  3. 张一鸣宣布卸任字节CEO!网友:完不成OKR被优化了!
  4. 缓存与库先写哪个,这十几张图告诉你
  5. 面试官:说说你知道的几种负载均衡分类
  6. 【高并发】一个工作了7年的朋友去面试竟然被Thread类虐的体无完肤
  7. AI 时代,还不了解大数据?
  8. 新晋技术Leader每天996,CTO却给他绩效打C,留下一句话...
  9. 来客推多用户商城源码哪里下载?多用户多商城模式有哪些盈利模式?
  10. 通俗理解卡尔曼滤波及其算法实现(实例解析)