模式识别 —— 第二章 参数估计

news2024/11/27 5:27:19

模式识别 —— 第二章 参数估计

文章目录

  • 模式识别 —— 第二章 参数估计
    • 最大似然估计(MLE)
    • 最大后验概率估计(MAP)
    • 贝叶斯估计

最大似然估计(MLE)

在语言上:

  • 似然(likelihood)和**概率(probability)**是同义词,都指事件发生的可能性。

但是在统计中:

  • 概率是已知参数,对结果可能性的预测。
  • 似然是已知结果,对参数是某个值的可能性预测。

可见这两个过程正好是相反的。

因此最大似然估计是已知数据来求概率最大的参数。

以抛硬币为例,假设我们有一枚硬币,现在要估计其正面朝上的概率 θ \theta θ。我们进行了10次实验其中正面朝上的次数为6次,反面朝上的次数为4次。

对一个独立同分布的样本集来说,总体的似然就是每个样本似然的乘积。针对抛硬币的问题,似然函数可写作:
在这里插入图片描述
似然函数图如下:
在这里插入图片描述

由于总体的似然就是每个样本似然的乘积,为了求解方便,我们通常会将似然函数转成对数似然函数,然后再求解。可以转成对数似然函数的主要原因是对数函数并不影响函数的凹凸性。因此上式可变为:

在这里插入图片描述
对该式子求导等于0即可解出当 θ ^ = 0.6 \hat{\theta} = 0.6 θ^=0.6时,是最优参数。

正态分布的最大似然估计

假设样本服从正态分布 N N N~ ( μ , σ 2 ) (\mu,\sigma^2) (μ,σ2),则其似然函数为:
在这里插入图片描述

对其取对数得:

在这里插入图片描述分别对 μ , σ 2 \mu , \sigma^2 μ,σ2求偏导,并令偏导数为0,得:
在这里插入图片描述

解得:
在这里插入图片描述

最大似然估计的求解步骤: \red{最大似然估计的求解步骤:} 最大似然估计的求解步骤:

  • 确定似然函数
  • 将似然函数转化为对数似然函数
  • 求对数似然函数的最大值(求导,解似然方程)

最大后验概率估计(MAP)

最大似然估计认为使似然函数 P ( X ∣ θ ) P(X\mid \theta) P(Xθ)最大的 θ \theta θ就是最好的参数 θ \theta θ。此时最大似然估计是将 θ \theta θ看作固定的值,只是其值未知。

最大后验概率认为 θ \theta θ是一个随机变量 θ \theta θ,即具有某种概率分布,称为先验分布,求解时除了要考虑似然函数 P ( X ∣ θ ) P(X\mid \theta) P(Xθ)之外还要考虑 θ \theta θ的先验分布 P ( θ ) P( \theta) P(θ)。其认为 P ( X ∣ θ ) P ( θ ) P(X\mid \theta)P( \theta) P(Xθ)P(θ)取最大时的 θ \theta θ才是最优参数。

由于 X X X的先验分布 P ( X ) P( X) P(X)是固定的,所以其不影响对参数 θ \theta θ的判断。因此最大后验概率估计的公式表示为:

在这里插入图片描述在抛硬币的例子中,通常认为当 θ = 0.5 \theta = 0.5 θ=0.5时可能性最大。因此我们用均值为0.5,方差为0.1的高斯分布来描述 θ \theta θ的先验概率分布。其表达式如下:

在这里插入图片描述
先验分布的函数如图:
在这里插入图片描述
因此,先验与似然的乘积如下:
在这里插入图片描述为了方便求导,我们将其转化为对数函数:
在这里插入图片描述
让上式为0化简得:
在这里插入图片描述

解得, θ ^ ≈ 0.529 \hat{\theta} \approx 0.529 θ^0.529

相比最大似然估计的 θ ^ = 0.6 \hat{\theta} = 0.6 θ^=0.6,可见在最大后验概率估计中 θ \theta θ的估计值与 θ \theta θ的先验分布有的很大的关系。

最大后验概率估计的求解步骤: \red{最大后验概率估计的求解步骤:} 最大后验概率估计的求解步骤:

  • 确定参数的先验分布以及似然函数
  • 将其乘积转换为对数形式
  • 求对数函数的最大值(求导,解方程)

贝叶斯估计

贝叶斯估计是最大后验概率估计(MAP)的进一步扩展。

区别:贝叶斯估计并不是直接估计出 θ \theta θ的某个特定值,而是估计 θ \theta θ的分布

