【机器学习中的数学】贝叶斯框架下二元离散随机变量的概率分布

引言

我感觉学习机器学习算法还是要从数学角度入门才是唯一正道,机器学习领域大牛Michael I. Jordan给出的机器学习定义是,“A field that bridge computation and statistics,with ties to information theory, signal processing, algorithm, control theory and optimization theory”。所以对于机器学习的门徒来说,我认为将计算机和统计理论有机结合起来才是正确的出路。市面上吹嘘的所谓不介绍数学背景,只引入如何使用算法的书籍,只能是迎合那些急功近利的人的口味,确实可以感觉出被火热概念炒出来的人们的浮躁。

当然,看别人的浮躁,说明你也有一颗浮躁的心。

我还是踏踏实实的一步一个脚印的赶紧上路吧!不然,我也是一个随波逐流,追赶鱼潮的打渔人,没有自己的根本,一旦翻了船,那才是一无所获呢。

学校里很多老师教的课程确实都是在忽悠学生,其实他们可能也没有很扎实的数学基础,以至于很难将学生领入正确的道路上来。至少作为听课学生来讲,我是这么感觉的。造成的结果是,感觉这门课程是独立于一个领域的,是很孤立的。而从一些外文书籍中可以看出来,机器学习其实是多学科交叉的衍生物,和很多工程领域理论都有密切的联系,这样,至少让我们这种初学者有据可查,不至于感觉它是从石头缝里蹦出来的。

接下来,几篇文章介绍的概率分布是构建复杂模型的基础。讨论这些概率分布的一个重要应用就是密度估计(density estimation),即根据有限的观测数据,去建立模型,然后得到这些随机变量的样本所遵循的概率分布。(直到这时,我才多少明白一点本科时概率统计课上教的参数估计是干什么用的)

二元变量(Binary Variables)

我们首先来考虑二元随机变量x∈{0,1}。

伯努利分布(Bernoulli Distribution)

伯努利分布(the Bernoulli distribution,又名两点分布或者0-1分布,是一个离散型概率分布,为纪念瑞士科学家雅各布·伯努利而命名),若伯努利试验成功,则伯努利随机变量取值为1。若伯努利试验失败,则伯努利随机变量取值为0。

最大似然估计(Maximum Likelihood Estimation)

现在给出一组观测数据D={x1,...,xN},我们通过构建似然函数,来估计参数μ(随机变量取1时对应的概率)。

举个例子,

如果进行三次观测,三次观测结果x均为1,那么μML为1,这说明未来的观测结果应该均为x=1。根据常识,这显然是不合常理的。实际上,这是由于小数据集导致的过拟合的结果。接下来我们要解释的就是从贝叶斯理论的角度,如何去理解这个问题。

二项分布(Binomial Distribution)

二项分布是n个独立的是/非试验中成功的次数的离散概率分布,其中每次试验的成功概率为p。这样的单次成功/失败试验又称为伯努利试验。实际上,当n = 1时,二项分布就是伯努利分布。

二项分布定义为:

二项分布的期望和方差分别是:

Beta分布

为了解决小数据集中用最大似然估计的方法来估计参数产生的过拟合的现象,我们尝试用贝叶斯的方式引入参数μ的先验分布。

这里a和b被称为超参数(hyperparameters),因为它们左右了参数μ的分布,它们不一定为整数。

下面的图像显示了不同的超参对分布的影响:

先验概率

在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。这个不确定量可以是一个参数,或者是一个隐含变量(latent variable)。

在使用贝叶斯定理时,我们通过将先验概率与似然函数相乘,随后标准化,来得到后验概率分布,也就是给出某数据,该不确定量的条件分布。

先验概率通常是主观的猜测,为了使计算后验概率方便,有时候会选择共轭先验。如果后验概率和先验概率是同一族的,则认为它们是共轭分布,这个先验概率就是对应于似然函数的共轭先验

共轭分布(Conjugate Prior)

为了使得先验分布和后验分布的形式相同,我们定义:如果先验分布和似然函数可以使得先验分布和后验分布有相同的形式,那么就称先验分布与似然函数是共轭的。所以共轭是指:先验分布和似然函数共轭。

共轭先验的意义在于,使得贝叶斯推理更加方便,比如在续贝叶斯推理(Sequential Bayesian inference连)中,得到一个observation之后,可以算出一个后验分布。由于选取的是共轭先验,因此后验和原来先验的形式一样,可以把该后验当做新的先验,用于下一次observation,然后继续迭代。

后验分布

参数μ的后验分布是将其先验分布乘上二项式似然函数(binomial likelihood function),再归一化得到。

后验分布有如下形式:

其中,l = N-m。

