• 说人话搞懂【极大似然估计】和【最大后验概率】的区别!


    MLE&MAP

    什么是先验/后验概率

    我们先给出一些符号定义,令\(\theta\)表示模型参数,\(D\)表示数据。

    先验概率比较好理解,比如 \(p(D)\)就表示数据的先验概率(prior probability)。

    但是在之前我经常搞不明白 \(p(D|\theta)\)\(p(\theta|D)\) 哪个才是后验概率(posterior probability)。其实二者都可以看做是后验概率,只不过少了定语。具体来说 \(p(D|\theta)\) 是数据 \(D\) 的后验概率,即已经告诉你模型参数 \(\theta\) 了,要你求数据的概率,所以是后验概率。同理\(p(\theta|D)\) 是告诉你数据后,让你求\(\theta\)的后验概率。所以,要根据语境去判断哪个才是后验概率。

    似然概率

    下面介绍一下贝叶斯公式这个老朋友了,或者说是熟悉的陌生人。

    \[p(\theta|D)=\frac{p(D|\theta)p(\theta)}{p(D)} \tag{1} \]

    假设我们研究的对象是变量\(\theta\),那么此时先验概率就是 \(p(\theta)\),(\(\theta\)的) 后验概率是\(p(\theta|D)\)

    \(p(D|\theta)\) 是什么呢?它就是本文的另一个主角:似然概率 (likelihood probability),顾名思义是给定参数\(\theta\),求数据是\(D\)的概率是多少。

    一般来说 \(p(\theta)\)是不知道的或者说很难求解,但是我们可以知道后验概率和 (似然概率乘以先验概率)呈正相关关系,所以\(p(\theta)\)即使不知道也不影响对后验概率的求解。

    极大似然估计 与 最大后验概率估计

    极大似然估计 (Maximum Likelihood Estimate, MLE)和最大后验概率估计(Maximum A Posteriori (MAP) estimation)其实是两个不同学派的方法论。

    MLE是频率学派模型参数估计的常用方法,它的目的是想最大化已经发生的事情的概率。我们在用神经网络训练分类器的时候其实就可以理解成是MLE。具体来说,假设数据\(D\)由一组数据样本组成,即\(D=\{d_1,...,d_n\}\),模型参数用\(\theta\)表示,我们假设每个样本预测彼此独立,所以MLE的求解方式如下:

    \[\begin{aligned} \hat{\theta}_{\mathrm{MLE}} &=\arg \max P(D ; \theta) \\ &=\arg \max P\left(d_{1} ; \theta\right) P\left(d_{2} ; \theta\right) \cdots P\left(d_{n} ; \theta\right) \\ &=\arg \max \log \prod_{i=1}^{n} P\left(d_{i} ; \theta\right) \\ &=\arg \max \sum_{i=1}^{n} \log P\left(d_{i} ; \theta\right) \\ &=\arg \min -\sum_{i=1}^{n} \log P\left(d_{i} ; \theta\right) \end{aligned} \tag{2} \]

    可以看到,上面其实就是我们常用的交叉熵损失函数。那么如何用MAP来优化模型参数呢?公式如下:

    \[\begin{aligned} \hat{\theta}_{\mathrm{MAP}} &=\arg \max P(\theta \mid D) \\ &=\arg \min -\log P(\theta \mid D) \\ &=\arg \min -\log P(D \mid \theta)-\log P(\theta)+\log P(D) \\ &=\arg \min -\log P(D \mid \theta)-\log P(\theta) \end{aligned} \tag{3} \]

    可以看到 \(log(MAP(\theta))\approx log({MAP(\theta)})+log(\theta)\)。而\(p(\theta)\)其实就是常用的正则项,即对模型参数的约束。

    微信公众号:AutoML机器学习
    MARSGGBO原创
    如有意合作或学术讨论欢迎私戳联系~
    邮箱:marsggbo@foxmail.com

    2022-04-10 17:21:14

  • 相关阅读:
    EasyUI的DataGrid 打印导出
    js 验证各种格式类型的正则表达式
    双机热备方案
    使用 IDEA 创建 Maven Web 项目 (异常) Disconnected from the target VM, address: '127.0.0.1:59770', transport: 'socket'
    MySQL 常用函数
    使用 IDEA 创建 Maven Web 项目 (四) 让 WEB 应用跑起来
    使用 IDEA 创建 Maven Web 项目 (二) 搭建 WEB 项目框架
    使用 IDEA 创建 Maven Web 项目 (三) 编写一个简单的 WEB 应用
    Android 开发环境 —— Eclipse 启动时报错:Error when loading the SDK
    使用 EasyUI 创建左侧导航菜单
  • 原文地址:https://www.cnblogs.com/marsggbo/p/16127306.html
Copyright © 2020-2023  润新知