zoukankan      html  css  js  c++  java
  • 机器学习算法原理与编程实践之朴素贝叶斯分类

    在介绍朴素贝叶斯分类之前,首先介绍一下大家都比较了解的贝叶斯定理,即已知某条件概率,如何得到两个时间交换后的概率,

    也就是在已知P(A|B)的情况下如何求得P(B|A)?可以通过如下公式求得:

    而朴素贝叶斯分类是一种简单的分类算法,称其朴素是因为其思想基础的简单性:就文本分类而言,它认为词袋中的两两词之间的关系

    是相互独立的,即一个对象的特征向量中的每个维度都是相互独立。

    朴素贝叶斯分类的正式定义如下:

    (1)设为一个待分类项,而每个a为x的一个特征属性。

    (2)有类别集合

    (3)计算

    (4)如果,则

    因此,现在问题的关键就是如何计算第(3)步中的每个条件概率。我们可以按以下步骤计算。

    (1)找到一个已知分类的待分类项集合,也就是训练集。

    (2)统计得到在各类别下各个特征属性的条件概率估计。即:

    (3)如果每个特征属性是条件独立的(或者假设他们之间是相互独立的),则根据贝叶斯定理有如下推导:

    因为分母对于所有的类别都是一样的,为常数,因此只要将分子最大化即可。又因为个特征属性是条件独立的,所以有

     

    这就是Scikit-Learn中的公式推导过程的说明。根据上述分析,朴素贝叶斯分类的流程可以表示如下:

    第一阶段:训练数据生成训练样本集合:TF-IDF

    第二阶段:对每个类别计算

    第三阶段:对每个特征属性计算所有类别划分的条件概率。

    第四阶段:对每个类别计算

    第五阶段:以的最大项做为x的所属类别。

  • 相关阅读:
    BestCoder Round #67 (div.2) N bulbs(hdu 5600)
    蓝桥杯 基础练习 特殊回文数
    蓝桥杯 基础练习 十进制转十六进制
    蓝桥杯 基础练习 十六进制转十进制
    蓝桥杯 基础练习 十六进制转八进制
    蓝桥杯 入门训练 Fibonacci数列
    Codeforces 600B Queries about less or equal elements(二分查找)
    Codeforces Round #332 (Div. 二) B. Spongebob and Joke
    Codeforces Wilbur and Array
    UVA 10129-Play on Words(欧拉通路)
  • 原文地址:https://www.cnblogs.com/junjiang3/p/7670366.html
Copyright © 2011-2022 走看看