贝叶斯决策论(Bayesian decision theory)

机器学习,信号检测都会涉及到和贝叶斯有关的很多方法,很容易混乱抓不住本质,最近学习贝叶斯分类器,需要贝叶斯决策论做基础,特此记录梳理。
顾名思义,贝叶斯决策论是利用概率来进行决策,是概率框架下的方法。它属于机器学习的分支——统计机器学习。
本文探讨的是贝叶斯决策的思路,思想,通过逐点推导,让你知道它到底基于什么,目的又是什么。

(一)以多分类任务为例

本文以多分类任务为例,讲解到底怎么用概率做出决策(分类)。

假设有N种类别标记,即 y ∈ { c 1 , c 2 , … , c N } y\in\left\{c_1,c_2,\ldots,c_N \right\} y{c1,c2,,cN};
λ i j \lambda_{ij} λij 是将一个真实标记为 c j c_j cj的样本误分类为 c i c_i ci所产生的损失;
基于后验概率 p ( c i ∣ x ) p(c_i|x) p(cix),可得将样本?分类为 c i c_i ci所产生的期望损失(expected loss),即在样本?上的“条件风险”( conditional risk) :

(1) R ( c i ∣ x ) = ∑ j = 1 N λ i j p ( c j ∣ x ) R(c_i|x)=\sum_{j=1}^N\lambda_{ij}p(c_j|x)\tag1 R(cix)=j=1Nλijp(cjx)(1)

x属于第j类的概率乘以把第j类误判为第i类的风险,对所有j取期望,就是把x分类为i的条件风险了。

和贝叶斯有关的方法都喜欢把损失称作风险,其实是一个东西,都是越小越好,优化目的都是去最小化风险/损失。

学过随机过程都知道,(1)只是条件期望,要求无条件的期望还得再对条件期望求一次期望(我也觉得这么说很讨打······)。

(1)对j来了一次统计平均(期望),得到了样本x的条件风险,下面我们再对所有样本做统计平均,以得到总体贝叶斯决策风险:
(2) R ( h ) = E x [ R ( h ( x ) ∣ x ) ] R(h)=E_x[R(h(x)|x)]\tag2 R(h)=Ex[R(h(x)x)](2)

其中h就是我们要去求解的判定准则,即映射 h : X → y h:X\to y h:Xy,X为样本集,y是类别集。

我发现涉及概率,期望的公式给别人解释起来很难表达清楚,但实际上如果你明白后验,似然,条件均值这些很基本的知识和思想的话,(1)(2)特别简单好理解,但同时也很让人钦佩。

(2)更多是理论指导意义。毕竟对所有样本求统计平均不好实现,就是把每个样本出现的概率乘上它的条件风险,对所有样本求和。要最小化总体风险,实际上我们只需要让每个样本的条件风险最小即可。

所以问题就变为,找一个判决准则h,使得 R ( h ( x ) ∣ x ) R(h(x)|x) R(h(x)x)最小化:
min ⁡ h R ( h ( x ) ∣ x ) \min_h R(h(x)|x) hminR(h(x)x)

那当然就是直接选择条件风险最小的那个类别不就好了!

所以判决准则h就是:直接选择条件风险最小的那个类别:
(3) h ∗ = arg ⁡ min ⁡ c ∈ y R ( c ∣ x ) h^*=\arg\min_{c\in y}R(c|x)\tag3 h=argcyminR(cx)(3)

这个判决器 h ∗ h^* h就是贝叶斯最优分类器Bayes optimal classifier。最优体现在它使得每个样本的条件风险最小,也就使得所有样本的总体风险最小,就是总损失最小。

之前最小二乘,SVM等模型,求解模型的思路也是去最小化损失,但最小二乘用的损失是均方误差和,SVM是基于最大化间隔margin的思路,而这里用的是条件概率(准确说这里用的后验概率)去充当损失,是完全不同的思路。

更进一步,我们把最开始说的分类错误损失 λ i j \lambda_{ij} λij具体化,如果训练和学习的目的是最小化分类的错误率,那么可以这么定义 λ i j \lambda_{ij} λij:
(4) λ i j = { 0 , i = j 1 , o t h e r w i s e \lambda_{ij}=\left\{ \begin{aligned} 0&,i=j\\ 1&,otherwise\\ \end{aligned} \right.\tag4 λij={01,i=j,otherwise(4)

代入(1),可以发现:

R ( c i ∣ x ) = 1 − p ( c i ∣ x ) R(c_i|x)=1-p(c_i|x) R(cix)=1p(cix)
因为 ∑ j = 1 N p ( c j ∣ x ) = 1 \sum_{j=1}^Np(c_j|x)=1 j=1Np(cjx)=1.

即,x的条件风险就是1减去后验概率。(仅限于判决错误损失是(4)哈)

所以,问题进一步*从最小化条件风险转化为最大化后验概率。

判决准则h也就具体化为最大化后验概率。
h ∗ = arg ⁡ max ⁡ c ∈ y p ( c ∣ x ) h^*=\arg\max_{c\in y}p(c|x) h=argcymaxp(cx)
因此,对于测试阶段新来的样本,我们只要把它分为后验概率最大的那个类别就能保证分类错误率最低啦。

总结来说,贝叶斯决策论是的初衷是用后验概率和判决错误损失一起表示每个样本的决策风险,然后它基于要最小化总体决策风险的大局观去思考,发现这等同于最小化每个样本的条件风险,那么每个样本的条件风险在数学上具体表达是什么呢,这需要具象化判决损失才能得到,以最简单的(4)做判决损失的话,得到的最小化条件风险进一步变成了最大化每个样本的后验概率。于是经过这么一系列的思路变迁,得到了在这种判决损失下的最优判决准则——为每个样本选择后验概率最大的类别标记。

(二)怎么得到P(c|x)?

第一节仔仔细细把来龙去脉说清楚了,最后得到一个简单的结论:把新样本分为后验概率最大的那个类别。

新问题又来了,我怎么计算新样本的后验概率呢?怎么通过有限的训练样本集学习到能尽可能准确地估计出后验概率的模型呢?这并不是一个简单的问题。由此就产生了两大阵营:判别式和生成式。

  1. 判别式模型,discriminative models:直接建模后验概率 p ( c ∣ x ) p(c|x) p(cx)
  2. 生成式模型,generative models:建模联合概率 p ( c , x ) p(c,x) p(c,x),再得到后验 p ( c ∣ x ) p(c|x) p(cx)
  • 12
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值