一些杂七杂八的概率统计基础(变分推断所需)

2023-11-17

在开始之前要了解以下这个统计学中背景知识:
贝叶斯学派与频率学派(极大似然估计学派)最大的区别就是,贝叶斯学派认为参数θ不是一个确定值,而是一个随机变量,且随机变量一定是服从某个分布的。

在概率统计中,随机变量(随机数量): 变量中的值是随机现象的结果

似然是个函数!是一个已知量为观测结果未知量为参数的函数,而不是一个概率值。我们已知了观测结果就可以用参数(参数就理解为随机变量服从的某种概率分布的参数)作为未知量列一个表达式写出当前观测结果发生的一个概率。
因为后验概率=先验概率*似然函数,所以我们说得后验概率也是指一个函数并不是一个确定的概率值。
似然用来描述已知随机变量的观测结果时(如随机变量是指抛50次硬币这个事件中,抛硬币获得正面的次数,观测结果是指硬币正面朝上的次数),未知参数的可能取值。似然中就是观测(结果)是已知的,参数是未知的,最大似然估计就是用来估计模型的参数。
所谓最大似然估计就是假设硬币的参数,因为已知实验结果,然后计算实验结果的概率是多少,概率越大的那么这个假设的参数就可能越真。

提到似然就想象用高斯分布模型去理解!可以根据利用最大似然估计求解高斯分布的实例来强化理解上述内容,已知的观测就是高斯分布的x轴坐标,求解的未知参数就是高斯分布的均值和方差,具体参考下面这个链接:
https://zhuanlan.zhihu.com/p/346044291

首先最重要的是要理清算法设计的初衷和大逻辑,即EM算法和变分推断的区别:
1)首先来讲EM算法,EM算法其实就是从非完整数据集中对参数进行 MLE(极大似然估计) 。如下图所示,图中l(θ)为似然函数乘积后取对数得到的。对于没有隐变量的正常情况下,采用极大似然估计法,对下图中的l(θ)求导数并令导数等于0,得到极大值时对应的参数,然后估计出模型参数。可是对于除了含有观测变量还含有隐变量的任务来说,比如:有100个男女身高的样本数据,但是我们不知道具体每个样本来源于男生还是女生,现在需要求男生和女生的身高分别服从什么样的分布;这里样本来源于男生还是女生就是我们的样本中的缺少的观测数据,我们把它叫做隐变量。这种含有隐变量的任务采用上述直接估计参数的方法是不太方便的,因为如果对l(θ)求偏导,会发现非常困难,因为式中包含有隐变量,并且还有和(或积分)的对数,所以很难求解得到未知参数θ。所以我们需要用其它方式去解决参数估计问题。于是我们从求解一个针对已观测变量的似然转而去求解一个针对已观测变量的边际似然 ,笔者认为边际似然这个概念就类似于边缘分布的概念 (其中x就是已观测变量,z是隐变量,x的边际似然就是对应下图红框部分,分号;等价于∣这个符号),所以EM算法便诞生了。因此,EM算法用于求解当变量集合中出现未观测变量时的参数估计问题。
如下面第二张图所示,传统EM算法分为两个步骤,从这张图看出EM和Variational Inference的区别就是,传统EM算法有个先决条件就是q等于pθ(z|x)这个后验分布,说明在EM算法里提前假设了pθ(z|x)这个后验分布是tractable的,而Variational Inference设计的初衷就是为了解决pθ(z|x)是intractable这个问题,这就是两者的区别
E-step: 即“推断步”,推断隐变量z分布的期望,这一步执行之后,相当于隐变量z在某种程度上成为了一种“已观测”变量;
M-step: 即“估计步”,根据已观测变量x和在E步观测到的z进行参数估计。这里,参数估计采用“极大似然估计”
在这里插入图片描述
在这里插入图片描述

