朴素贝叶斯分类器 - 多重决策

2024-01-09

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

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

例如,如果给出“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. enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

朴素贝叶斯分类器 - 多重决策 的相关文章

  • 为什么单层感知器在没有归一化的情况下收敛得这么慢,即使裕量很大?

    在我确认我的结果后 这个问题完全被重写了 Python Notebook可以找到here https www dropbox com s pwvfx9hbxzkym5r perceptron py dl 0 用别人写的一段代码 可以找到he
  • Python OpenCV SVM 实现

    因此 我有一个包含样本图像的矩阵 全部转换为向量 该矩阵通过 PCA LDA 运行 还有一个向量表示每个图像所属的类 现在我想使用 OpenCV SVM 类来训练我的 SVM 我使用的是 Python OpenCV 2 3 1 但我在定义参
  • 如何将 RGB 或 HEX 颜色代码分组为更大的颜色组集?

    我正在分析大量图像并提取主要颜色代码 我想将它们分组为通用颜色名称范围 例如绿色 深绿色 浅绿色 蓝色 深蓝色 浅蓝色等 我正在寻找一种与语言无关的方式来自己实现一些东西 如果有我可以研究的例子来实现这一点 我将非常感激 在机器学习领域 你
  • 使用 KNN 分类器进行数字识别之前的预处理

    现在我正在尝试使用 OpenCV 创建数字识别系统 WEB上有很多文章和例子 甚至在堆栈溢出 https stackoverflow com questions 9413216 simple digit recognition ocr in
  • fastText 中的精确度和召回率?

    我实现了 fastText 进行文本分类 链接https github com facebookresearch fastText blob master tutorials supervised learning md https git
  • K 最近邻算法 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 使用 KNN 算法 假设 k 5 现在我尝试通过获取 5 个最近的邻居来对未知对象进行分类 如果确定 4 个最近邻居后 接下来的 2 个
  • 朴素贝叶斯:训练的每个特征的类内方差必须为正

    当尝试拟合朴素贝叶斯时 training data sample target class K8 train model nb NaiveBayes fit training data target class prediction y n
  • 在 Weka 中对单实例进行分类

    我使用 WEKA gui 训练并创建了 J48 模型 我将模型文件保存到我的计算机上 现在我想用它对我的 Java 代码中的单个实例进行分类 我想获得对属性 簇 的预测 我所做的如下 public void classify double
  • R 中使用插入符号进行分类的预测(模型)和预测(模型$ FinalModel)之间的区别

    有什么区别 predict rf newdata testSet and predict rf finalModel newdata testSet 我训练模型preProcess c center scale tc lt trainCon
  • 如何使用 MATLAB 从 WEKA 检索类值

    我正在尝试使用 MATLAB 和 WEKA API 从 WEKA 检索类 一切看起来都很好 但类始终为 0 有什么想法吗 我的数据集有 241 个属性 将 WEKA 应用于该数据集我得到了正确的结果 创建第一个训练和测试对象 然后构建分类器
  • SKLearn Naive Bayes:在 tfidf 矢量化后添加特征

    因此 我的任务是训练一个电话记录模型 以下代码执行此操作 一些背景信息 x 是一个字符串列表 每个第 i 个元素是一个完整的转录本 y 是布尔值列表 表示调用的结果是正还是负 以下代码有效 但这是我的问题 我想将通话时长作为一项训练功能 我
  • 属性错误:“图形”对象没有属性“节点”

    我有以下 python 代码来构建 knn 图 但出现错误 AttributeError Graph 对象没有属性 node 似乎 nx Graph 没有节点属性 但我不知道应该用它替换什么 import networkx as nx de
  • 如何检查 Tensorflow LinearClassifier 的特征权重?

    我正在尝试理解使用 TensorFlow 的大规模线性模型 https www tensorflow org tutorials linear文档 这些文档对这些模型的推动如下 线性模型比神经模型更容易解释和调试 网 您可以检查分配给每个特
  • 在处理 VotingClassifier 或网格搜索时,Sklearn 中的 GradientBoostingClassifier 是否有类别权重(或替代方法)?

    我正在使用 GradientBoostingClassifier 来处理不平衡的标记数据集 Sklearn 中似乎不存在类权重作为该分类器的参数 我发现我可以在合适时使用sample weight 但在处理VotingClassifier
  • 仅正样本和未标记数据集的二元半监督分类

    我的数据由评论组成 保存在文件中 其中很少被标记为正面 我想使用半监督和PU http www cs uic edu liub publications ICDM 03 pdf分类将这些评论分为正面和负面类别 我想知道 python sci
  • SPMD 与 Parfor

    我对 matlab 中的并行计算很陌生 我有一个创建分类器 SVM 的函数 我想用几个数据集来测试它 我有一个 2 核工作站 所以我想并行运行测试 有人可以向我解释一下以下之间的区别 dataset array dataset1 datas
  • 如何使用pytorch构建多任务DNN,例如超过100个任务?

    下面是使用 pytorch 为两个回归任务构建 DNN 的示例代码 这forward函数返回两个输出 x1 x2 用于大量回归 分类任务的网络怎么样 例如 100 或 1000 个输出 对所有输出 例如 x1 x2 x100 进行硬编码绝对
  • 朴素分类器 matlab

    在 matlab 中测试朴素分类器时 即使我在相同的样本数据上进行训练和测试 我也会得到不同的结果 我想知道我的代码是否正确 是否有人可以帮助解释这是为什么 dimensionality reduction columns 6 U S V
  • Java机器学习库可以商用吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道我可以将其用于商业产品的优秀 Java 机器学习库吗 不幸的是 Weka 和 Rapidmin
  • R 中多类分类的 ROC 曲线

    我有一个包含 6 个类别的数据集 我想绘制多类别分类的 ROC 曲线 Achim Zeileis 给出的第一个答案非常好 R中使用rpart包的ROC曲线 https stackoverflow com questions 30818188

