Day 13:朴素贝叶斯分类器

📋 目录

  1. 朴素贝叶斯概述
  2. 贝叶斯定理基础
  3. 朴素贝叶斯的“朴素”假设
  4. 三种朴素贝叶斯模型详解
  5. 朴素贝叶斯的优缺点
  6. 拉普拉斯平滑

第一部分:朴素贝叶斯概述

1.1 什么是朴素贝叶斯?

朴素贝叶斯(Naive Bayes) 是一系列基于贝叶斯定理的分类算法,核心假设是特征之间相互独立

关键特点

  • 属于生成式模型(学习联合概率 P(X,Y)P(X,Y)P(X,Y)
  • 训练速度极快(只需计算概率)
  • 对小数据集表现良好

1.2 应用场景

应用领域 例子 特点
文本分类 垃圾邮件过滤、情感分析 特征独立假设基本成立
金融预警 极端涨跌预警、信用评分 快速筛选高风险样本
医疗诊断 疾病预测 可解释性强
推荐系统 用户偏好预测 冷启动友好

1.3 朴素贝叶斯与其他模型对比

特性 逻辑回归 KNN SVM 朴素贝叶斯
训练速度 无训练 最快
预测速度 最快
小数据表现 一般 优秀
可解释性
特征独立假设

第二部分:贝叶斯定理基础

2.1 条件概率

定义:在事件 B 发生的条件下,事件 A 发生的概率。
P(A∣B)=P(A∩B)P(B) P(A|B) = \frac{P(A \cap B)}{P(B)} P(AB)=P(B)P(AB)

2.2 贝叶斯定理

P(A∣B)=P(B∣A)⋅P(A)P(B) P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

解读

  • P(A)P(A)P(A)先验概率(观察到数据前的信念)
  • P(B∣A)P(B|A)P(BA)似然(给定类别下,数据的概率)
  • P(B)P(B)P(B)证据(数据的边际概率)
  • P(A∣B)P(A|B)P(AB)后验概率(观察到数据后的信念)

2.3 应用到分类问题

对于分类问题,我们想计算:
P(y=c∣x)=P(x∣y=c)⋅P(y=c)P(x) P(y = c|\mathbf{x}) = \frac{P(\mathbf{x}|y=c) \cdot P(y=c)}{P(\mathbf{x})} P(y=cx)=P(x)P(xy=c)P(y=c)

预测规则
y^=arg⁡max⁡cP(y=c∣x)=arg⁡max⁡cP(x∣y=c)⋅P(y=c) \hat{y} = \arg\max_c P(y = c|\mathbf{x}) = \arg\max_c P(\mathbf{x}|y = c) \cdot P(y = c) y^=argcmaxP(y=cx)=argcmaxP(xy=c)P(y=c)
由于 P(x)P(\mathbf{x})P(x) 对所有类别相同,可以忽略。


第三部分:朴素贝叶斯的“朴素”假设

3.1 特征独立性假设

核心假设:给定类别 yyy 后,各个特征之间条件独立
P(x∣y=c)=P(x1,x2,…,xn∣y=c)=∏i=1nP(xi∣y=c) P(\mathbf{x}|y = c) = P(x_1, x_2, \ldots, x_n|y = c) = \prod_{i=1}^n P(x_i|y = c) P(xy=c)=P(x1,x2,,xny=c)=i=1nP(xiy=c)

3.2 为什么这个假设“朴素”?

现实情况:特征之间通常存在相关性。

金融数据例子

  • RSI 和 MACD 都与价格相关 → 它们不独立
  • 今日收益率和明日收益率 → 时间序列自相关

为什么还管用?

  1. 模型对依赖关系具有一定鲁棒性
  2. 在小数据集上表现优异
  3. 决策边界可能仍然正确

3.3 独立性假设的影响

情况 效果
特征完全独立 最优分类器
特征弱相关 仍可良好工作
特征强相关 概率估计不准,但分类边界可能仍正确

第四部分:三种朴素贝叶斯模型

4.1 高斯朴素贝叶斯(Gaussian Naive Bayes)

适用场景:连续特征,假设服从正态分布

公式
P(xi∣y=c)=12πσic2exp⁡(−(xi−μic)22σic2) P(x_i|y = c) = \frac{1}{\sqrt{2\pi\sigma_{ic}^2}} \exp\left(-\frac{(x_i-\mu_{ic})^2}{2\sigma_{ic}^2}\right) P(xiy=c)=2πσic2 1exp(2σic2(xiμic)2)

其中:

  • μic\mu_{ic}μic:类别 ccc 中特征 iii 的均值
  • σic2\sigma_{ic}^2σic2:类别 ccc 中特征 iii 的方差

在量化中应用

  • 技术指标(RSI、MACD、波动率)
  • 收益率序列

4.2 多项式朴素贝叶斯(Multinomial Naive Bayes)

适用场景:离散特征(如词频计数),假设服从多项分布

公式
P(x∣y=c)=(∑ixi)!∏ixi!∏iP(xi∣y=c)xi P(\mathbf{x}|y = c) = \frac{(\sum_i x_i)!}{\prod_i x_i!} \prod_i P(x_i|y = c)^{x_i} P(xy=c)=ixi!(ixi)!iP(xiy=c)xi

在量化中应用

  • 新闻情感词频分析
  • 订单流计数数据

4.3 伯努利朴素贝叶斯(Bernoulli Naive Bayes)

适用场景二值特征(0/1),假设服从伯努利分布

公式
P(xi∣y=c)=P(xi=1∣y=c)xi⋅(1−P(xi=1∣y=c))1−xi P(x_i|y = c) = P(x_i = 1|y = c)^{x_i} \cdot (1 - P(x_i = 1|y = c))^{1 - x_i} P(xiy=c)=P(xi=1∣y=c)xi(1P(xi=1∣y=c))1xi

在量化中应用

  • 技术指标的二值化(如 RSI > 70 → 1)
  • 事件标志(如财报发布 → 1)

4.4 模型选择指南

数据类型 推荐模型 例子
连续值(正态分布) 高斯NB 技术指标、收益率
计数/频数 多项式NB 词频、交易次数
二值特征 伯努利NB 阈值化后的指标

第五部分:朴素贝叶斯的优缺点

5.1 优点

优点 说明
训练极快 只需计算统计量(均值、方差、概率)
预测极快 简单的查表和乘法运算
小数据友好 不需要大量样本
天然处理多分类 直接计算每类概率
可解释性强 可以查看每个特征的影响
对无关特征鲁棒 独立假设使其不受无关特征影响

5.2 缺点

缺点 说明 解决方案
特征独立假设 现实中很少成立 特征选择、降维
零概率问题 未出现过的特征组合概率为0 拉普拉斯平滑
概率估计不准 独立假设导致概率失真 关注分类而非概率
对特征分布敏感 高斯假设可能不成立 尝试其他分布或分箱

5.3 在量化交易中的价值

核心价值快速筛选和预警系统

当需要极快的预测速度(如实时风控)或处理高维稀疏数据时,朴素贝叶斯是理想的基线模型和预警系统。


第六部分:拉普拉斯平滑(Laplace Smoothing)

6.1 零概率问题

问题:如果测试集中出现训练集未出现过的特征值,概率会变成 0。
P(xi∣y=c)=NicNc=0⇒P(y=c∣x)=0 P(x_i|y = c) = \frac{N_{ic}}{N_c} = 0 \Rightarrow P(y = c|\mathbf{x}) = 0 P(xiy=c)=NcNic=0P(y=cx)=0

6.2 拉普拉斯平滑公式

P(xi∣y=c)=Nic+αNc+αK P(x_i|y = c) = \frac{N_{ic} + \alpha}{N_c + \alpha K} P(xiy=c)=Nc+αKNic+α

其中:

  • NicN_{ic}Nic:类别 ccc 中特征 iii 的计数
  • NcN_cNc:类别 ccc 的总样本数
  • KKK:特征 iii 的可能取值数
  • α\alphaα:平滑参数(通常取 1)→ 加一平滑

6.3 平滑参数的影响

α 值 效果
α = 0 无平滑,可能过拟合
α = 1 加一平滑,最常用
α > 1 强平滑,适用于高维稀疏数据
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