朴素贝叶斯模型

问题描述 投票:4回答:2

当我们使用决策树分类器训练训练集时,我们将得到一个树模型。此模型可以转换为规则,并可以合并到java代码中。现在,如果我使用Naive Bayes训练训练集,模型的形式是什么?我怎样才能将模型合并到我的java代码中?如果培训没有模型,那么Naive Bayes和懒惰学习者(例如kNN)有什么区别?

提前致谢。

machine-learning artificial-intelligence classification naivebayes
2个回答
1
投票

朴素贝叶斯构造条件概率P(f_1,...,f_n|C_j)的估计,其中f_i是特征,C_j是类,使用贝叶斯规则和先验估计(P(C_j))和证据(P(f_i))可以被翻译成x=P(C_j|f_1,...,f_n),可以大致读作“给定特征f_i我认为,他们描述的类C_j的对象和我的确定性是x“。事实上,NB假设节目是独立的,因此它实际上使用x=P(f_i|C_j)形式的简单可比性,所以“给定f_i我认为它是C_j,概率为x”。

所以模型的形式是一组概率:

  • 每个特征P(f_i|C_j)和每个类f_i的条件概率C_j
  • 每个班级的前辈P(C_j)

另一方面,KNN是完全不同的东西。它实际上不是严格意义上的“学习模型”,因为您不调整任何参数。它是一种分类算法,给出训练集和数字k简单地回答问题“对于给定点xk在训练集中最近点的主要类别是什么?”。

主要区别在于输入数据 - 朴素贝叶斯工作于“观察”的对象,因此您只需要一些存在于分类对象或缺席的特征。它是一种颜色,照片上的对象,句子中的单词或高度复杂的拓扑对象中的抽象概念无关紧要。虽然KNN是一种基于距离的分类器,它要求您对可以测量距离的对象进行分类。因此,为了对抽象对象进行分类,您必须首先提出一些度量,距离度量,它描述了它们的相似性,结果将高度依赖于这些定义。另一方面,朴素贝叶斯是一个简单的概率模型,它根本不使用距离的概念。它以相同的方式处理所有对象 - 它们在那里或它们不在,故事的结尾(当然它可以推广到具有给定密度函数的连续变量,但这不是重点)。


0
投票

朴素贝叶斯将构建/估计生成训练样本的概率分布。

现在,给定所有输出类的概率分布,您可以获取测试样本,并根据生成此样本的概率最高的类,将测试样本分配给该类。

简而言之,您将获取测试样本并运行所有概率分布(每个类别一个),并计算为该特定分布生成此测试样本的概率。

© www.soinside.com 2019 - 2024. All rights reserved.