随机推荐

  • 字符串中不是空格的神秘空白

    我有一个字符串 假设该值看起来像 香蕉 它似乎前面有空格 但是 我无法删除空格 trimws mystring 如果我尝试 substr mystring 1 1 它返回FALSE 因此 我有一个空格 它不是空格 我怎样才能知道它是什么 它
  • 从 Firebase/Google Cloud Storage 读取作为 Node.js 函数中的缓冲区

    我正在使用 Node js 8 版本的 Firebase 函数 并希望从 Google Cloud Storage 检索文件到该函数作为Buffer 这看起来很简单 const admin require firebase admin co
  • Azure SDK 2.9.1 出现 MSBuild MSB4096 错误

    所以问题是 我最近将我的开发计算机升级到 Windows 10 从 8 1 开始 然后将我的 Visual Studio Enterprise 2015 从 2013 年开始 我还升级到了 Azure SDK 2 9 1 从 2 4 我重新
  • 未捕获的 IndexSizeError:无法在“HTMLTableRowElement”上执行“insertCell”:提供的值 (1) 超出范围 [-1, 0]

    为什么图片没有出现在我的页面上 未捕获的 IndexSizeError 无法在 HTMLTableRowElement 上执行 insertCell 提供的值 1 超出范围 1 0 对此字符串调用此错误 JS var cell row in
  • for-in 语句

    TypeScript 文档没有提及循环之类的内容for or for in 从语言的游戏来看 似乎只有any or string支持变量for loop 为什么做出这个决定 为什么不使用类型信息并具有强类型迭代变量 在 Typescript
  • 将 Spring Boot 应用程序 jar 提交到 Spark-Submit

    我对 Spark 很陌生 我正在尝试尝试 Spark Submit 我在 Spring Boot 中创建了一个应用程序 使用mvn package创建一个罐子 但是当我尝试将罐子提交给spark submit 这是找不到主类 但主要的类存在
  • 加载与正在执行的 jar 文件相关的文件

    这个问题说明了一切 我的情况的特殊之处在于当前工作目录不是 jar 文件的位置 而是c Windows system32 我的 jar 文件是由 Windows 使用右键单击菜单启动的 我想将文件夹的路径作为参数传递给 jar 现在我想加载
  • 如何选择区间之间的元素

    我有 html 想从第 10 个位置选择间隔 5 个元素 这个怎么做 My html div class chaire img alt src 2 gif div div class chaire img alt src 2 gif div
  • Apache Flink 使用 Windows 在写入 Sink 之前引发延迟

    我想知道 Flink 窗口是否可能导致从数据进入管道到写入 Cassandra 中的表之间有 10 分钟的延迟 我最初的意图是将每个事务写入 Cassandra 中的一个表 并在 Web 层使用范围键查询该表 但由于数据量很大 我正在考虑延
  • Flask url_for Javascript 中的 URL

    使用 Flask 时在 Javascript 文件中创建动态 URL 的推荐方法是什么 在 jinja2 模板和 python 视图中url for使用 推荐的方法是什么 js文件 因为它们不被模板引擎解释 基本上想做的是 in comme
  • Bundler 使用错误的 Ruby 版本

    当我尝试启动 Rails 服务器时 出现以下错误 bundle exec rails s Your Ruby version is 2 3 7 but your Gemfile specified gt 2 3 8 我不明白为什么会发生这种
  • 如何将 Knockout 打字文件更新为 TypeScript 2.0 友好?

    我已经开始致力于现代化knockout库的 TypeScript 声明文件由DefinitelyTyped项目 声明文件使用了一些已弃用的技术 因此 在 TypeScript 2 0 应用程序中使用它很不方便 当前声明文件包含一个名为的接口
  • 使用tinyMCE 获取内容?

    我有一个tinyMCE textarea frmbody并且正在使用它的jquery实例
  • 从 constexpr 数组创建可变参数模板

    假设我们有以下类型 template
  • 如何在 phantomjs 中等待元素可见性

    用户点击此链接 span 现在我正在模拟 phantomjs 中的点击 page evaluate function panel click console log SUCCESS phantom exit Phantom 在慢速函数结束执
  • XP 上的 WMI 访问被拒绝

    我们的应用程序使用大量 WMI 调用 当使用来宾帐户连接到本地 WMI 服务器失败并出现 ACCESS DENIED 时 这对于用户帐户及以上帐户可以正常工作 如何以访客帐户访问WMI服务器 我添加了访客帐户以允许使用 WMIMGMT MS
  • C#:字符串作为事件的参数?

    我有一个用于表单的 GUI 线程和另一个用于计算事物的线程 该表单有一个 RichtextBox 我希望工作线程将字符串传递到表单 以便每个字符串都显示在文本框中 每次在工作线程中生成新字符串时 我都会调用一个事件 现在应该显示该字符串 但
  • 如何在 Vue 工作流程( Vanilla Bootstrap )中覆盖 Bootstrap 变量?

    官方推荐的自定义 主题引导程序的方法是使用 sass 覆盖引导程序变量 但我该如何做到这一点 或者更确切地说 如何将这部分流程添加到 Vue webpack 工作流程中 谷歌搜索导致尝试编辑vue config js文件将 scss 加载器
  • 命名捕获对的正则表达式问题

    我有以下值 start 2011 03 10T13 00 00Z end 2011 03 30T13 00 00Z scheme W3C DTF 我使用以下正则表达式去除 开始 和 结束 日期 并将它们分配给自己的命名捕获对 start P
  • 朴素贝叶斯分类器 - 多重决策

    我需要知道朴素贝叶斯分类器是否 可用于生成多个决策 我不能 找到任何有证据支持的例子 多项决定 我是这个领域的新手 所以 我有点 使困惑 实际上我需要开发字符识别软件 在那里我需要确定给定的字符是什么 看来贝叶斯分类器可以用来识别 给定的字