PRML2-概率分布
本博文来自《PRML第二章》
在第一章中说了对于模式识别问题来说,核心角色就是概率论。本章的目的一方面是为了介绍概率分布,另一方面也是为了对后面遇到的那些复杂问题先打下基础。本章关于分布上的一个讨论核心就是如何在给定有限的观测集合基础上对随机变量
的概率分布
进行建模,这也被称之为密度估计问题。本章中假设数据都是i.i.d
的。这里我们的强调下密度估计问题其实是个病态问题,因为对于某个观测到的有限数据集来说,其实是会有无限个概率分布可以可以如此表示。
什么分布最合适是需要基于模型选择问题上的考虑,比如第一章中说的多项式拟合问题,其实就是模式识别的一个中心问题。本章先介绍基于离散随机变量的二元和多元分布和基于连续随机变量的高斯分布。这些都是参数化分布的具体形式,这么称呼是因为他们都是受到一些可调整参数的控制的,例如高斯中的均值和方差。所以在给定观测的数据集基础上,使用这些密度估计就需要选择合适的参数值,在频率学派的眼里,这些值可以通过一些优化标准来得到,比如似然函数;而对于贝叶斯学派来说,是先引入参数上的先验分布,然后使用贝叶斯理论来计算在给定观测数据基础上的后验分布。
在这其中有个重要的东西叫做共轭先验,它可以让后验分布有着与先验一样的函数形式,所以这对于贝叶斯的分析带来了很大的便利。例如多元分布中产生的共轭先验叫做dirichlet分布;一个高斯的均值的共轭先验却又是另一个高斯。所有的这些分布其实都可以看成是分布的指数族(exponential family)的具体情况。
参数化方法的一个限制就是它对于一个分布需要假设一个具体的函数形式,这使得对于特殊的应用来说总是有点不合适。相对的叫做非参数化密度估计方法,这里面对于分布的形式通常都是依赖于数据集的大小而定的。虽然这些模型还是包含着参数,不过它们是控制模型的复杂度的而不是分布的形式。本章最后会介绍三个非参数化方法:直方图、最近邻、核。
2.1 二值变量
先介绍单一的二值随机变量。假设这是一个残缺的硬币,
的概率可以通过参数
表示,所以:
其中。所以
。基于
的概率分布可以写成:
这就是大家熟悉的伯努力分布,可以很容易的证明该分布是已经归一化的,并且他的均值和方差为:
对于数据集来说,似然函数是关于参数
的函数,假设所有观测得到的值都是独立的从同一个分布
中采样得到的,那么似然函数为:
(2.1.4)
对于频率学派的人来说,可以通过最大化似然函数或者最大化似然函数的log对数来求得。在伯努力分布中,似然函数的形式为:
将上面式子进行关于的求导,然后等于0,求得其最大似然估计:
这也被称之为采样均值。如果我们将上面硬币头朝上的频率表示成,那么就可以将上面那个最大似然估计写成:
不过假设我们抛这个硬币只抛了三次,而且三次都是头朝上的,那么上述期望值就该为1了,即。在这种情况下,通过最大似然函数得到的结果就是个百分百事件了,对于这种极端的情况下的例子,我们称之为最大似然函数过拟合。在下面会介绍如何通过引入一个基于
的先验分布来解决该问题。
对于单次伯努力实验来说就是得0 和1 的概率,如果多次试验(其中都是独立的),这样 就叫做二项式分布,从式子(2.4.1)中可以知道二项式分布是与成比例的:
(2.1.8)
这里:
而相对的二项式分布的期望和方差为:
ps:下面是二项式分布的期望证明过程:
需要依赖的,组合恒等式:,假设我们有N次实验,其中在这N次中成功的次数及其概率如下图:
下面是推导过程:
或者另一种推导方式:即因为每次试验都是相互独立的,所以对于期望来说,是每个期望独立相加即可,而对于某次的伯努力试验来说其期望就是为,所以n次试验就是n
(此处
即为上面第一种推导的
p)。
2.1.1 beta分布
正如上面说的,对于小样本量来说,最大似然方法求的参数有可能会过拟合。为了通过贝叶斯角度来解决该问题,我们需要引入一个先验分布
。这里我们考虑先验分布的形式需要简单的解释,并且有许多有用的特性。我们注意到之前的似然函数是
形式的因子的乘积,如果我们选择的先验是与
和(1
- )的幂成比例的,那么得到的后验概率(与先验和似然函数的积成比例),就可以得到与先验一样的函数形式了。这种特性就叫做共轭性(conjugacy)。这里我们选择的先验叫做beta分布:
(2.1.1.1)
这里是一个gamma函数:
上面(2.1.1.1)的系数可以确保该beta分布是归一化的,所以:
beta分布的均值和方差为:
上面的参数和
被称为超参数,因为它们控制着参数
。下图展示了不同的超参数下beta分布的形式:
图中的(2.13)为上面的式子(2.1.1.1)
现在,参数的后验分布可以通过将beta先验(2.1.1.1)乘以二项似然函数(2.1.8)然后归一化得到,其中后验分布有如下形式:
(2.1.1.6)
这里,对应着抛硬币头朝下的次数。从上面式子可以看出它有着与先验一样的函数形式,反映了先验关于似然函数的共轭性。这简直就是另一个beta分布,它的归一化系数可以通过与(2.1.1.1)的对比得到:
假设当前这次试验该数据集中观察到发生的次数为
次,而对应的0的次数发生了
次。从之前的先验分布到这里的后验分布,
和
的值分别增加了
和
。我们可以简单的理解成先验中的超参数
和
为
和0的有效观测数。注意这里的
和
不需要是整数。更进一步来说,这里的后验分布可以当成是在观察后续额外数据的先验。即假设一次观察一个样本,然后更新当前的后验分布。只要将新的样本的似然函数乘以当前的后验分布,然后归一化得到新的后验分布即可。在每个阶段来说,该后验分布都是一个在给定参数
和
的基础上观测到
和0的总数的beta分布而已。
(图中2.9为式子2.1.8)
从贝叶斯角度来说,顺序学习的方法是很自然的。这种方法与先验和似然函数的选择无关,只取决于数据i.i.d 的假设 ,顺序学习可以一次使用一个观测样本或者一个小批量,然后在使用下一个观测样本之前抛弃它们。
(个人:这里是基于给定一个数据集求下一个目标为1的概率,就等于基于之前的数据集先计算出参数的概率,然后通过该参数计算当前的目标的概率,这里用到了乘法规则,而且因为是连续的,所以采用连续变量的求概率方法,即积分形式)
参考文献:
2015年09月11日 第0次修改!
PRML2-概率分布的更多相关文章
- paper 115:常见的概率分布(matlab作图)
一.常见的概率分布 表1.1 概率分布分类表 连续随机变量分布 连续统计量分布 离散随机变量分布 分布 分布 二项分布 连续均匀分布 非中心 分布 离散均匀分布 (Gamma)分布 分布 几何分布 指 ...
- 如何在Python中实现这五类强大的概率分布
R编程语言已经成为统计分析中的事实标准.但在这篇文章中,我将告诉你在Python中实现统计学概念会是如此容易.我要使用Python实现一些离散和连续的概率分布.虽然我不会讨论这些分布的数学细节,但我会 ...
- 受限玻尔兹曼机(RBM)学习笔记(三)能量函数和概率分布
去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...
- N个骰子的点数和的概率分布
程序设计思路: 假设有n个骰子,关键是需要统计每个点数出现的次数.首先分析第一个骰子点数和有1到6的点数,计算出1到6的每种点数 的次数,并将结果用一个数组pos1记录.然后分析有两个骰子时, 点数为 ...
- 概率分布之间的距离度量以及python实现(四)
1.f 散度(f-divergence) KL-divergence 的坏处在于它是无界的.事实上KL-divergence 属于更广泛的 f-divergence 中的一种. 如果P和Q被定义成空间 ...
- 常见的概率分布类型(Probability Distribution)
统计学中最常见的几种概率分布分别是正态分布(normal distribution),t分布(t distribution),F分布(F distribution)和卡方分布(χ2 distribut ...
- 贝叶斯A/B测试 - 一种计算两种概率分布差异性的方法过程
1. 控制变量 0x1:控制变量主要思想 科学中对于多因素(多变量)的问题,常常采用控制因素(变量)的方法,吧多因素的问题变成多个单因素的问题.每一次只改变其中的某一个因素,而控制其余几个因素不变,从 ...
- 概率分布之间的距离度量以及python实现(三)
概率分布之间的距离,顾名思义,度量两组样本分布之间的距离 . 1.卡方检验 统计学上的χ2统计量,由于它最初是由英国统计学家Karl Pearson在1900年首次提出的,因此也称之为Pearson ...
- Lecture4_1&4_2.多维随机变量及其概率分布
1.二维随机变量(X,Y)的联合分布函数: F(x,y)=P(X≤x,Y≤y) 2.二维随机变量(X,Y)关于X的边缘分布函数: FX(x)=P(X≤x) =P(X≤x,Y<+∞) =F(x,+ ...
- Lecture3.随机变量及其概率分布
1.随机变量的定义 2.随机变量的类型: 若随机变量X的可能取值是有限个或可列个, 则称X为离散型随机变量. 反之,则称X为非离散型随机变量. 若随机变量X的可能取值“连续”(“不间断”),则称X 为 ...
随机推荐
- Tomcat启动报错:org.apache.catalina.LifecycleException: Failed to start component...java.util.zip.ZipException: error in opening zip file
1.项目环境 IntelliJ IDEA2018.1.6 apache-tomcat-8.0.53 基于springboot开发的项目 maven3.5.3 2.出现问题 从svn同步下项目 启动to ...
- 【代码笔记】iOS-Transition动画
一,工程图. 二,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIVi ...
- HTML中的元素分类
HTML中有很多的标签(元素),可以按照这些元素在网页中所占的空间情况进行分类.具体可以这样简单的分类: 1.块级元素:指的是在网页中该元素独自占据网页的一行显示区域,即当使用了该元素后,该元素会使下 ...
- SD配置步骤清单
定义销售组织 定义分销渠道 定义产品组 给公司代码分配销售组织 给销售组织分配销售渠道 给工厂分配销售组织.分销渠道 给销售组织分配产品组 定义销售范围 定义装运点 给工厂分配装运点 维护工厂的装运点 ...
- mpvue最佳实践 , 美团出的一个小程序框架
看手机微信,看到说美团出了1个小程序框架, mpvue 搜下来试试,看了网上的一个对比 ----------------- 以下为引用 我们对微信小程序.mpvue.WePY 这三个开发框架的主要能 ...
- LeetCode题解之 Search in a Binary Search Tree
1.题目描述 2.问题分析 利用递归遍历二叉查找树. 3.代码 TreeNode* searchBST(TreeNode* root, int val) { if (root == NULL) ret ...
- SQLSERVER中的鬼影索引
SQLSERVER中的鬼影索引 看这篇文章之前可以先看一下鬼影记录 了解了解一下SQLSERVER里的鬼影记录关于鬼影记录的翻译一关于鬼影记录的翻译二 当删除表中的某一条记录的时候,索引页面的对应记录 ...
- Prometheus Node_exporter 之 Memory Detail Vmstat
Memory Detail Vmstat 查看/proc/vmstat 文件的内容 1. Memory Pages In / Out type: GraphUnit: shortLabel: Page ...
- python 流程控制(while)
1,while基本语法 2,while else语句 1,while基本语法 n = 1 while n<10: print n n += 1 2,while else语句 n =10 whil ...
- SQL Server 子查询错误:No column name was specified for column 2 of 'a' error (转载)
问: I have a MySQL query and I ran it working fine but same query showing error in SQL Server. SQL Se ...