朴素贝叶斯分类器 - 多个决定

时间:2011-08-05 08:03:10

标签: classification knn naivebayes

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

实际上我需要开发字符识别软件。 在那里,我需要确定给定角色是什么。 似乎贝叶斯分类器可用于识别 给定的字符是否是特定字符, 但它无法提供任何其他建议。

例如,如果给出'3'的图像(我们认为它是'3'), 如果系统无法将其识别为“3”。如果它好像 系统“2”,系统应返回“2”。

关于朴素贝叶斯分类器的想法 是的,一旦我们训练数据,我们可以问 系统是否给定字符是特定字符 或不。例如。我们绘制一个特定数字的图像并询问 系统是否为'2'。

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

如果有人能解释我是否,我们深表感激 朴素贝叶斯分类器可用于制作多个 如上所述的决定。

2 个答案:

答案 0 :(得分: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,因此您的后验看起来非常简单。在这种情况下,最好放弃贝叶斯方法并创建一个具有较少参数的判别模型,而不是生成中的参数。在下图中,垂直轴是世界状态(类)的概率,而水平轴代表数据。 enter image description here

答案 1 :(得分:1)

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

根据课程的概率,您通常需要做出决定,这可以通过例如选择最可能的课程来完成。这可能就是为什么你认为它只提供一种可能性。