• 朴素贝叶斯算法(一)——基本概率和原理


    ---恢复内容开始---

    一、朴素贝叶斯算法(naive bayes)是基于贝叶斯定理与特征条件独立假设的分类方法

      1、贝叶斯定理

      #P(X)表示概率,P(XX)表示联合概率,也就是交集,也就是一起发生的概率

      由公式:P(AB)= P(A|B)*P(B) =P(B|A)*P(A)

      可以推出 贝叶斯公式:P(A|B) = P(B|A)P(A)/P(B)

      2、特征条件独立

      给定样本的 属性之间是相互独立的,比如:以判定邮件是否为垃圾邮件为例,其中判定的方法为根据邮件中出现的词语判定是否为垃圾邮件;给定的一封样本邮件,特征条件独立就是 邮件中不同的词出现的概率相互之间是不受影响的,即 一个词的出现不会影响另一个词的出现。(虽然此条件往往不成立,但是NB算法依然取得了较好的分类效果)

      3、基本思想:

      给定的待分类的样本X=(x1,x2,...,xn),求解在此项出现的条件的下 各个类别Yi出现的概率,哪个P(Yi/X)的概率最大,就把它归到哪个类别

    二、NB算法的原理及流程:

      1、定义

      1.1 设X=(a1,a2,...,an)是待分类项,其中ai(i = 1,2,..,n)为x的一个特征属性,并且各个特征属性之间相互独立(该条件基于上面的假设

      1.2 设C =  {y1,y2,...,yn} 是一个类别集合

      1.3 计算概率P(y1/X),P(y2/X)....P(yn/X) 

      1.4 P(yk/X) = max{P(y1/X),P(y2/X)....P(yn/X)}, 则有 X属于yk。其中max的含义为:在X的条件下,求使得P(yi/X)(i = 1,2,..,n)取得最大(值)概率的y,即为yk。

        2、原理

        2.1  要求出上面1.4中的后验概率,就要求出 1.3 中每一项的值P(yi/X),其步骤为:

        2.1.1 找到一个已知分类的待分类项集合,这个集合叫做训练样本集。比如:医生之前已经看过的病人

        2.1.2 统计在各个类别 yi(i = 1,2,..,n)下各个特征属性的条件概率估计,即:p(a1/y1),p(a2/y1),p(a1/y2)...等等

      3、计算

        3.1 在朴素贝叶斯算法中,每个特种属性之间都是相互独立的,则对于贝叶斯公式:P(yi/X) = p(X/yi)p(yi)/p(X)

        因为P(X)是待分类项x在数据库中的概率,则对于一个任何一个待分类项的P(x)来说都是常数固定的,所以再求后验概率P(yi/X)时只考虑分子即可。

        3.2 因为各个特征属性的独立的:

        则分子 p(X/yi)p(yi) = p(yi)*p(a1/yi)p(a2/yi)...p(an/yi) 

        p(yi)是训练样本中 yi出现的概率,p(yi) = |yi|/|D|  (D为总的样本数

        先验概率p(aj/yi)为:在类别yi中,特征属性aj 出现的概率。 

          

    ---恢复内容结束---

  • 相关阅读:
    Flutter-现有iOS工程引入Flutter
    EventBus 3.0使用详解
    一步一步教你实现iOS音频频谱动画(二)
    一步一步教你实现iOS音频频谱动画(一)
    iOS热更新实现方式
    github 远程仓库名或地址修改,本地如何同步
    Xmind ZEN破解版来袭:如何去除水印
    flutter packages get 慢 解决方案
    web计时机制——performance对象
    jQuery设计思想
  • 原文地址:https://www.cnblogs.com/djoystudy/p/5048928.html
Copyright © 2020-2023  润新知