【数学基础】参数估计之贝叶斯估计

article/2025/10/8 15:19:11

从统计推断讲起

统计推断是根据样本信息对总体分布或总体的特征数进行推断,事实上,这经典学派对统计推断的规定,这里的统计推断使用到两种信息:总体信息样本信息;而贝叶斯学派认为,除了上述两种信息以外,统计推断还应该使用第三种信息:先验信息。下面我们先把是那种信息加以说明。

  1. 总体信息:总体信息即总体分布或总体所属分布族提供的信息。譬如,若已知“总体是正态分布”等等
  2. 样本信息:即所抽取的样本的所有特征信息。
  3. 先验信息:如果我们把抽取样本看作做一次试验,则样本信息就是试验中得到的信息。但实际中,人们在试验之前对要做的问题在经验上和资料上总是已经有所了解的。譬如之前文章中的那个例子,问在公园中随便看到一个穿凉鞋的人是男生还是女生,男女生穿凉鞋的概率可能不同,这叫做类条件概率,而男女生的比例就是先验概率。

在之前介绍最后后验估计时已经很清楚的讲了MAP与MLE的区别,MAP就是贝叶斯估计的方法之一。贝叶斯学派的MAP方法与频率学派的MLE方法的不同之处就在于先验信息的使用。

 

贝叶斯估计核心问题

这里定义已有的样本集合为D,而不是之前的X。样本集合D中的样本都是从一个 固定但是未知 的概率密度函数p(x)中独立抽取出来的,要求根据这些样本估计x的概率分布,记为p(x|D),并且使得p(x|D)尽量的接近p(x),这就是贝叶斯估计的核心问题。

 

贝叶斯估计常用方法

p(x|D)被称作后验分布(后验概率),使用它估计\theta有三种常用的方法:

  • 使用后验分布的密度函数最大值点作为\theta的点估计的最大后验估计(MAP)。
  • 使用后验分布的中位数作为\theta的点估计的后验中位数估计(基本没看到用过)。
  • 使用后验分布的均值作为\theta的点估计的后验期望估计

用的最多的是后验期望估计,它一般也直接简称为贝叶斯估计,即为\hat{\theta}_B.

 

贝叶斯定理:

边缘概率(又称先验概率)是某个事件发生的概率。边缘概率是这样得到的:在联合概率中,把最终结果中那些不需要的事件通过合并成它们的全概率,而消去它们(对离散随机变量用求和得全概率,对连续随机变量用积分得全概率),这称为边缘化(marginalization),比如A的边缘概率表示为P(A),B的边缘概率表示为P(B)。

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

P(A|B) = \frac{P(B | A)\, P(A)}{P(B)}

在参数估计中可以写成下面这样:

这个公式也称为逆概率公式,可以将后验概率转化为基于似然函数先验概率的计算表达式,即

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

P(A)是A的先验概率或边缘概率。之所以称为"先验"是因为它不考虑任何B方面的因素。
P(A|B)是已知B发生后A的条件概率(在B发生的情况下A发生的可能性),也由于得自B的取值而被称作A的后验概率
P(B|A)是已知A发生后B的条件概率,也由于得自A的取值而被称作B的后验概率。
P(B)是B的先验概率或边缘概率,也作标准化常量(normalized constant)

按这些术语,Bayes定理可表述为:

后验概率 = (似然函数*先验概率)/标准化常量,也就是说,后验概率与先验概率和似然函数的乘积成正比。

另外,比例P(B|A)/P(B)也有时被称作标准相似度(standardised likelihood),Bayes定理可表述为:

后验概率 = 标准相似度*先验概率

 

一个简单的例子

 

 

贝叶斯估计

贝叶斯估计是在MAP上做进一步拓展,此时不直接估计参数的值,而是允许参数服从一定概率分布。极大似然估计和极大后验概率估计,都求出了参数\theta的值,而贝叶斯估计则不是,贝叶斯估计扩展了极大后验概率估计MAP(一个是等于,一个是约等于)方法,它根据参数的先验分布p(\theta)和一系列观察X,求出参数\theta的后验分布p(\theta|X),然后求出\theta期望值,作为其最终值。另外还定义了参数的一个方差量,来评估参数估计的准确程度或者置信度。

贝叶斯估计:从分布的总体信息和参数的先验知识以及样本信息出发。