贝叶斯公式:
在这里插入图片描述
这里的 P ( x ) P(x) P(x)是不可忽略的。在连续随机变量中,由于 P ( x ) = ∫ θ P ( X ∣ θ ) P ( θ )   d θ P(x)=\int_\theta {P(X\mid\theta)P(\theta)} \,{\rm d}\theta P(x)=θP(Xθ)P(θ)dθ

因此贝叶斯公式变化为:
在这里插入图片描述从上面的公式中可以看出,贝叶斯估计的求解非常复杂,因此选择合适的先验分布就非常重要。一般来说,计算积分 P ( x ) = ∫ θ P ( X ∣ θ ) P ( θ )   d θ P(x)=\int_\theta {P(X\mid\theta)P(\theta)} \,{\rm d}\theta P(x)=θP(Xθ)P(θ)dθ是不可能的。

对于这个抛硬币的例子来说,如果使用共轭先验分布,就可以更好的解决这个问题。二项分布参数的共轭先验是Beta分布。由于 θ \theta θ的似然函数服从二项分布,因此在贝叶斯估计中,假设 θ \theta θ的先验分布服从 P ( θ ) ∽ B e t a ( α , β ) P(\theta)\backsim Beta(\alpha,\beta) P(θ)Beta(α,β) α \alpha α代表正确的次数, β \beta β代表错误的次数。

Beta分布的概率密度公式为:
在这里插入图片描述因此,贝叶斯公式可写为:
在这里插入图片描述这里
假设, α = 3 , β = 3 \alpha = 3,\beta = 3 α=3β=3。这种情况下,先验概率会在0.5处取得最大。对于贝叶斯估计 P ( θ ∣ X ) ∽ B e t a ( θ ∣ 9 , 7 ) P(\theta \mid X)\backsim Beta(\theta \mid 9,7) P(θX)Beta(θ9,7),这里我们得到的是估计参数 θ \theta θ的分布函数曲线为:
在这里插入图片描述
根据Beta分布的数学期望公式 E ( θ ) = α α + β E(\theta) = \frac{\alpha}{\alpha+\beta} \quad E(θ)=α+βα可得:在这里插入图片描述
从最大似然估计、最大后验概率估计到贝叶斯估计,从下表可以看出 θ \theta θ的估计值 θ ^ \hat\theta θ^是逐渐接近0.5的。从公式的变化可以看出,使用的信息是逐渐增多的。

最大似然估计、最大后验概率估计中都是假设 θ \theta θ未知,但是是一个确定的值,都将使函数取得最大值的 θ \theta θ作为估计值。区别在于最大化的函数不同,最大后验概率估计使用了 θ \theta θ的先验概率。

而在贝叶斯估计中,假设参数 θ \theta θ是未知的随机变量,不是确定值,求解的是参数 θ \theta θ在样本 X X X上的后验分布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/393188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Git】P1 Git 基础