2)变分推断理解:
我们假设x是观测变量(或者叫证据变量、输入变量),z是隐变量(或者说是我们希望推断的label,在监督学习中通常用y表示,但在贝叶斯中,一般会用z表示隐变量),例如在线性回归问题中,x是线性回归模型的输入,z是线性回归模型的预测值;在图像分类问题中,x是图像的像素矩阵,z是图像的类别,即label。
假定我们用 X={x1,x2,…,xm}代表我们输入的观察量,Z={z1,z2,…,zm}代表模型中的隐藏变量,隐变量就是不可观测的变量,是服从未知概率分布,后验概率是一种条件概率,它限定了事件为隐变量取值,而条件为观测结果。一般的条件概率,条件和事件可以是任意的。 推断问题(推断指推断隐变量) 即为依据输入数据的后验条件概率分布 P(Z∣X) 。如下图公式所示,X为已知的观测数据即样本量,Z为模型的隐变量,即Z={z1,z2,…,zm}。下面这个式子称为计算Z的后验概率,其表达的意思是首先给定一个先验分布p(Z),然后在我们观测到数据X的条件下时求Z的分布,最后求出来的这个后验分布 P(Z∣X) 用来更新之前的先验分布p(Z)。但是在计算这个公式中等号右边的分母项时,但隐变量Z通常都是需要高维的,这样才能充分represent样本X,所以如果Z的维度特别高,则计算的是高维度上的积分,数值上计算是非常困难的。并且有些情况是可能不存在解析解的。所以此时就可以尝试用变分推断的方法,寻找容易表达和求解的分布q,当q和p的差距很小的时候,q就可以作为p的近似分布,成为输出结果了。在这个过程中,我们的关键点转变了,从“求分布”的推断问题,变成了“缩小距离”的优化问题。对这一部分的理解还可以结合下文其余小知识点里的后验分布进行理解。

这个变分推断的博客是我看过这么多后觉得讲得最好的一个:https://zhuanlan.zhihu.com/p/507776434
在这里插入图片描述
在这里插入图片描述

其余小知识点:
1.后验分布: 首先得知道的是得知道D={x1,x2,…,xn}和θ{θ1,θ2,…,θn}都是随机变量!D是关于观测到的数据的随机变量,θ是关于模型参数的随机变量。注意:只要是随机变量就一定服从某个分布,但是这个分布不一定存在对应的密度函数 !!!比如我们假定一个事件x1的发生服从某个分布,那我们就可以让θ1表示这个分布的参数。 把后验分布看作一个函数,它正比于似然函数乘以参数的先验分布,注意的是参数的先验分布也是一个函数。比如有一堆数据{x1,x2,…,xn},我们把这些数据都看成是一个个独立的事件,那么D就是一组事件的集合。其中每个事情服从的分布不一定相同。 举个例子,如投硬币,硬币朝上的概率就可以看作参数。如果硬币不是均匀的,抛硬币这一事件就可能服从多种参数θ={θ1,θ2,…,θn}的0-1分布的其中一种,这些参数θ={θ1,θ2,…,θn}也服从某个分布。θ是关于模型参数的随机变量, 这些参数θ={θ1,θ2,…,θn}也服从某个分布。在VAE中z被称作是隐变量,并不等同于θ,z可以看成在混合高斯模型中可观测变量样本x属于第几个高斯分布,如z=1就是x这个变量是属于第1个高斯分布,而这个选定的高斯分布的参数就是指的θ。P(θ|x)表示的是给定观测数据的基础上,我们对于模型参数的分布产生的新的认知。
具体例子可参见:https://www.zhihu.com/question/24261751/answer/2355943888

2.求谁不积谁(积是指积分),定值不能作为dx。

3.后验概率可以看作等效于似然函数乘以先验,但是似然函数并不是概率密度函数,可从以下两点原因进行区分:
1).似然函数是参数的函数,不是随机变量(指样本)的函数。
2).似然函数的积分并不等于1, 而概率密度的积分为1.

4.概率不等于概率密度,平时说的概率应该是称作概率质量函数(Probability Mass Function, PMF)。具体区别:https://zhuanlan.zhihu.com/p/413360980

5.对于想得到身高数据的概率分布,x是身高,z隐变量就是性别,隐变量和参数θ是两个概念,参数就是均值方差等,可以理解为一个变量对应一组参数。

6.如果一个概率分布在x轴做一个积分或求和的话则结果为1,如下图N就是一个概率分布,概率分布的x轴代表样本(如身高),y轴代表概率密度。
在这里插入图片描述
7. 不能乱加隐变量,能加隐变量的条件是:加入隐变量z后得到的marginal distribution仍然要等于原来的P(x),这里的边缘分布即就是利用全概率公式展开得到的:
在这里插入图片描述

8.连续型随机变量的函数的数学期望(对任何一个数求期望都要首先知道它的分布,如下图f(x)就是它的概率分布),当数量很大时,由大数定律可得,随机变量的期望就等于随机变量的平均值:
在这里插入图片描述
9. Jensen不等式,可以看做期望的函数小于等于函数的期望,这说的函数的期望里的函数就是指f(x)。等号成立的条件是当f(x)里的x等于一个常数或者说f(x)恒等于一个常数:
在这里插入图片描述
10. 联合分布和边缘分布:
在这里插入图片描述
https://zhuanlan.zhihu.com/p/360842262