不同于ML估计,不再把参数\theta看成一个未知的确定变量,而是看成未知的随机变量,通过对第i类样本D_i的观察,使概率密度分布p(D_i|\theta)转化为后验概率p(\theta|D_i),再求贝叶斯估计。

假设:将待估计的参数看作符合某种先验概率分布的随机变量。

基本原理:

 我们期望在真实的\theta值处有一个尖峰。

贝叶斯估计的本质:贝叶斯估计的本质是通过贝叶斯决策得到参数\theta的最优估计,使得总期望风险最小。

损失函数:通常规定函数是一个二次函数,即平方误差损失函数:

        可以证明,如果采用平方误差损失函数,则θ的贝叶斯估计值是在给定x时θ的条件期望。

 

        同理可得,在给定样本集D下,θ的贝叶斯估计值是:

贝叶斯估计算法:

 

贝叶斯估计的增量学习

为了明确的表示样本集合D中有n个样本,这里采用记号:D^n=\{x_1,x_2,...,x_n\}。根据前一个公式,在n>1的情况下有:

注:因为每次抽样之间是独立的,所以前n-1次抽样与第n次抽样是独立的。

可以很容易得到:

当没有观测样本时,定义p(\theta|D^0)=p(\theta),为参数\theta的初始估计。然后让样本集合依次进入上述公式,就可以得到一系列的概率密度函数:p(\theta|D^0),p(\theta|D^1),p(\theta|D^2),\cdots ,p(\theta|D^n),这一过程称为参数估计贝叶斯递归法,也叫贝叶斯估计的增量学习。这是一个在线学习算法,它和随机梯度下降法有很多相似之处。

 

参考文章:

贝叶斯估计详解

贝叶斯线性回归(Bayesian Linear Regression)

贝叶斯估计


http://chatgpt.dhexx.cn/article/oL1IbZOe.shtml

相关文章

贝叶斯估计与贝叶斯学习的区别

概述: 贝叶斯估计:贝叶斯估计是把待估计的参数看作具有先验分布密度p()的随机变量,其取值与样本D有关,用训练样本D估计出最优的,记为。 贝叶斯学习 :把贝叶斯估计的原理用于直接从数据对概率密度函数进行…

vue3页面刷新

整理工作中用到的页面刷新方式&#xff1a; 1.provide/inject 2.router.go(0) 3.provide,inject 一、使用provide和inject 控制<router-view>的显示隐藏 默认<router-view v-if"isRouterAlive" /> isRouterAlive是true&#xff0c;在需要刷新的时候把这…

js 页面刷新

刷新为新的页面 获得当前页面的url,即浏览器显示的地址: window.location.href; 按下enter,页面刷新为百度 刷新为当前页面 1,history.go(0)2,location.reload() 3,location=location 4,location.assign(location) 5,document.execcommand(‘refresh‘) 6,window.na…

Web页面自刷新

简单介绍两种&#xff1a; 第一种Ajax Ajax Asynchronous JavaScript and XML&#xff08;异步的 JavaScript 和 XML&#xff09;&#xff0c;ajax就是基于浏览器提供的XMLHttpRequest对象来实现的 什么叫异步&#xff1f; 异步&#xff0c;不同的意思&#xff0c;这里也就…

页面刷新技术-------AJAX

一、前提步骤&#xff08;先把静态网页写出来&#xff09; 1、首先先要配置文件 2、然后去后端建立服务器&#xff0c;把该下载的模块下载好 var httprequire("http") var fsrequire("fs") var urlrequire("url") var querystringrequire(&quo…

页面刷新和vue页面刷新

history.go(0) location.reload() locationlocation location.assign(location) document.execCommand(Refresh) window.navigate(location) location.replace(location) document.URLlocation.href这几个都可以刷新&#xff1a; window.location.reload();刷新 window.locatio…

vue关于页面刷新的几个方式

在写项目的时候会遇到需要刷新页面重新获取数据&#xff0c;浅浅总结了一下几种方案。 1.this.$router.go(0) 强制刷新页面&#xff0c;会出现一瞬间的白屏&#xff0c;用户体验感不好。 2.location.reload() 也是强制刷新页面&#xff0c;和第一种方法一样&#xff0c;会造成…

HTML页面刷新及其应用例子

