matlab - 高斯朴素贝叶斯分类

标签 matlab machine-learning classification naivebayes

我发现了以下朴素贝叶斯分类器的 Matlab 实现:

https://github.com/jjedele/Naive-Bayes-Classifier-Octave-Matlab

高斯朴素贝叶斯和朴素贝叶斯有什么区别?我如何将上述实现扩展为高斯朴素贝叶斯?

如何扩展实现以将其与 4 个类一起使用?只是进行一对一的对抗吗?

非常感谢您的帮助。

最佳答案

在朴素贝叶斯分类中,我们采用一组特征 (x0,x1,...xn) 并尝试将这些特征分配给我们所做的类 (y0,y1,...yk) 的已知集合 Y 中的一个通过使用训练数据来计算条件概率,告诉我们特定类别在训练集中具有特定特征的频率,然后将它们相乘。

结果是集合 Y 中每个类别的分数。然后,我们将 Y 中得分最高的成员作为我们的特征集应分配到的类别。

p(x|C)

到目前为止,我们还没有对 p(x|C) 分布的样子做出任何假设。

在高斯朴素贝叶斯中,我们假设所有这些 p(x|C) 值均呈正态分布,这是唯一的“差异”,而且实际上并不是差异,GNB 只是朴素贝叶斯的子集。

Gaussian Naive Bayes

如果您没有大量训练数据,并且愿意假设总体数据关于您拥有的样本(训练)数据的平均值呈正态分布,那么这可能会很有用。

Tex 的完整披露来自维基百科。

关于matlab - 高斯朴素贝叶斯分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30788043/

相关文章:

php - 尽管有一些被裁剪,如何识别相似的图像?

python - Tensorflow 神经网络在训练后总是有 50% 的把握

python - LSTM 预测时形状错误

python - 为什么我的感知器不能完美地分离数量少于特征数量的点?

machine-learning - 用于检测异常值的一类 SVM

python - 使用 SVM 进行分类

MATLAB kMeans 并不总是收敛到全局最小值

在 MATLAB 中交换两个元素的性能

python - 使用 Jupyter Notebook 查看从 Python 运行的 MATLAB 代码的输出

opencv - 使用 SVM 进行实时面部表情分类