- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我们使用决策树分类器训练训练集时,我们将得到一个树模型。并且该模型可以转换为规则并可以合并到java代码中。现在,如果我使用朴素贝叶斯训练训练集,模型是什么形式?如何将该模型合并到我的 java 代码中?如果训练没有产生模型,那么朴素贝叶斯和惰性学习器(例如 kNN)有什么区别?
提前致谢。
最佳答案
朴素贝叶斯构造条件概率的估计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,我认为它是概率为 x 的 C_j” .
因此模型的形式是概率集:
f_i
和每个类 C_j
的条件概率 P(f_i|C_j)
P(C_j)
另一方面,KNN 是完全不同的东西。它实际上不是严格意义上的“学习模型”,因为您不调整任何参数。它更像是一种分类算法,给定训练集和数字k
,它简单地回答问题“对于给定点x
,其主要类别是什么”训练集中的k
个最近点?”。
主要区别在于输入数据 - 朴素贝叶斯适用于“观察”对象,因此您只需要分类对象中存在或不存在的一些特征。无论是颜色、照片上的物体、句子中的单词还是高度复杂的拓扑对象中的抽象概念,都没关系。而 KNN 是一种基于距离的分类器,它要求您对可以测量之间距离的对象进行分类。因此,为了对抽象对象进行分类,您必须首先提出一些度量、距离度量,它描述了它们的相似性,并且结果将高度依赖于这些定义。另一方面,朴素贝叶斯是一个简单的概率模型,它根本不使用距离的概念。它以相同的方式对待所有对象 - 它们存在或不存在,故事结束(当然它可以推广到具有给定密度函数的连续变量,但这不是这里的重点)。
关于machine-learning - 朴素贝叶斯模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18633863/
我是一名优秀的程序员,十分优秀!