工作小笔记——对MLE和MAP的简单理解
文章目录
- 前言
- 1. 问题描述
- 1.1 MLE
- 1.2 MAP
- 2. 简单通信系统的例子
- 2.1 MLE解调
- 2.2 MAP解调
- 3. 数据拟合
- 3.1 MLE的推导及其与最小二乘的关系
- 3.2 MAP的考虑
- 参考文献
前言
本文简单描述最大似然估计(MLE, Maximum Likelihood Estimation)和最大后验概率估计(Maximum A Posteri)的关系和区别。
1. 问题描述
考虑一个随机变量A和它的观测值B,如何通过观测到B的值估计A的值?有两种基于条件概率的估计方式:
- 第一种,构造一个条件概率函数:P(B∣A)P(B|A)P(B∣A),即已知A的情况下B的概率分布,求满足该条件概率最大的A的值,即为A的估计值。
- 第二种,构造一个条件概率函数:P(A∣B)P(A|B)P(A∣B),即已知B的情况下A的概率分布,求满足该条件概率最大的A的值,即为A的估计值;
1.1 MLE
考虑上述第一种,我们求满足P(B∣A)P(B|A)P(B∣A)最大的A的值。P(B∣A)P(B|A)P(B∣A)又称为似然概率,所以这种估计方式叫做最大似然估计(MLE)。
1.2 MAP
考虑上述第二种,求满足P(A∣B)P(A|B)P(A∣B)最大的A的值。也就是说,求观测到B的情况下,A最有可能的值,直观上来说,这是我们真正要做的事情。然后,一般而言,条件概率P(A∣B)P(A|B)P(A∣B)并不好求。于是,根据贝叶斯公式进行变换后可得求A的估计值的公式:
A^=argmaxA[P(A∣B)]=argmaxA[P(B∣A)×P(A)P(B)]=argmaxA[P(B∣A)×P(A)]\begin{aligned} \hat{A} &= \text{argmax}_{A}[P(A|B)] \\ &= \text{argmax}_{A}[\frac{P(B|A) \times P(A)}{P(B)}] \\ &= \text{argmax}_{A}[P(B|A) \times P(A)] \end{aligned} A^=argmaxA[P(A∣B)]=argmaxA[P(B)P(B∣A)×P(A)]=argmaxA[P(B∣A)×P(A)]
2. 简单通信系统的例子
以一个简单通信系统为例,假设发送端发送的符号是一个两电平信号,分别为0和1,经过一个高斯白噪声信道后,接收端根据接收到的信号来判决发送的是0还是1。
2.1 MLE解调
接收到的信号RRR是一个随机变量,满足R∈N(μ,σ2)R \in N(\mu, \sigma^2)R∈N(μ,σ2)的概率分布,其中:
- 发送符号为0时,R∈N(0,σ2)R \in N(0, \sigma^2)R∈N(0,σ2),其概率密度函数如下图蓝线所示;
- 发送符号为1时,R∈N(1,σ2)R \in N(1, \sigma^2)R∈N(1,σ2),其概率密度函数如下图红线所示。
那么,如何根据接收到的信号幅度估计发送的符号是0还是1?显然,把接收到的信号幅度值对应到上图的x轴,判断这两条曲线的y轴值,选取y值最大的那条概率密度曲线对应的符号作为估计值。
如上图中红色箭头所示的位置,发送符号的估计值为1。
2.2 MAP解调
还是以上面这个简单通信系统举例,由于已知发送的两电平符号的概率是均匀分布,也就是说发0和发1的概率是一样的,所以上述MAP的公式退化为MLE。
假设我们知道发送端发送符号时,有0.3的概率发0,有0.7的概率发1,那么0和1时的两条概率曲线变成下图所示。给定一个x的值,很大概率会被判成1。似乎和常识不符。
3. 数据拟合
假设有一组样本数据:D={(x1,y1),(x2,y2),...,(xn,yn)}\textbf{D} = \{(\mathbf{x}_1, y_1), (\mathbf{x}_2, y_2), ..., (\mathbf{x}_n, y_n) \}D={(x1,y1),(x2,y2),...,(xn,yn)},其中:
- xi\mathbf{x}_ixi为一个mmm维的向量,xi=[xi1xi2xi3...xim]T\mathbf{x}_i = \begin{bmatrix} x_{i1} & x_{i2} & x_{i3} & ... & x_{im} \end{bmatrix}^Txi=[xi1xi2xi3...xim]T,i=1,..,ni=1,..,ni=1,..,n
- yiy_iyi为标量
- yiy_iyi和xix_ixi之间满足如下映射关系:yi=ωTxi+by_i = \mathbf{\omega}^T \mathbf{x}_i + \mathbf{b}yi=ωTxi+b,其中:
ω=[ω1ω2ω3...ωm]T\mathbf{\omega} = \begin{bmatrix} \omega_1 & \omega_2 & \omega_3 & ... & \omega_m \end{bmatrix}^T ω=[ω1ω2ω3...ωm]T
3.1 MLE的推导及其与最小二乘的关系
数据拟合的问题就是已知样本集合DDD的情况下,估计ω\mathbf{\omega}ω的过程。这个过程可以用最大似然的概念来描述,就是求argmaxω[P(D∣ω)]\textbf{argmax}_{\mathbf{\omega}}[P(\textbf{D} | \mathbf{\omega})]argmaxω[P(D∣ω)]。
上述过程中,如果令xi0=1x_{i0}=1xi0=1,则bbb可以吸收到ωTxi\mathbf{\omega}^T \mathbf{x}_iωTxi中去,为了简化起见,以下推导都省略bbb。
P(D∣ω)=∏i=0np(xi,yi∣ω)\begin{aligned} P(\textbf{D} | \mathbf{\omega}) &= \prod_{i=0}^{n}p(\textbf{x}_i, y_i |\mathbf{\omega}) \end{aligned} P(D∣ω)=i=0∏np(xi,yi∣ω)
对于数据集合,可以认为其样本包含高斯噪声,即:yi=ωTxi+N(0,σ2)y_i = \mathbf{\omega}^T \mathbf{x}_i + N(0,\sigma^2)yi=ωTxi+N(0,σ2),所以有:
p(xi,yi∣ω)=12πexp(−(yi−ωTxi)22σ2)p(\textbf{x}_i, y_i |\mathbf{\omega}) =\frac{1}{\sqrt{2\pi}} \textbf{exp} (- \frac{(y_i - \mathbf{\omega}^T\mathbf{x}_i)^2}{2\sigma^2}) p(xi,yi∣ω)=2π1exp(−2σ2(yi−ωTxi)2)
采用对数似然函数可以得到:
L(ω)=∑(log12π−(yi−ωTxi)22σ2)L(\omega) = \sum(\mathbf{log}\frac{1}{\sqrt{2\pi}} - \frac{(y_i - \mathbf{\omega}^T\mathbf{x}_i)^2}{2\sigma^2}) L(ω)=∑(log2π1−2σ2(yi−ωTxi)2)
去除与ω\omegaω无关项,最大似然估计的ω^\hat{\mathbf{\omega}}ω^,即求似然函数L(ω)L(\omega)L(ω)的最大值等价于:
ω^=argmaxω[L(ω)]=argminω[∑(yi−ωTxi)2]\begin{aligned} \hat{\mathbf{\omega}} &= \textbf{argmax}_{\mathbf{\omega}}[L(\omega)] \\ &= \textbf{argmin}_{\mathbf{\omega}}[ \sum(y_i - \mathbf{\omega}^T\mathbf{x}_i)^2 ] \end{aligned} ω^=argmaxω[L(ω)]=argminω[∑(yi−ωTxi)2]
由此可知,在观测为高斯噪声条件下,最大似然等价于最小二乘。
3.2 MAP的考虑
如果说ω\omegaω的先验概率已知,即p(ω)p(\omega)p(ω)为已知函数,那么MAP的估计值就是:
ω^=argmaxω[L(ω)+logp(ω)]=argmaxω[logp(ω)−(yi−ωTxi)22σ2]\begin{aligned} \hat{\mathbf{\omega}} &= \textbf{argmax}_{\mathbf{\omega}}[L(\omega)+\mathbf{log}p(\omega)] \\ &= \textbf{argmax}_{\mathbf{\omega}}[\mathbf{log}p(\omega) - \frac{(y_i - \mathbf{\omega}^T\mathbf{x}_i)^2}{2\sigma^2}] \end{aligned} ω^=argmaxω[L(ω)+logp(ω)]=argmaxω[logp(ω)−2σ2(yi−ωTxi)2]
如果p(ω)p(\omega)p(ω)也是高斯分布,那么MAP就变成了kalmann滤波器。
参考文献
无。
工作小笔记——对MLE和MAP的简单理解相关推荐
- 工作小笔记——使用Cartographer建图和调优
文章目录 前言 1. 前提 2. 运行Demo数据 3. 处理自己录制的数据 3.1 录制数据 3.2 验证数据 3.3 构建.lua配置文件 3.4 构建urdf文件 3.5 构建launch文件 ...
- 工作小笔记——机器人底盘上里程计和惯导的融合
前言 本文针对双轮差动模型的底盘,简单描述里程计和IMU融合的方案. 1. 融合的输入信息 1.1 里程计信息 里程计得到的是原始的轮速信息,之后通过双轮差速模型转换得到车体线速度和角速度,假设: 车 ...
- 工作小笔记——电机基本参数和选型
文章目录 前言 1. 直流电机的等效电路图 2. 电机参数的推导 2.1 电机转速和反向电动势之间的关系:反电动势常数KeK_eKe 2.2. 电机扭矩和电流之间的关系:扭矩常数KTK_TKT 2 ...
- dockerfile 执行原理_docker笔记2_原理解析和dockerfile简单理解
Docker 的镜像原理 镜像是一种轻量级.可执行的独立软件包,用来打包运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码,运行时,库,环境变量和配置文件. 官方解释 Uni ...
- 对微信小程序的云开发模式的简单理解
- route map: 转发一个博客,附上自己的简单理解
最近在做实验需要用到route map,搜到了一个博客感觉挺不错,分享一下: https://blog.csdn.net/ZhangPengFeiToWinner/article/details/85 ...
- 频率学派还是贝叶斯学派?聊一聊机器学习中的MLE和MAP
作者:夏飞 Google | 软件工程师 量子位 已获授权编辑发布 转载请联系原作者 本文作者夏飞,清华大学计算机软件学士,卡内基梅隆大学人工智能硕士,现为谷歌软件工程师. 在这篇文章中,他探讨了机器 ...
- linux数据包注释,关于 linux中TCP数据包(SKB)序列号的小笔记
关于 SKB序列号的小笔记 为了修改TCP协议,现在遇到了要改动tcp分组的序列号,但是只是在tcp_sendmsg函数中找到了SKB的end_seq 一直没有找到seq 不清楚在那里初始化了,就 ...
- 【iOS开发每日小笔记(一)】UIPickerView 自动选择某个component的某个row
这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己 ...
最新文章
- java最简单的并查集(不想交集合)以及杭电1272
- [转载]图的割点、桥与双连通分支
- 网页中弹出模式对话框
- java 生成msg文件_java – 如何获取.MSG文件的MIME类型?
- jquery实时监听输入框值变化
- python的内存泄露_Python 程序的内存泄露,教你一招来解决?
- 华为P30系列机身侧面照曝光 摄像头仍然“凸起”...
- html alert 确认加事件,js事件中有alert执行顺序的问题
- 持续集成(一)思想篇
- 1. C++基础知识学习及其深入理解(面向对象部分还没学) -- 课程1完成
- mysql 不等于查询优化_MySQL查询性能优化
- 一个医院内的计算机网络系统属于,医院信息管理系统
- win10下安装ubuntu双系统
- 基于C++实现的运动会统分系统
- 揭秘北京龙泉寺,连清华北大学子都排队出家的神秘科研组织
- 基于麻雀算法的无人机航迹规划 - 附代码
- cocos creator运行正常,微信开发者工具中报错XXX is not defined.
- 第四章课后习题-用Python实现羊车门问题,最大公约数计算,猜字游戏,统计不同字符个数。
- 共祖系数、相关系数和近交系数
- php程序设计专用周报告,《php程序设计》实验论文报告.doc
热门文章
- 2022年中国春节档电影观影人次、票房收入及票价走势分析[图]
- [项目管理-33]:需求管理与范围管理的异同
- python爬虫——爬取图书馆借阅数据
- win10 android驱动问题,WIN10 64位 android驱动无法安装
- yarn computed integrity doesn‘t match our records 错误
- 先锋录音系统服务器,先锋音讯IP电话云录音系统——全球首创
- linux keypad driver
- Just Waiting for You!个性化推荐带你领略不一样的算法之美
- PAT_乙级1010
- 既生list何生tuple