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

     概述

    朴素贝叶斯 (naive Bayes) 法是基于贝叶斯定理特征条件独立假设的分类方法。

    对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出Y。

    朴素贝叶斯法的学习与分类

    1、基本方法

    学习:朴素贝叶斯法通过训练数据集学习X和Y的联合概率分布 P(X,Y)。 具体地,学习以下先验概率分布及条件概率分布。

    先验概率分布:

    条件概率分布:

    条件概率分布有指数级数量的参数,其估计实际是不可行的。朴素贝叶斯法对条件概率分布作了条件独立性的假设。即:

    朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型条件独立性的假设等于是说用于分类的特征在类确定的条件下都是条件独立的。这一假设是朴素贝叶斯变得简单,但是牺牲了一定的准确率。

    分类:朴素贝叶斯法通过最大后验概率(MAP)准则进行类的判决,基于贝叶斯定理,后验概率为:

    分母相同,则分类器可表示为:

    2、后验概率最大化的含义

    后验概率最大化等价于0-1损失函数时的期望风险最小化。

    推导如下:

    0-1损失函数:

    期望风险函数:

    期望是对联合分布P(X,Y)取的,因此取条件期望:

    为了使风险最小化,只需要对X=x逐个最小化,由此可得:

    这样一来,根据期望风险最小化准则就得到后验概率最大化准则:

    朴素贝叶斯法的参数估计

     1、极大似然估计

    先验概率的极大似然估计:

     

    设第j个特征x(j)可能取值的集合为,条件概率的极大似然估计:
    (此处推导可参考我的另一篇博客:详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解(转)里的极大似然估计)

     2、学习与分类算法

    3、 贝叶斯估计

    用极大似然估计可能会出现所要估计的概率值为0的情况,使分类产生偏差,解决这一问题的方法是采用贝叶斯估计。条件概率的贝叶斯估计为:

    式中。等价于在随机变量各个取值的频数上赋予一个正数当该值为0是就是极大似然估计。

    常取该值为1,这时称为拉普拉斯平滑( Laplace smoothing)。此时有:

    同样,先验概率的贝叶斯估计为

    注:条件概率的贝叶斯估计的分母里的Sj是第j个特征可能取值的总数。先验概率的贝叶斯估计的分母里的K是类别总数。

     

    4、搬一个书上的例子

    使用极大似然估计:

    使用拉普拉斯平滑的贝叶斯估计:

     
  • 相关阅读:
    UESTC--1727
    css3制作左右拉伸动画菜单
    Mysql主从数据库(master/slave),实现读写分离
    阿里云Centos7.6上面部署基于redis的分布式爬虫scrapy-redis将任务队列push进redis
    利用基于Go Lang的Hugo配合nginx来打造属于自己的纯静态博客系统
    Centos7.6上利用docker搭建Jenkins来自动化部署Django项目
    使用基于Vue.js和Hbuilder的混合模式移动开发打造属于自己的移动app
    Centos7.6上部署Supervisor来监控和操作各类服务
    Centos上配置nginx+uwsgi+负载均衡配置
    Websocket---认识篇
  • 原文地址:https://www.cnblogs.com/CJT-blog/p/10125317.html
Copyright © 2011-2022 走看看