zoukankan      html  css  js  c++  java
  • 贝叶斯分类器

    和之前的支持向量机,还有LDA不同,贝叶斯分类器是基于概率模型的分类器;也就是在所有相关概率已知的情况下,贝叶斯决策基于这些概率和误判损失来选择最优的类别标记。

    对于贝叶斯分类器,是建立在贝叶斯概率模型上的:

     贝叶斯模型是一种典型的”基于结果求原因的模型“,其中:

     p(w):为先验概率,表示每种类别分布的概率;

    p(x|w):类条件概率(也称似然概率),表示在某种类别的前提下,某事发生的概率。

    p(w|x):后验概率,表示某事发生了,并且它属于某一类别的概率,有了这个后验概率,我们就可以对样本进行分类。后验概率越大,说明某事物属于这个类别的可能性越大,我们越有理由把它归到这个类别下。

    但是在实际问题中并不都是这样幸运的,我们能获得的数据可能只有有限数目的样本数据,而先验概率p(wi)和类条件概率(各类的总体分布)p(x|w)都是未知的。根据仅有的样本数据进行分类时,一种可行的办法是我们需要先对先验概率和类条件概率进行估计,然后再套用贝叶斯分类器。

    先验概率的估计较简单,1、每个样本所属的自然状态都是已知的(有监督学习);2、依靠经验;3、用训练样本中各类出现的频率估计。

    类条件概率的估计(非常难),原因包括:概率密度函数包含了一个随机变量的全部信息;样本数据可能不多;特征向量x的维度可能很大等等。总之要直接估计类条件概率的密度函数很难。解决的办法就是,把估计完全未知的概率密度p(x|wi)转化为估计参数。这里就将概率密度估计问题转化为参数估计问题,当然了,对于参数估计问题,概率密度函数的选取很重要,模型正确,在样本区域无穷时,我们会得到较准确的估计值,如果模型都错了,那估计半天的参数,肯定也没啥意义了。

     朴素贝叶斯:

    假设某个体有n项特征(Feature),分别为F1、F2、...、Fn。现有m个类别(Category),分别为C1、C2、...、Cm。贝叶斯分类器就是计算出概率最大的那个分类,也就是求下面这个算式的最大值:

     P(C|F1F2...Fn)= P(F1F2...Fn|C)P(C) / P(F1F2...Fn)

    由于 P(F1F2...Fn) 对于所有的类别都是相同的,可以省略,问题就变成了求:

    P(F1F2...Fn|C)P(C)

    的最大值。

    朴素贝叶斯分类器则是更进一步,假设所有特征都彼此独立,因此:

    P(F1F2...Fn|C)P(C)= P(F1|C)P(F2|C) ... P(Fn|C)P(C)

    关于贝叶斯分类器的描述的网址:

    https://blog.csdn.net/fisherming/article/details/79509025,该网址对于贝叶斯分类讲解的非常详细。

  • 相关阅读:
    WPF DelegateCommand 出现Specified cast is not valid
    WPF DelegateCommand 出现Specified cast is not valid
    WPF DelegateCommand 出现Specified cast is not valid
    win10 sdk 是否向下兼容
    win10 sdk 是否向下兼容
    win10 sdk 是否向下兼容
    PHP extract() 函数
    PHP end() 函数
    PHP each() 函数
    PHP current() 函数
  • 原文地址:https://www.cnblogs.com/shaonianpi/p/12724464.html
Copyright © 2011-2022 走看看