Git 基础Git 基本概念集中式版本控制工具 与 分布式版本控制工具Git 下载与安装Bash 初始设置创建本地仓库Git 三区概念一个简单的提交流程更改文件后再次提交git 实现版本切换查看提交日志设置 git 快捷键版本切换(一)版本切换(二&#xff0…

华为OD机试题,用 Java 解【数据分类】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…

0104路径搜索和单点路径-无向图-数据结构和算法(Java)

文章目录2 单点路径2.1 API2.2 算法实现后记2 单点路径 单点路径。给定一幅图和一个起点s,回答“从s到给定的目的顶点v是否存在一条路径?如果有,找出这条路径。”等类似问题。 2.1 API 单点路径问题在图的处理邻域中十分重要。根据标准设计…

PHP, Python和Java的区别

PHP, Python和Java是广泛使用的编程语言。每种编程语言都有其独特的优点和缺点。在本文中,我们将对这些编程语言进行分析,并探讨它们在不同应用场景中的最佳用途。一、PHPPHP是一种广泛使用的Web编程语言,它可以在服务器上运行,并…

程设 | week2:STL

📚回顾C 🐇struct和class 从功能上说,struct和class几乎没什么区别在不显式声明的情况下,struct成员默认为public,class默认为private和c语言的struct不同,c的struct可以定义成员函数,重载运算…

G6绘制树形图(自定义节点、自定义边、自定义布局)

目录1 设计节点1.1 定义节点和文本1.2 增加节点1.3 自定义节点样式2 树图配置2.1 允许使用自定义dom节点2.2 内置行为自定义边layout布局demo1 设计节点 在 registerNode 中定义所有的节点 G6.registerNode(tree-node, {drawShape: function drawShape(cfg, group) {定义图中…

aws appconfig 理解和使用appconfig对应用程序进行动态配置

参考资料 Automating Feature Release using AWS AppConfig Integration with AWS CodepipelineDeploying application configuration to serverless: Introducing the AWS AppConfig Lambda extensionCreate a pipeline that uses Amazon AppConfig as a deployment provider…

秒懂算法 | 搜索基础

本篇介绍了BFS和DFS的概念、性质、模板代码。 01、搜索简介 搜索,就是查找解空间,它是“暴力法”算法思想的具体实现。 暴力法(Brute force,又译为蛮力法):把所有可能的情况都罗列出来,然后逐一检查,从中找到答案。这种方法简单、直接,不玩花样,利用了计算机强大的…

JavaScript 中的 String 类型 模板字面量定义字符串

ECMAScript 6新增了使用模板字面量定义字符串的能力。与使用单引号或双引号不同,模板字面量保留换行字符,可以跨行定义字符串: let str1 早起的年轻人\n喜欢经常跳步;let str2 早起的年轻人喜欢经常跳步;console.log(str1);// 早起的年轻人…

【游戏逆向】游戏玩家技能冷却分析

技能冷却对于不同的游戏有不同的存放方式,而技能冷却的遍历也大多不会和技能的普通属性放在一起,在《在**明月刀》这款游戏中,技能的冷却判断格外重要,因为技能的连贯性对打怪的效率影响很大。 我们需要找一个冷却相对较长的技能用来进行扫描和过滤,一般选择几十秒即可,…

【本周特惠课程】基于GAN的图像增强理论与实践(涵盖图像降噪、色调映射、去模糊、超分辨、修复等方向)...

前言欢迎大家关注有三AI的视频课程系列,我们的视频课程系列共分为5层境界,内容和学习路线图如下:第1层:掌握学习算法必要的预备知识,包括Python编程,深度学习基础,数据使用,框架使用…

Windows扫描工具RunScanner使用实验(21)

实验目的 掌握利用Runscanner扫描和分析电脑;预备知识 RunScanner是一个完全免费的Windows系统工具,您可以用它轻松地将隐藏在您系统中的autostart程序,spyware,adware,主页劫持,未经认证的驱动揪出来,并可以导入和导出报告以帮助别人或获取帮助.目前它可以…

华为OD机试题,用 Java 解【素数之积】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…

C++中的利器——模板

前文本文主要是讲解一下C中的利器——模板,相信铁子们在学完这一节后,写代码会更加的得心应手,更加的顺畅。一,泛型编程想要学习模板,我们要先了解为什么需要模板,我们可以看看下面这个程序。int add(int&a…

MDK Keil5 创建Stm32工程-理论篇(这里以Stm32F103Zet6为例)

一、文件夹创建与文件说明整个工程可以粗略的划分为几个文件夹:BSP底层驱动比如GPIO\Timer等驱动文件CMSIS内核相关的文件Firmware生成的固件下载文件Mycode用户编写的相关文件,主要编写的文件都在这个文件夹里Project工程文件startup芯片启动文件STM32F…

1.C#与.NET简介

目录 一、C#语言及其特点 二、C#与.NET Framework/.NET Core关系 三、C#应用开发 四、案例展示 五、学习环境 一、C#语言及其特点 C#是美国微软公司发布的一种面向对象的,运行于 .NET Framework 和 .NET Core (完全开源,跨平台&#xff…

什么是LSM-Tree

前言 十多年前,谷歌发布了大名鼎鼎的"三驾马车"的论文,分别是GFS(2003年),MapReduce(2004年),BigTable(2006年),为开源界在大数据领域带来了无数的灵感&#…

unity的安装配置和第一个游戏-unity开学第一课

许多的小伙伴学编程语言其实是因为玩游戏,玩着玩着就想写游戏了,于是开始学习c学习C#学习java,但相比之下C#的操作会更加容易,所以就开始学习unity来编游戏了。这里就就算是unity开学第一课啦-unity的安装配置和第一个游戏。 文章…

Maven项目的创建

目录 1.创建java项目 1.1 新建项目​编辑 2 创建web项目 2.1 新建项目 2.2 启动项目 2.2.1 修改jdk的版本 2.2.2 设置单元测试的版本 2.2.3 删除pluginManagement标签 2.2.4添加web部署插件 2.2.5 启动项目 1.创建java项目 1.1 新建项目 创建resources目录 利用maven…

类模板函数模板从属类型

准备看个项目找实习&#xff0c;边看边学&#xff0c;一看到处都是template 和typename&#xff0c;好几年前学的C都忘记光了&#xff0c;在这里先做个笔记复习一下。template <class T> T abs(T x) {if(x < 0) return -x;return x; } int main() {int x 1;cout <…