HTML页面刷新及其应用例子 刷新一般指重新载入当前页面。本文先给出html页面刷新重载方法汇总&#xff0c;再给出示例。 html页面刷新重载方法汇总 一、javascript页面刷新重载的方法&#xff1a; <a href"javascript:location.reload();">点击重新载入页面…

vue页面刷新

vue页面刷新 首先我们都知道vue属于单页面应用&#xff0c;默认境况下是不会触发刷新页面操作的&#xff0c;所以这个时候就需要我们通过事件来触发reload()来达到刷新操作 接下来我就为大家介绍三种刷新页面的方法 1. wiindow.location.reload([bForceGet])该方法强迫浏览…

hadoop 学习路线

Posted: Sep 6, 2013 Tags: Hadoophadoop familyroadmap Comments: 40 Comments Hadoop家族学习路线图 Hadoop家族系列文章&#xff0c;主要介绍Hadoop家族产品&#xff0c;常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa&am…

Hadoop 学习路线图

主要介绍Hadoop家族产品&#xff0c;常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa&#xff0c;新增加的项目包括&#xff0c;YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。 从2011年开始&…

Hadoop学习路线

Hadoop基础 Hadoop是一个能够对大量数据进行分布式处理的软件框架&#xff0c;它是一种技术的实现&#xff0c;是云计算技术中重要的组成部分&#xff0c;云计算的概念更广泛且偏向业务而不是必须拘泥于某项具体技术&#xff0c;云计算的存在只是一种新的商业计算模型和服务模…

第11期:Hadoop零基础学习路线

大家好&#xff0c;我是你们的老朋友老王随聊&#xff0c;今天和大家讨论的话题——Hadoop零基础应该怎么学&#xff1f; 通过这段时间和群里同学们交流&#xff0c;发现很多大学生甚至职场小白对Hadoop学习路线不是很清晰&#xff0c;所以我花了一些时间给大家整理了一张Hadoo…

hadoop学习路线图

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下&#xff0c;开发分布式程序。充分利用集群的威力进行高速运算和存储。而对于hadoop的学习是大数据学习中的重要一个环节&#xff0c;于是乎有很多人想要知道hadoop学习路线图。…

Python的基础编程

1. python的基本语法 Python是一个结合了解释性、编译性、互动性和面向对象的高级程序设计语言&#xff0c;结构简单&#xff0c;语法定义清晰&#xff1b; Python最具特色的就是使用缩进来表示代码块&#xff0c;不需要使用大括号{}&#xff0c;但每一个模块内的语句必须包含…

【Java编程指南】语法基础

目录 一、前言 二、关键字 三、数据类型 1.存储单元 2.存储范围 3.类型转换 四、常量 五、变量 六、标识符 七、注释 一、前言 学习目标 1&#xff1a;熟悉Java的关键字、数据类型&#xff08;包括范围&#xff09;、常量与变量的区别 学习目标 2&#xff1a;类型转…

新手小白零基础,该怎样学习编程呢?

零基础编程入门先学什么&#xff1f;编程语言有几百种&#xff0c;我们应该怎么选择。想学习编程&#xff0c;加入互联网行业&#xff0c;哪一个更有前途&#xff1f;在小白学习编程会有各种各样的问题&#xff0c;今天小编我就来为你解答。 一、怎么选择编程语言 编程语言有很…

如何打好编程基础

如何打好编程基础 这篇文章是写给那些真心想学编程的人看的——那些憋着一股狠劲儿,一定要做出个什么真东西,不学好不罢休的人;而不是那些「听说编程好玩」的人,在我看来,这种人永远都入不了编程的门,更别提做出个像样的东西来了。 心态调整 确定目标 在你学习编程之前思…

Web编程基础知识

前段时间零零碎碎看了Web编程相关内容&#xff0c;今天就整理了一下 Web编程&#xff0c;前端主要是htmlCSSJavaScript&#xff0c;后端使用最多的是PHPMySQL 此次教程主要是关于html、CSS、JavaScript和PHP的一些语法和使用细则 1 Html: HyperText Markup Language&#xff0c…

如何0基础学编程,岗位怎么选择?

下面进入正题&#xff0c;如果非计算机专业的话短期内想找到工作可以考虑去选择找IT培训机构学习。一方面有专业老师指导&#xff0c;比自己看书、看视频学习更有效率。如果自学主要你非计算机专业&#xff0c;计算机基础编程基础相当于没有&#xff0c;有些编程理论很难理解&a…