在 GDA 的假设中, 我们所处理的数据 是离散的 0-1 形式, 而 是连续的特征指标. 在 Naive Bayes 中, 我们将处理 同样为离散的情景.

本节以 spam mail filter 为例. 其中 表示否/是 spam mail; 为一个 0-1 向量, 每一个元素 表示是否包含某个单词.

1. Multivariate Bernoulli Event Model

1.1 Naive Bayes Assumption

作为 generative model, 我们要通过 Bayes 公式计算 , 而为了计算它就需要得到 和 .

其中 由于是离散的, 假设 , 完全刻画其联合分布需要 个参数, 这会造成维度爆炸.

为简化模型, Naive Bayes 做了一个强假设, 称为 Naive Bayes Assumption, 而由此得到的模型就称为 Naive Bayes Classifier.

Assumption (Naive Bayes). 在给定 的条件下, 各 彼此独立, 即

1.2 Derivation

记号:

  • , .
  • .
  • Training set: .

得到联合似然函数:

得到 MLE 的参数估计:

Note: Parameter interpretation

就是在所有 的样本中, 例如是 spam 的样本中, 第 个特征取值为 的样本占比. 同理. 就是 的样本占总样本的比例.

做出判断, 即判断是否是 spam, 也就是判断概率 的大小. 具体地, 将得到的 MLE 参数代入判别式:

Note: New dictionary entries

如果在 test set 中出现了一个 dictionary 不存在的新单词, 会出现问题. 因为在这种情况下, , 所以分子分母都是 . 下文的 Laplace smoothing 可以解决这一问题.

简而言之, 得到的新的 Naive Bayes Classifier 参数估计为:

2. Laplace Smoothing

原始问题: 上文提到的 问题可以概括为, 在统计学意义上, 我们直接将数据集中没有出现过的结果都认为其出现概率为 .

具体而言, 假设我们有一个有限样本容量 的数据集 , 每个样本 以概率 取值为 的一个. Initially, 对于参数 , 即 取第 种取值, 其估计为:

Definition (Laplace smoothing formula).

这里的 是 有可能取到的取值个数.

通过 Laplace smoothing 变换的数据依然符合归一化, 即 , 且解决了 的问题.

3. Multinomial Event Model

对于同样的 spam detection 问题, 我们采用另一种表示方法:

  • 记 为词典规模, 即含有的单词数量; 为识别的 email 中的 token 总数.
  • 向量 表示一整个 email, 每个分量 中下标 表示 email 按照行文顺序的第 个字符, 其取值表示该位置的这个词在词典中的编号.

同样施加 Naive Bayes Assumption:

3.1 Spam Detection Example

  • .
  • : 在类别为 的情况下, email 中第 个单词取到字典中第 个单词的概率. 注意这里的 并不依赖于 , 这是在假设单词的出现内容与其所在的位置无关.

得到似然函数:

其中 为 email 数, 即 training set 样本数, 为第 个 email 中的 token 数.

得到 MLE:

该理解也是自然的:

  • 表示遍历每一个 email 样本 , 再遍历每个 email 样本中的全部 token, 得到标记为 spam 的 email 且出现单词 的次数, 再除以全部 email 中标记为 spam 的总词汇数目.
  • 其余参数也以此类推.