11.KL散度,范围大于等于0
在这里插入图片描述

12.贝叶斯基础:条件概率公式(也适用于概率密度函数)是推导的重中之重,然后在证明式子的时候一般以条件概率公式作为桥梁,对左边和右边同时变形来进行证明,逗号是指联合概率,运算顺序是先逗号,再条件概率:
在这里插入图片描述

13.这是VAE的loss function,这里log(pθ(x))为什么是const常数呢?因为在这里它和q没有关系,当x固定时,log(pθ(x))就相当于是个常数。
在这里插入图片描述

14. 边缘分布
我们经常会遇到求某个随机变量的边缘分布,marginal function就是为了将不同变量对于结果的影响分离出来,起到简化分析的目的。那么在联合分布中,我们怎么能让另一个变量Y失效只研究变量X呢?我们采取的做法是使得Y取到定义域的全部,使其发生的概率达到百分百,那么这个事件究竟发生不发生,就完全取决于我们要研究的X了。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一些杂七杂八的概率统计基础(变分推断所需) 的相关文章

  • 计算移动的球与移动的线/多边形碰撞的时间(2D)

    我有一个多边形 里面有一个移动的球 如果球撞到边界 它应该反弹回来 My current solution I split the polygon in lines and calculate when the ball hits the
  • Lua 的标准(或最好支持的)大数(任意精度)库是什么?

    我正在处理大量无法四舍五入的数字 使用 Lua 的标准数学库 似乎没有方便的方法来保持精度超过某些内部限制 我还看到有几个库可以加载以处理大数字 http oss digirati com br luabignum http oss dig
  • 计算机如何评估巨大的数字?

    例如 如果我输入一个值 1234567 98787878 Wolfram Alpha 可以为我提供许多细节 这包括小数近似 总长度 最后一位数字等等 您如何评估如此大的数字 据我了解 编程语言必须具有特殊的数据类型才能存储数字 更不用说将其
  • 如何在 C# 中将 BigInteger 转换为 pow Double?

    我尝试使用BigInteger Pow计算类似 10 12345 987654321 的方法 但此方法只接受整数作为指数 如下所示 BigInteger Pow BigInteger x int y 那么如何在上述方法中使用双数作为指数呢
  • 将所有 BigDecimal 运算设置为特定精度?

    我的Java程序以高精度计算为中心 需要精确到至少120位小数 因此 程序中所有非整数都将由 BigDecimal 表示 显然 我需要指定 BigDecimal 的舍入精度 以避免无限小数表达式等 目前 我发现必须在 BigDecimal
  • 在现代 x86-64 上计算 64 位整数的整数 Log10 的最快方法是什么?

    标题 我找到了大量 32 位示例 但没有找到完整的 64 位示例 使用这个帖子 https codegolf stackexchange com questions 47290 fastest way to compute order of
  • 从数字列表中生成所有唯一对,n 选择 2

    我有一个元素列表 假设是整数 我需要进行所有可能的两对比较 我的方法是 O n 2 我想知道是否有更快的方法 这是我在java中的实现 public class Pair public int x y public Pair int x i
  • 如何使用NSDecimalNumber?

    我正在构建一个需要对金钱进行计算的应用程序 我想知道如何正确使用 NSDecimalNumber 特别是如何从整数 浮点数和双精度数初始化它 我只发现它很容易使用 decimalNumberWithString 方法 这 initWith
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代
  • ID3和C4.5:“增益比”如何标准化“增益”?

    ID3算法使用 信息增益 度量 C4 5 使用 增益比 度量 即信息增益除以SplitInfo 然而SplitInfo对于记录在不同结果之间平均分配的分割 该值较高 否则较低 我的问题是 这如何帮助解决信息增益偏向于具有多种结果的分裂的问题
  • 使用浏览器内的 JS 数值求解三角方程[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 给定变量值s v and h 并给定一个库 例如数字 js http www numericjs com index php我怎样才能用数
  • 如何在Python中获得更精确的十进制值[重复]

    这个问题在这里已经有答案了 from math import sqrt a 1e 8 b 10 c 1e 8 x1 b sqrt b 2 4 a c 2 a x2 b sqrt b 2 4 a c 2 a print x1 format x
  • 可被 N 整除的最小正数

    1 如何找到能被N整除的最小正数 并且它的各位数字和应该等于N 例如 N 结果 1 1 10 190 并且算法时间不应超过 2 秒 有什么想法 伪代码 pascal c 或 java 吗 设 f len sum mod 为 bool 这意味
  • Python 中的 C 指针算术

    我正在尝试将一个简单的 C 程序转换为 Python 但由于我对 C 和 Python 都一无所知 这对我来说很困难 我被 C 指针困住了 有一个函数采用 unsigned long int 指针并将其值添加到 while 循环中的某些变量
  • 将数字公平分配到两组的算法

    给定一组 n 个数字 1 每组的总数最多相差 1 A 中所有数字的总和尽可能接近 B 中所有数字的总和 即分布应该是公平的 有人可以建议一种有效的算法来解决上述问题吗 谢谢 由于数字很小 因此它不是 NP 完全的 为了解决这个问题 你可以使
  • 空序列的算术平均值是多少?

    免责声明 不 我没有找到任何明显的答案 这与我的预期相反 在寻找代码示例时 算术平均值 我可以通过谷歌找到的前几个例子似乎是这样定义的 空序列生成的平均值为0 0 eg here https rosettacode org wiki Ave
  • 判断一个点是否在直角三角形内

    我一直想知道最简单的方法来确定一个点是否位于三角形内 或者在这种情况下 判断一个点是否位于对角线切成两半的矩形内 假设我有一个 64x64 像素的矩形 对于这个矩形 如果传递的点位于矩形的左上角 我想返回 TRUE 值 否则返回 FALSE
  • JavaScript 或 IEEE-754 中的舍入怪癖?

    我在一个单元测试中遇到了一个奇怪的问题 我在 JavaScript 中得到了意外的舍入结果 2 005 toFixed 2 produces 2 00 2 00501 toFixed 2 produces 2 01 最初我怀疑这只是 Web
  • 将大数字转换为字母(然后再转换回来)

    是否有一个术语来描述将大数字存储为字母的想法 例如 假设我有 相对较小的 数字 138201162401719 并且我想将字符数缩小到尽可能少的字符数 我知道这无助于节省磁盘空间 英文字母表中有 26 个字母 但我将它们算作 25 个 因为
  • 趋势线的最佳拟合曲线

    问题约束 数据集的大小是已知的 但数据本身并不已知 数据集每次增长一个数据点 趋势线一次绘制一个数据点 使用样条 贝塞尔曲线 Graphs 下面的拼贴画显示了具有相当准确的趋势线的数据集 这些图表是 左上 按小时计算 大约有 24 个数据点

随机推荐

  • vue自定义指令之手写v-loading指令

    先看效果 自定义加载效果的loading指令 为什么不创建一个组件来加载loading效果 麻烦你得先引入组件 注册挂载组件 然后在通过v if在空子显示隐藏 为什么要用自定义loading指令 由于项目中很多地方需要用到 在哪个元素或者组
  • 2022年第十四届电工杯赛题分析

    作为2022年上半年最后一场建模比赛的电工杯 为期72个小时 在众多建模比赛中 电工杯属于难度大 比赛时间短 知名度大的比赛 在我个人看来 电工杯可以作为美赛国赛之下第二梯队建模比赛里的头号比赛 因此 为了更好选题比赛 本次比赛我将在本篇文
  • Android 之 PopupWindow(悬浮框) 的基本使用

    本节引言 本节给大家带来的是最后一个用于显示信息的UI控件 PopupWindow 悬浮框 如果你想知道 他长什么样子 你可以打开你手机的QQ 长按列表中的某项 这个时候后弹出一个黑色的小 对话框 这种就是PopupWindow了 和Ale
  • Latex安装以及作业笔记

    Latex安装 参考 怎么安装LaTex 半句多的文章 知乎 https zhuanlan zhihu com p 56982388 作业 1 文档相关说明 2 公式写法 https blog csdn net weixin 3089203
  • sudo: unable to resolve host [hostname](已解决)

    在阿里云服务器上安装Java时报错 于是修改文件 etc hosts解决 PS 此时sudo依然可以继续运行 etc hosts原文件如下 127 0 0 1 localhost The following lines are desira
  • MySQL数据库——DDL基本操作

    文章目录 前言 数据库操作 查看已存在的所有数据库 创建数据库 选中数据库 删除数据库 修改数据库编码 表操作 创建表 显示创建表时的语句 显示表结构 删除表 修改表的结构 增加列 修改列 删除列 修改表名 前言 DDL 操作是与数据库结构
  • Makefile执行报错——CONFIG_X86_X32 enabled but no binutils support

    错误描述 在学习Linux驱动的时候 编写完一个demo 执行make的时候 报了如标题所示的错误 使用的makefile如下 KERNELDIR lib modules uname r build hello world objs hel
  • ESP8266_MQTT协议

    1 了解下MQTT协议 虽然上一篇用起来了MQTT 但是并不十分了解 基本就局限于 发布主题是发送数据 订阅主题是接收数据 今天就再好好了解一下吧 分享下网页版的 MQTT协议中文版 链接 Introduction MQTT协议中文版 1
  • HTTP 字体跨域问题

    一 背景介绍 最近在做公用菜单时 由于除了提供给子应用系统html代码外还需要提供样式 脚本 样式中涉及到了字体 跨域的情况下 样式脚本都可以正常访问 但是字体访问就会出现跨域问题了 二 问题描述 问 什么是字体跨域 答 就是你所引用css
  • unity和VS2019联调问题解决

    以前使用VS2015和17的时候联调的时候是可以附加到unity进行联调的 今天用的2019发现不可以了 研究了一下是少装了一个插件 装上插件就解决了 过程如下 当前使用VS版本2019企业版 如图 更多内容请关注微信公众号 unity风雨
  • 《Android面试题及解析》分享,一文带你搞懂Android多线程Handler

    网易游戏 严格来说我投的是网易互娱 区别于雷火 盘古 后面再说更多区别 走的内推 网易游戏以其笔试难度大著名 这次也不例外 所有的内推都要求参加统一笔试 我记得笔试有几场 我是在第一场 内推的岗位是网易游戏最核心的 游戏研发工程师 地点是杭
  • Call to localhost/127.0.0.1:9000 failed on connection exception错误。

    解决方案 1 首先查看hdfs site xml配置文件 如下面所示
  • nginx+tomcat实现代理访问java web项目

    最近由于部署考试系统 遇到一系列问题 由于Ubuntu上软件安装的混乱 参考的博客过于坑爹 所以环境配置的乱七八糟 在一个午夜 把一根烟抽的透透的 然后开始重装了一次系统 使用的Ubuntu 16 04LTS 由于时间原因一直没有吧我的这个
  • 用acme.sh申请免费ssl证书-let‘s encrypt

    这个是申请泛域名证书 移动端和电脑端直接用这个就可以了 不需要分开申请 安装脚本 curl https get acme sh sh 进入 cd acme sh 看下目录有什么 root csdn ls adl acme sh drwx 8
  • CO_XT_COMPONENTS_DELETE 删除工单组件

    REPORT zdtest6 判断是否有原始组件 如有全删 DATA ls return TYPE coxt bapireturn DATA lt resbkeys TYPE coxt t resbdel lt return TYPE ST
  • RabbitMQ--扩展--03--日志文件,故障恢复,集群迁移,集群监控

    RabbitMQ 扩展 03 日志文件 故障恢复 集群迁移 集群监控 1 RabbitMQ日志查看 如果在使用RabbitMQ 的过程中出现了异常情况 通过查看RabbitMQ 的服务日志可以让你在处理异常的过程中事半功倍 RabbitMQ
  • python基础—字符串操作

    1 字符串 Python内置了一系列的数据类型 其中最主要的内置类型是数值类型 文本序列 字符串 类型 序列 列表 元组和range 类型 集合类型 映射 字典 类型 本章在介绍字符串 列表 元组和range类型共有的通用序列操作方法的基础
  • 常用的相似度计算方法原理及实现

    在数据分析和数据挖掘以及搜索引擎中 我们经常需要知道个体间差异的大小 进而评价个体的相似性和类别 常见的比如数据分析中比如相关分析 数据挖掘中的分类聚类 K Means等 算法 搜索引擎进行物品推荐时 相似度就是比较两个事物的相似性 一般通
  • 笔记本计算机bios设置,联想笔记本BIOS设置详解

    大部分用户朋友遇到系统损坏时 不得不选择重装系统这样简单粗暴快的方式来解决 然而在准备重装时却遇到BIOS设置难题 不得不求助网络上各路大神 却还是没能真正得到帮助 下面快启动小编为大家分享联想笔记本BIOS设置详解 希望能为大家排忧解难
  • 一些杂七杂八的概率统计基础(变分推断所需)

    在开始之前要了解以下这个统计学中背景知识 贝叶斯学派与频率学派 极大似然估计学派 最大的区别就是 贝叶斯学派认为参数 不是一个确定值 而是一个随机变量 且随机变量一定是服从某个分布的 在概率统计中 随机变量 随机数量 变量中的值是随机现象的