zoukankan      html  css  js  c++  java
  • 贝叶斯决策理论

    什么是贝叶斯决策理论?

    学过概率论的人都知道大名鼎鼎的贝叶斯公式:

    [P(B|A) = frac {P(A|B)P(B)}{P(A)} $$. 贝叶斯决策理论就是以贝叶斯公式为基础的决策理论, 以最似然解为解. 直白粗暴地说, 哪个有把握就选哪个. 这里的把握就是后验概率. 给定样本集$D$, 所有的样本$X$都属于$c$个互斥的类别, 用$w_1, w_2, dots, w_c$表示. 现从$D$中随机取出一个样本$x$, 判断它所属类别. 根据贝叶斯公式可以将样本$x$属于第$k$类$w_k$的后验概率表示为: ]

    P(w_k|x) = frac{P(x|w_k)P(w_k)}{P(x)}

    [若$P(w_k|x)$是所有类别后验概率中最大的, 即最有把握的, 最大贝叶斯决策方法就以$w_k$作为$x$的类别: $$k = max_k(P(w_k|x))]

    (P(x|w_k), P(w_k), P(x))这三个概率都是可以通过样本(D)计算出来的. 其中, 起作用的是前两者, (P(x))没有必要计算出来. 因为作出决定时需要的是后验概率的相对大小, 而不是绝对大小. (P(x))与类别无关, 对所有的类别来说都一样, 比较大小时可以约掉. 所以最后的决策函数可以写为:$$k = max_k(P(x|w_k)P(w_k))$$.

    直觉后面的理性

    在看到哪个有把握就选哪个 时, 你可能会有一种在听废话的感觉. 没错, 从生活的角度来讲, 你是对的. 我们平时做出的很大一部分决定都是选自己有把握的, 这好像已经成为我们的本能. 但是你的把握是怎么计算出来的呢? 通过有意识或无意识的贝叶斯计算. 比如让你预测一下明天的太阳是从东边升起还是从西边升起(前提是明天不是2012.12.24, 你知道太阳肯定会升起). 你肯定想都不用想就回答东边, 因为这是常识. 它背后的贝叶斯式推理为:
    样本集: 往常的太阳升起的每一天, 太阳都是从东边升起的.

    [P(太阳从东边升起|太阳升起) = frac {P(太阳升起|太阳从东边升起)P(太阳从东边升起)}{P(太阳升起)} ]

    [= frac {1 * 1}{1} = 1. ]

    也就是说, 根据以往太阳升起的情况, 你有百分之百的把握断定明天的太阳是从东边升起的. 再看看你对太阳从西边升起的把握.

    [P(太阳从西边升起|太阳升起) = frac {P(太阳升起|太阳从西边升起)P(太阳从西边升起)}{P(太阳升起)} ]

    [ = frac {1 * 0}{1} = 0. ]

    也就是说, 你认为太阳不可能从西边升起, 除非太阳打西边出来, 呵呵.

    风险最小化原则

    其实上面的那些是为了方便理解的简化说法. 哪个有把握就选哪个, 更general的说法是哪个风险小就选哪个. 那么, 风险是什么呢? 风险是损失的期望值. 损失又是什么呢? 损失是做出某个判断, 等真相大白后为自己的判断要付出的代价.假如你是一个股民, 现在要决定是否买某支股票, 你会首先去判断这支股票以后是涨还是跌. 判断涨就买入, 判断跌就不买入. 假如你判断它是跌的, 然后没有买, 但后来这支股票却意外的涨了. 这时你没有买, 所以你少赚了, 受到了隐性损失. 假如果买入这支涨股可以产生收入100,000, 那么你此时的损失就是100,000.
    正式的描述一下: (alpha_k)代表判断样本(x)属于类型(w_k), (lambda(alpha_k|w_j))代表判断(x)属于类型(w_k), 但实际上它却属于类型(w_j)时要付出的代价, 即损失, 简写为(lambda_{kj}). 做出决定(alpha_k)时你暂时不知道(x)到底属于哪一类, 对你来说, 最理性的选择是预期损失最小的那个. 预期损失就是损失的期望值, 即风险值. 所以, 对样本(x)做出某个判断(alpha_k)的风险可以表示为:

    [R(alpha_k|x) = sum lambda_{kj}P(w_j|x) ]

    再回到买股票的例子,分别用(w_1, w_0)代表涨股与跌股, 那么(alpha_1, alpha_0)分别代表你判断股票(x)是涨股/跌股.

    假设

    • 买了涨股的损失为(lambda_{11} = -10,000). (负损失代表收入)
    • 买了跌股的损失为(lambda_{10}=20,000).
    • 没买涨股的损失为(lambda_{01}= 10,000).
    • 没买跌股的损失为(lambda_{00} = -20,000).
    • 这支股票上涨的概率为(P(w_1|x) = 0.1),下跌的概率为(P(w_0|x) = 0.9)

    那么,

    • 判断(x)为涨股并买入的风险为:(R(alpha_1|x) = lambda_{11} P(w_1|x) + lambda_{10} P(w_0|x) = -10,000 * 0.1 + 20,000 * 0.9 = 17,000)
    • 判断(x)为跌股不买入的风险为:(R(alpha_2|x) = lambda_{01} P(w_1|x) + lambda_{00} P(w_0|x) = 10,000 * 0.1 - 20,000 * 0.9 = -17,000)
    • (R(alpha_2|x) < R(alpha_1|x)), 所以, 此时风险最小化的选择是判断(x)为跌股不买入.

    总结一下, 贝叶斯决策理论, 是风险最小化的决策理论. (严格的说, 是经验风险最小化因为(P(w_k|x))是一个估计出来的经验值).

  • 相关阅读:
    常用的清理 Kubernetes 集群命令
    mask彻底禁用systemctl服务
    ansibleplaybook指定role limit
    极速理解设计模式系列:16.迭代器模式(Iterator Pattern)
    极速理解设计模式系列:19.备忘录模式(Memento Pattern)
    极速理解设计模式系列:8.策略模式(Strategy Pattern)
    极速理解设计模式系列:6.适配器模式(Adapter Pattern)
    PostSharp AOP编程:2.PostSharp的OnMethodBoundaryAspect类基本组成
    极速理解设计模式系列:18.访问者模式(Visitor Pattern)
    极速理解设计模式系列:10.抽象工厂模式(Abstract Factory Pattern)
  • 原文地址:https://www.cnblogs.com/dengdan890730/p/5475769.html
Copyright © 2011-2022 走看看