我们可以看出,这里的后验分布和先验分布有相同的形式,这体现了似然函数的共轭先验的特性。这个后验分布也是一个Beta分布,这样我们可以将这个后验分布当做是一个新的先验分布,当得到一组新的数据之后,我们可以更新得到新的后验分布。

这种顺序方法(sequential approach)每次利用一小波(small batches)观测数据,当新的观测数据来的时候,就会丢弃旧的观测数据。

所以这种方法非常适用于数据流稳定到来,而在观测所有数据之后得出预测结果的实时学习的情景,因为这种方法不要求数据一次性的全部载入内存来计算。

下面的图片形象的描述了连续贝叶斯推理(sequential Bayesian inference)的一个环节。先验分布参数a=2、b=2,对应只有一个观测数据x=1的似然函数,其参数N=m=1,而后验分布的参数a=3、b=2。

预测数据

现在我们要做的是,根据给定的观测数据集D来评估x的预测分布。

由上式,我们可以看出,随着数据癿增加, m、l 趋于无穷大时,这时参数的后验分布就等于最大似然解。而对于有限数据集来说,参数μ的后验均值总是介于先验平均和μ的最大似然估计值之间的。

总结

我们可以看出,随着观测数据的增多,后验分布变成一个越来越陡峭的山峰形状。这通过Beta分布的方差可以看出,当a和b趋近于无穷大时,Beta分布的方差趋近于0。从宏观层面上说,当我们观察到更多的数据时,后验分布所体现的不确定性将骤然降低(steadily decrease)。

有些先验分布可以证明,随着数据的增加方差越来越小,分布越来越陡,最后坍缩成狄拉克函数,这时贝叶斯方法和频率派方法是等价的。

参考资料

Pattern Recognition and Machine Learning, Christopher M. Bishop

Wiki:β-二项式分布

转载请注明作者Jason Ding及其出处

Github主页(http://jasonding1354.github.io/)

CSDN博客(http://blog.csdn.net/jasonding1354)

简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)

时间: 2024-10-07 06:32:29

【机器学习中的数学】贝叶斯框架下二元离散随机变量的概率分布的相关文章

机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)

机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA) 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系[email protected] 前言: 第二篇的文章中谈到,和部门老大一宁出去outing的时候,他给了我相当多的机器学习的建议,里面涉及到很多的算法的意义.学习方法等等.一宁上次给我提到,如果学习分类算法,最好从线性的入手,线性分类器最简单的就是

机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

机器学习中的数学(1)-回归(regression).梯度下降(gradient descent) 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在

机器学习中的数学(2)-线性回归,偏差、方差权衡

机器学习中的数学(2)-线性回归,偏差.方差权衡 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任.如果有问题,请联系作者 [email protected] 前言: 距离上次发文章,也快有半个月的时间了,这半个月的时间里又在学习机器学习的道路上摸索着前进,积累了一点心得,以后会慢慢的写写这些心得.写文章是促进自己对知识认识的一个好方法,看书的时候往往不是非

机器学习中的数学-回归(regression)、梯度下降(gradient descent)<1>

机器学习中的数学(1)-回归(regression).梯度下降(gradient descent) 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在

机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用

机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系[email protected] 前言: 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的.在上篇文章中便是基于特征值分解的一种解释.特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计

【机器学习中的数学】贝叶斯概念学习

概念学习 许多机器学习问题涉及从特殊训练样例中得到一般概念.比如人们不断学习的一些一般概念和类别.每个概念可被看作一个对象或事件集合,它是从更大的集合中选取的子集(如从动物的集合中选取鸟类),或者是在这个较大集合中定义的布尔函数(如在动物集合中定义的函数,它对鸟类返回true,对其他动物返回false). 小孩理解一个词义的例子 考虑一个小孩子理解"狗"这个词的意义.假设当小孩的父母指着一个动物对他说,"这是一只狗",这是给出了概念的正例.而当小孩子看到一只猫时说,

(转)机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在verycd可下载,可惜没有翻译.不过还是可以看.另外一个是prml-pattern recogni

C#编程实现朴素贝叶斯算法下的情感分析

C#编程实现 这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Language Progressing)中的重要问题,用以对文本进行正负面的判断,以及情感度评分和意见挖掘.本文借助朴素贝叶斯算法,针对文本正负面进行判别,并且利用C#进行编程实现. 不先介绍点基础? 朴素贝叶斯,真的很朴素 朴素贝叶斯分类算法,是一种有监督学习算法,通过对训练集的学习,基于先验概率与贝叶

(转)机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)

版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系[email protected] 前言: 第二篇的文章中谈到,和部门老大一宁出去outing的时候,他给了我相当多的机器学习的建议,里面涉及到很多的算法的意义.学习方法等等.一宁上次给我提到,如果学习分类算法,最好从线性的入手,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解L