先验概率、后验概率、似然函数的理解

2024-05-28 20:08

本文主要是介绍先验概率、后验概率、似然函数的理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注释:最近一直看到先验后验的说法,一直不懂,这次查了资料记录一下。

1.先验和后验的区别:

A.简单的了解两个概率的含义

  先验概率可理解为统计概率,后验概率可理解为条件概率。

  -----------------------------------------------------------------------------------------------------------  设定背景:酒至半酣,忽阴云漠漠,骤雨将至。

  情景一:    “天不会下雨的,历史上这里下雨的概率是20%”----先验概率    “但阴云漠漠时,下雨的概率是80%”----后验概率

情景二: “飞飞别急着走啊,历史上酒桌上死人的概率只有5%“----先验概率 ”可他是曹操啊,梦里都杀人“----后验概率
B.区别两者的含义

我们来看一下贝叶斯统计的一个有趣的案例案例:假如你是一个女生, 你在你的老公书包里发现了一个别的女人的内裤那么他出轨的概率是多少。

图:贝爷居然能解决家庭纠纷?

稍微熟悉这个问题的人对会知道做这个题目你要先考察基率,你要把这个问题分解为几步考虑:

1,你老公在没有任何概率情况下出轨的概率是多少? 如果他是个天生老实巴交的程序员或者风流倜傥的CEO, 那么显然不该一视同仁

2,如果你老公出轨了, 那么他有一条内裤的概率是多少, 如果他没出轨, 出现这个情况概率有多少? 想想一般人即使出轨也不会犯那么傻的错误, 会不会有没出轨而出现内裤的状况? 有没有可能是某个暗恋你老公的人的陷害?

3, 根据1 和2求解最终问题,这才是拥有大学数学能力的你该做的分析。

在这里1其实就是先验概率P(A),而2是条件概率P(B|A), 最终得到3后验概率P(A|B)。这三种即是贝叶斯统计的三要素。

基于条件概率的贝叶斯定律数学方程极为简单:

A即出轨, B是内裤出现, 你得到1,2,就可以根据公式算出根据根据内裤出现判断出轨的概率。

先验概率在贝叶斯统计中具有重要意义,首先先验概率即我们在取得证据之前所指定的概率P(A), 这个值通常是根据我们之前的常识,带有一定的主观色彩。 就像刚刚说的出轨的问题, 你的先验概率代表了你对你男人的信心。

有一个非常有趣的现象是如果我们的先验概率审定为1或0(即肯定或否定某件事发生), 那么无论我们如何增加证据你也依然得到同样的条件概率(此时P(A)=0 或 1 , P(A|B)= 0或1) 这告诉我们的第一个经验就是不要过早的下论断, 下了论断你的预测也就无法进化了, 或者可以称之为信仰。 你如果想让你的认知进步,就要给各种假设留一点空间。

贝叶斯分析的思路对于由证据的积累来推测一个事物发生的概率具有重大作用, 它告诉我们当我们要预测一个事物, 我们需要的是首先根据已有的经验和知识推断一个先验概率, 然后在新证据不断积累的情况下调整这个概率。整个通过积累证据来得到一个事件发生概率的过程我们称为贝叶斯分析。

2.似然函数:

    应用在概率函数中,其实和概率函数差不多,就是一个数产生的概率函数,比如:

    

    引申到“最大似然函数”:就是求最大概率下的参数。

    知乎上这个解释感觉很完美:

最大似然估计:现在已经拿到了很多个样本(你的数据集中所有因变量),这些样本值已经实现,最大似然估计就是去找到那个(组)参数估计值,使得前面已经实现的样本值发生概率最大。因为你手头上的样本已经实现了,其发生概率最大才符合逻辑。这时是求样本所有观测的联合概率最大化,是个连乘积,只要取对数,就变成了线性加总。此时通过对参数求导数,并令一阶导数为零,就可以通过解方程(组),得到最大似然估计值。

3.先验、后验和似然函数的区别

  先验和后验都是一个概率问题,然而似然函数不是一个概率,似然的作用是找到一个最大概率发生的值,所以他是一个确定的值或者近似接近的值。

  有个不成熟的比喻:后验概率=先验概率*似然函数

参考知乎大神回答:https://www.zhihu.com/question/27398304

            https://www.zhihu.com/question/24261751

这篇关于先验概率、后验概率、似然函数的理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1011560

相关文章

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

kotlin的函数forEach示例详解

《kotlin的函数forEach示例详解》在Kotlin中,forEach是一个高阶函数,用于遍历集合中的每个元素并对其执行指定的操作,它的核心特点是简洁、函数式,适用于需要遍历集合且无需返回值的场... 目录一、基本用法1️⃣ 遍历集合2️⃣ 遍历数组3️⃣ 遍历 Map二、与 for 循环的区别三、高

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

MySQL中COALESCE函数示例详解

《MySQL中COALESCE函数示例详解》COALESCE是一个功能强大且常用的SQL函数,主要用来处理NULL值和实现灵活的值选择策略,能够使查询逻辑更清晰、简洁,:本文主要介绍MySQL中C... 目录语法示例1. 替换 NULL 值2. 用于字段默认值3. 多列优先级4. 结合聚合函数注意事项总结C

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

golang panic 函数用法示例详解

《golangpanic函数用法示例详解》在Go语言中,panic用于触发不可恢复的错误,终止函数执行并逐层向上触发defer,最终若未被recover捕获,程序会崩溃,recover用于在def... 目录1. panic 的作用2. 基本用法3. recover 的使用规则4. 错误处理建议5. 常见错