美文网首页
贝叶斯算法-简易入门

贝叶斯算法-简易入门

作者: code_solve | 来源:发表于2018-12-03 19:18 被阅读0次

    请在电脑端观看,手机端某些显示可能会有一些问题

    什么是贝叶斯算法?

    好吧,这是一个伪标题,我们可以从以下几点对贝叶斯进行一个大致的认识

    • 贝叶斯是一种基于概率论的算法

    • 贝叶斯是一种基于先验特征进行分类的算法

    • 贝叶斯非常简单,并且对于训练数据较少的情况下依然能有比较好的效果

    • 贝叶斯公式
      P(A|B)=\frac{P(B|A)*P(A)}{P(B)}
      推论过程:P(A∩B) = P(A|B) * P(B) = P(B|A) * P(A)

      1. P(A∩B) : A 和 B 同时发生的概率
      2. P(A|B) : 已知 B 发生的情况下,A 发生的概率
      3. P(B|A) : 已知 A 发生的情况下,B 发生的概率
      4. P(A) : A 发生的概率
      5. P(B) : B 发生的概率
        对号入座一下,不难得出贝叶斯公式,这里就不啰嗦了啊
    • 实际应用
      大致了解了下贝叶斯,那么举个生活中常见的列子来加深下理解吧:

      • 问题:根据长短发来判断一个人的性别 !
      • 已知:
        1. 以 40个男人 和 60女人 进行模型训练
        2. 男生留长发的概率是 10%
        3. 女生留长发的概率是 90%
      • 求:随机抽取一个人,已知其是长发,求其性别
        求是女生的概率:P(女|长发)=\frac{P(长发|女)*P(女)}{P(长发)}=\frac{90\%*60\%}{P(长发)}
        求是男生的概率:P(男|长发)=\frac{P(长发|男)*P(男)}{P(长发)}=\frac{10\%*40\%}{P(长发)}
        所以:
        \frac{P(女|长发)}{P(男|长发)}=54/4 = 13.5 : 1

    从上面的推论很清楚的知道,如果一个人是长发,那么他是女的概率是 13.5/(13.5+1),所以通过我们的模型得出的结果那如果一个人是长发,那他就是女生。至于这个结果有多准确,那么就只能通过大量数据来验证了。。。

    • 从上面的实际应用我们更深一步的了解了 贝叶斯算法,那么我们继续深入一下下?

    上面我们是通过长短发来区分男女,肯定不是那么准确嘛,那么我们再加个维度 身高。
    - 男生身高1.6m以上是 80%
    - 女生身高1.6m以上是 30%
    - 求:随机抽取一个人,已知其是长发,身高1.7m,求其性别
    求是女生的概率:P(女|(长,高))=\frac{P((长,高)|女)*P(女)}{P((长,高))}
    这里我们需要确定的是 你留长发还是短发你身高几米 是木有关系的,也就是说是两个独立事件噢!
    所以:
    P((长,高)|女)= P(长|女)* P(高|女) =30\% * 90\%
    代入上面的公式就能得出如果一个1.7m的人是长发,那么他是女生的概率 P(女|(长,高)) ,同理也可以得出P(男|(长,高))
    如果
    P(女|(长,高)) > P(男|(长,高)) => 我们则认为他是 女人,反正则是 男人

    其实这就是朴素贝叶斯:根据给予的 独立同分布的 特质(长发,身高)来计算他在分类(男女)中出现的概率,哪个分类的概率越最大,就认为他是属于那个分类。

    • 总结:贝叶斯其实还是比较简单的,其实就是一个套用公式的过程,值得注意的是在使用过程中的独立事件的概率的求法,以及朴素贝叶斯的结论。

    相关文章

      网友评论

          本文标题:贝叶斯算法-简易入门

          本文链接:https://www.haomeiwen.com/subject/gmfucqtx.html