zoukankan      html  css  js  c++  java
  • 贝叶斯算法

    贝叶斯算法是一种分类算法,它以贝叶斯公式为基础。

    贝叶斯公式

    P(B | A) = P(A | B)  P(B)  / P(A)

    举例:

    我们有非常多文章。而且我们想依据这些文章的内容将文章归类。

    贝叶斯对于归类问题须要得到三个解,即上面公式的P( A | B), P(A), P(B)

    首先我们理解P(A | B)

    表示当B条件下A出现的概率。在这里表示,某类文章中某些单词组(或者能够叫特征词组)出现的概率。

    理解P(B)

    表示此类文档的个数在文档总数中的比例。

    理解P(A)

    表示所有文档包括特征词组的概率

    举例

    第一个样例。两个一模一样的碗,一号碗有30颗水果糖和10颗巧克力糖,二号碗有水果糖和巧克力糖各20颗。如今随机选择一个碗,从中摸出一颗糖。发现是水果糖。请问这颗水果糖来自一号碗的概率有多大?


    我们假定,H1表示来自一号碗。H2表示来自二号碗。因为这两个碗是一样的,所以P(H1)=P(H2),也就是说,在取出水果糖之前,这两个碗被选中的概率同样。因此,P(H1)=P(H2)=0.5。我们把这个概率就叫做"先验概率"。即没有做实验之前,来自一号碗和二号碗的概率都是0.5。
    再假定。E表示取到水果糖。所以问题就变成了在已知E的情况下。来自一号碗的概率有多大。即求P(H1|E)。我们把这个概率叫做"后验概率",即在E事件发生之后。对P(H1)的修正。

    依据条件概率公式,得到:

    P(H1 | E) = P(H1)*P(E | H1) / P(E)

    已知,P(H1)等于0.5,P(E|H1)为一号碗中取出水果糖的概率,等于0.75。那么求出P(E)就能够得到答案。依据全概率公式 :

    P(E) = P(E | H1)  * P(H1) + P(E | H2)  * P(H2)    

    所以:

    P(E) = 0.75*0.5 + 0.5*0.5 = 0.625

    将数字代入原方程。得到:

    P(H1 | E) = 0.5 * 0.75 / 0.625 = 0.6

    这表明,来自一号碗的概率是0.6。也就是说,取出水果糖之后,H1事件的可能性得到了增强。

    第二个样例

    已知:有N个苹果,和M个梨子,苹果为黄色的概率为20%,梨子为黄色的概率为80%。问。假如我在这堆水果中观察到了一个黄色的水果,问这个水果是梨子的概率是多少。




    用数学的语言来表达,就是已知P(apple) = N / (N + M), P(pear) = M / (N + M), P(yellow|apple) = 20%, P(yellow|pear) = 80%, 求P(pear|yellow).


    要想得到这个答案,我们须要 1. 要求出所有水果中为黄色的水果数目。 2. 求出黄色的梨子数目


    对于1) 我们能够得到 P(yellow) * (N + M), P(yellow) = p(apple) * P(yellow|apple) + P(pear) * p(yellow|pear)


    对于2) 我们能够得到 P(yellow|pear) * M


          2) / 1) 可得:P(pear|yellow) = P(yellow|pear) * p(pear) / [P(apple) * P(yellow|apple) + P(pear) * P(yellow|pear)]


    化简可得:P(pear|yellow) = P(yellow,pear) / P(yellow), 用简单的话来表示就是在已知是黄色的,能推出是梨子的概率P(pear|yellow)是黄色的梨子占所有水果的概率P(yellow,pear)除上水果颜色是黄色的概率P(yellow). 这个公式非常easy吧。




    我们将梨子代换为A,黄色代换为B公式能够写成:P(A|B) = P(A,B) / P(B), 可得:P(A,B) = P(A|B) * P(B).贝叶斯公式就这样推出来了。


    对贝叶斯理解还不是非常深刻如有错误请大家指正


查看全文
  • 相关阅读:
    OncePerRequestFilter原理简介
    springboot开启定时任务
    springboot2.x设置跨域的方式
    axios的各种post提交方式总结
    使用FeignClient启动时出错的问题The bean 'xxx.FeignClientSpecification', defined in null
    Spring Boot 工程热部署
    Quartz中表及其表字段的意义
    Java基础
    maven环境隔离
    扫码登录技术原理
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10848788.html
  • Copyright © 2011-2022 走看看