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

    朴素贝叶斯(Nave Bayes)法是基于贝叶斯定理与特征条件独立假设的分类算法。它的思想可以概括为先验概率+数据=后验概率。

    1.朴素贝叶斯模型

    下面是分类模型样本:

    假设有m个样本,每个样本有n个特征,特征输出有K个类别,定义为

    从样本得到朴素贝叶斯的先验分布

    接着得到条件概率分布

    然后用贝叶斯公式得到Xy联合分布P(X, y)

    因为P(Y=Ck)比较容易通过最大似然法求出,得到P(Y=Ck)就是类别Ck 在训练集里面出现的频数。但是P(X1=x1, X2=x2, ... Xn=xn| Y=Ck)是个复杂的n个维度的条件分布,很难求出。朴素贝叶斯在这里做了一个大胆的假设,即Xn个维度之间相互独立,得出:

    从上式看出,很难的条件分布大大简化了。如果特征之间不独立怎么办?那就尽量不适用朴素贝叶斯模型。这就是贝叶斯模型的选择。

    最后回到要解决的问题,我们的问题是给定测试集的一个新样本特征,我们如何判断它属于哪个类型?

    既然是贝叶斯模型,当然是后验概率最大化来判断分类了。我们只要计算出所有的K个条件概率 ,然后找出最大的条件概率对应的类别,就是朴素贝叶斯的预测。

    2.朴素贝叶斯的推断过程

    预测的类别 Cresult 是使 P(Y=Ck|X=X(test))最大化的类别,数学表达式为:

    由于对所有的类别计算 P(Y=Ck|X=X(test))时,上式分母是一样的,都是 P(X=X(test)),因此,我们的预测公式简化为:

    接着利用朴素贝叶斯的独立性假设,得到朴素贝叶斯公式:

    3.朴素贝叶斯的参数估计

    来自:刘建平

  • 相关阅读:
    设计模式之原型模式
    Mac OSx下的APK反编译
    Android中ListView封装收缩与展开
    带密码登录的密码保险箱应用源码
    HTML 5缓存机制:Cache Manifest配置实例
    PHP开发大型项目的一点经验
    Windows Phone 编程: 摇一摇 效果
    swift皮筋弹动发射飞机
    Win8.1应用开发之适配器模式(C#实现)
    java实现身份证校验
  • 原文地址:https://www.cnblogs.com/keye/p/14673215.html
Copyright © 2011-2022 走看看