gpt4 book ai didi

machine-learning - 对数字分类数据实现朴素贝叶斯高斯分类器

转载 作者:行者123 更新时间:2023-11-30 09:34:34 25 4
gpt4 key购买 nike

我正在尝试对数字分类数据实现朴素贝叶斯高斯分类器。其中每个特征代表一个像素。

当尝试实现这个时,我遇到了一个障碍,我注意到一些特征方差等于 0。这是一个问题,因为我在尝试求解概率时无法除以 0。

我可以做些什么来解决这个问题?

最佳答案

非常简短的答案是你不能 - 尽管你通常可以尝试将高斯分布拟合到任何数据(无论其真实分布如何),但有一个异常(exception) - 常量情况(0方差)。所以,你可以做什么?解决方案主要有以下三种:

  1. 忽略 0 方差像素。我不推荐这种方法,因为它会丢失信息,但如果每个类的方差为 0(这是 MNIST 的常见情况 - 某些像素是黑色的,独立)类)那么它实际上在数学上是完全合理的。为什么?答案很简单,如果对于每个类,给定的特征是恒定的(等于某个单一值),那么它实际上不会带来任何用于分类的信息,因此忽略它不会影响假设特征条件独立的模型(例如NB) .

  2. 不要进行 MLE 估计(因此使用 N(mean(X), std(X))),而是使用正则化估计器,例如形式 N(mean(X), std(X) + eps) ,相当于为每个像素独立添加 eps-noise。这是我推荐的一种非常通用的方法。

  3. 使用更好的分布类,如果你的数据是图像(并且由于你有 0 方差,我假设这些是二值图像,甚至可能是 MNIST),你有 K 个特征,每个特征都在 [0, 1] 区间内。您可以将多项式分布与分桶结合使用,因此 P(x e Bi|y) = #{ x e Bi | y }/#{ x | y }。最后,这通常是最好的做法(但是需要对您的数据有一定的了解),因为问题是您正在尝试使用不适合所提供数据的模型,我可以保证你,正确的分配总是会给NB带来更好的结果。那么如何才能找到一个好的分布呢?为每个特征绘制条件边际 P(xi|y),并基于此查看它们的外观 - 选择与行为相匹配的分布类,我可以向您保证这些看起来不会像高斯分布。

关于machine-learning - 对数字分类数据实现朴素贝叶斯高斯分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46513538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com