3

我需要知道朴素贝叶斯分类器是否可用于生成多个决策。我找不到任何有证据支持多项决定的例子。我是这个地区的新手。所以,我有点困惑。

其实我需要开发字符识别软件。在那里我需要确定给定的字符是什么。贝叶斯分类器似乎可以用来识别给定的字符是否是特定字符,但它不能给出任何其他建议。

例如,如果给定一个“3”的图像(我们认为它是“3”),如果系统无法将其识别为“3”。如果系统看起来像“2”,系统应该返回“2”。

我对朴素贝叶斯分类器的想法是,一旦我们训练数据,我们就可以询问系统给定字符是否是特定字符。例如。我们绘制一个特定数字的图像并询问系统它是否是“2”。

我进一步注意到 KNN(k 最近邻) 给出了多个决定。给定一个字符,它决定训练数据中给定的最接近的兼容字符。

如果有人可以向我解释朴素贝叶斯分类器是否可用于做出上述多项决策,我们将不胜感激。

4

2 回答 2

2

朴素贝叶斯分类器的假设是数据维度是独立的(朴素部分)并且模型是生成的(贝叶斯部分)。换句话说,您对如何从世界状态生成数据进行建模 - P(data|world_state),其中 world_state 可以是连续变量或分类变量(具有多个类-类别)。这与忽略数据生成并通过直接“破解”数据来描述世界状态的后验概率的判别模型相反:P(world_state|data)

以下是实现朴素贝叶斯分类器必须遵循的步骤:
1. 使用生成模型对数据进行建模,例如高斯分布。每个类都有自己的高斯。在朴素模型中,您为每个数据维度取高斯乘积。在更完整的模型中,高斯的维数等于数据的维数。
2. 找出每个类的先验(例如,为每个类分配一个概率的分类分布);
3. 通过将高斯拟合到您的数据来学习参数;
4. 通过贝叶斯公式评估测试数据类:

P(class|data) = P(data|class) * P(class)/P(data);           [1]
P(data) = sum_over_classes[P(data|class) * P(class)];       [2]

公式1中的第一项称为后验,第二项是可能性,最后一项是先验。当您计算最可能负责数据生成的类的后验 (MAP) 的最大值时,通常会忽略 [2] 中显示的分母。但是,分母对于理解类模型如何协同工作非常重要。

例如,您可以为每个类创建一个非常复杂的生成模型,但您的后验看起来非常简单,因为在归一化期间,其中一个可能性降低到 0。在这种情况下,最好放弃贝叶斯方法并创建一个参数比生成模型少的判别模型。在下图中,垂直轴是世界状态(类)的概率,而水平轴表示数据。 在此处输入图像描述

于 2014-03-27T19:42:17.863 回答
1

贝叶斯分类器应该给出一个项目属于几个类别中的每一个的概率。绝对有可能有两个以上的课程。

使用类的概率,您通常会想要做出决定,这可以通过例如选择最可能的类来完成。这可能就是您认为它只提供一种可能性的原因。

于 2011-08-05T11:29:19.870 回答