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

         朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。简单来说,朴素贝叶斯分类器假设样本每个特征与其他特征都不相关。举个例子,如果一种水果具有红,圆,直径大概4英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。尽管是带着这些朴素思想和过于简单化的假设,但朴素贝叶斯分类器在很多复杂的现实情形中仍能够取得相当好的效果。朴素贝叶斯分类器的一个优势在于只需要根据少量的训练数据估计出必要的参数(离散型变量是先验概率和类条件概率,连续型变量是变量的均值和方差)。

    1.贝叶斯分类模型

            贝叶斯分类模型如下:

           其中,X表示属性集,Y表示类变量,P(Y)为先验概率,P(X|Y)为类条件概率,P(X)为证据,P(Y|X)为后验概率。贝叶斯分类模型就是用先验概率P(Y)、类条件概率P(X|Y)和证据P(X)来表示后验概率。在比较Y的后验概率时,分母中的证据P(X)总是常数,因此可以忽略不计。先验概率P(Y)可以通过计算训练集中属于每个类的训练记录所占的比例很容易估计。对类条件概率P(X|Y)的估计,不同的实现决定不同的贝叶斯分类方法,常见的有朴素贝叶斯分类法和贝叶斯信念网络。

    2.朴素贝叶斯分类模型

    3.实例

            数据集如下:

             从该数据集计算得到的先验概率以及每个离散属性的类条件概率、连续属性的类条件概率分布的参数(样本均值和方差)如下:

    先验概率:P(Yes)=0.3;P(No)=0.7

    P(有房=是|No) = 3/7

    P(有房=否|No) = 4/7

    P(有房=是|Yes) = 0

    P(有房=否|Yes) = 1

    P(婚姻状况=单身|No) = 2/7

    P(婚姻状况=离婚|No) = 1/7

    P(婚姻状况=已婚|No) = 4/7

    P(婚姻状况=单身|Yes) = 2/3

    P(婚姻状况=离婚|Yes) = 1/3

    P(婚姻状况=已婚|Yes) = 0

    年收入:

    如果类=No:样本均值=110; 样本方差=2975

    如果类=Yes:样本均值=90; 样本方差=25

    ——》待预测记录:X={有房=否,婚姻状况=已婚,年收入=120K}

    P(No)*P(有房=否|No)*P(婚姻状况=已婚|No)*P(年收入=120K|No)=0.7*4/7*4/7*0.0072=0.0024

    P(Yes)*P(有房=否|Yes)*P(婚姻状况=已婚|Yes)*P(年收入=120K|Yes)=0.3*1*0*1.2*10-9=0

    由于0.0024大于0,所以该记录分类为No。

    从上面的例子可以看出,如果有一个属性的类条件概率等于0,则整个类的后验概率就等于0。仅仅使用记录比例来估计类条件概率的方法显得太脆弱了,尤其是当训练样例很少而属性数目又很多时。解决该问题的方法是使用m估计方法来估计条件概率:

  • 相关阅读:
    mySQL优化方案
    java之自动过滤提交文本中的html代码script代码
    java小技术之生成二维码
    微信扫码支付功能详细教程————Java
    java实现发送邮件服务器,SMTP协议发送邮件
    『重构--改善既有代码的设计』读书笔记----序
    Linux导航神器-----autojump
    绘图时,根据size()和自定义rect编程的区别
    Qt中如何在QCursor移动的时候不触发moveEvent
    Qt远程机开发时光标注意问题
  • 原文地址:https://www.cnblogs.com/boqun1991/p/4100083.html
Copyright © 2011-2022 走看看