我需要知道朴素贝叶斯分类器是否
可用于生成多个决策。我不能
找到任何有证据支持的例子
多项决定。我是这个领域的新手。所以,我有点
使困惑。
实际上我需要开发字符识别软件。
在那里我需要确定给定的字符是什么。
看来贝叶斯分类器可以用来识别
给定的字符是否是特定字符,
但它不能给出任何其他建议。
例如,如果给出“3”的图像(我们认为它是“3”),
如果系统无法将其识别为“3”。如果看起来像
'2' 对于系统,系统应返回 '2'。
我对朴素贝叶斯分类器的想法
是,一旦我们训练数据,我们就可以问
系统给定的字符是否为特定字符
或不。例如。我们绘制一个特定数字的图像并询问
系统是否为“2”。
我进一步注意到 KNN(k 最近邻)给出了多个决策。
给定一个字符,它决定最接近的兼容
训练数据中给出的字符。
如果有人能解释我是否
朴素贝叶斯分类器可用于制作多个
诸如上述的决定。
朴素贝叶斯分类器的假设是数据维度是独立的(朴素部分)并且模型是生成的(贝叶斯部分)。换句话说,您可以对如何从世界状态生成数据进行建模 - 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] 中显示的分母通常会被忽略。然而,分母对于理解类模型如何协同工作非常重要。
For example, you can create a very sophisticated generative model for each class but your posterior would look very simple due to the fact that during normalization one of the likelihoods was reduced to 0. In this case it is better to abandon Bayesian approach and create a discriminative model with fewer parameters than you put in the generative one. In the diagram below, vertical axes are probabilities of a world state (class) while horizontal axes represent data.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)