逻辑森林与贝叶斯算法简介

文章目录


一、逻辑森林:集成学习的代表

1.1 核心思想

逻辑森林并非标准术语,通常指随机森林(Random Forest)在分类任务中的应用,其本质是通过构建多棵决策树并集成结果来提高分类性能。

1.2 关键步骤

  1. 自助采样(Bootstrap):从训练集中有放回地抽取多个子样本
  2. 随机特征选择:每棵树分裂时只考虑特征子集
  3. 投票机制:所有树的预测结果通过多数投票决定最终分类

y ^ = mode { T 1 ( x ) , T 2 ( x ) , . . . , T n ( x ) } \hat{y} = \text{mode}\{T_1(x), T_2(x), ..., T_n(x)\} y^=mode{T1(x),T2(x),...,Tn(x)}

其中 T i ( x ) T_i(x) Ti(x) 表示第i棵树的预测结果。

1.3 示例说明

假设我们要判断一封邮件是否为垃圾邮件:

  • 树1基于"包含'免费'"特征判断为垃圾邮件
  • 树2基于"发件人未知"特征判断为垃圾邮件
  • 树3基于"无正常问候语"特征判断为正常邮件
    最终通过投票(2:1)判定为垃圾邮件

二、贝叶斯算法:概率推理的典范

2.1 贝叶斯定理基础

朴素贝叶斯分类器基于贝叶斯定理,假设特征之间相互独立:

P ( y ∣ X ) = P ( X ∣ y ) P ( y ) P ( X ) P(y|X) = \frac{P(X|y)P(y)}{P(X)} P(y∣X)=P(X)P(X∣y)P(y)

其中:

  • P ( y ∣ X ) P(y|X) P(y∣X):给定特征 X X X时类别 y y y的后验概率
  • P ( X ∣ y ) P(X|y) P(X∣y):似然概率
  • P ( y ) P(y) P(y):先验概率

2.2 朴素贝叶斯公式

对于特征向量 X = ( x 1 , x 2 , . . . , x n ) X = (x_1, x_2, ..., x_n) X=(x1,x2,...,xn):

P ( y k ∣ X ) ∝ P ( y k ) ∏ i = 1 n P ( x i ∣ y k ) P(y_k|X) \propto P(y_k) \prod_{i=1}^n P(x_i|y_k) P(yk∣X)∝P(yk)i=1∏nP(xi∣yk)

预测时选择概率最大的类别:
y ^ = arg ⁡ max ⁡ y k P ( y k ) ∏ i = 1 n P ( x i ∣ y k ) \hat{y} = \arg\max_{y_k} P(y_k) \prod_{i=1}^n P(x_i|y_k) y^=argykmaxP(yk)i=1∏nP(xi∣yk)

2.3 文本分类示例

判断"便宜机票"是否为广告:

  • 先验: P ( 广告 ) = 0.3 P(广告)=0.3 P(广告)=0.3, P ( 正常 ) = 0.7 P(正常)=0.7 P(正常)=0.7
  • 条件概率:
    • P ( 便宜 ∣ 广告 ) = 0.4 P(便宜|广告)=0.4 P(便宜∣广告)=0.4, P ( 机票 ∣ 广告 ) = 0.3 P(机票|广告)=0.3 P(机票∣广告)=0.3
    • P ( 便宜 ∣ 正常 ) = 0.1 P(便宜|正常)=0.1 P(便宜∣正常)=0.1, P ( 机票 ∣ 正常 ) = 0.2 P(机票|正常)=0.2 P(机票∣正常)=0.2
  • 计算:
    P ( 广告 ∣ 文本 ) ∝ 0.3 × 0.4 × 0.3 = 0.036 P(广告|文本) ∝ 0.3×0.4×0.3=0.036 P(广告∣文本)∝0.3×0.4×0.3=0.036
    P ( 正常 ∣ 文本 ) ∝ 0.7 × 0.1 × 0.2 = 0.014 P(正常|文本) ∝ 0.7×0.1×0.2=0.014 P(正常∣文本)∝0.7×0.1×0.2=0.014

预测为广告类(0.036 > 0.014)

三、应用选择

特性 逻辑森林(随机森林) 朴素贝叶斯
假设条件 特征可交互 特征相互独立
计算效率 训练慢,预测快 训练预测都快
数据需求 需要较多数据 小样本也能工作
过拟合风险 通过集成降低 低风险
适用场景 复杂非线性关系 文本分类、简单特征

选择偏向

  • 随机森林当:特征交互复杂、数据充足、需要高精度
  • 朴素贝叶斯当:特征相对独立、需要快速部署、数据稀缺
相关推荐
前端摸鱼匠3 小时前
【AI大模型春招面试题11】什么是模型的“涌现能力”(Emergent Ability)?出现条件是什么?
人工智能·算法·ai·自然语言处理·面试·职场和发展
MORE_773 小时前
leecode-合并区间-贪心算法
算法·贪心算法
2401_873204654 小时前
分布式系统安全通信
开发语言·c++·算法
sw1213895 小时前
C++中的代理模式实战
开发语言·c++·算法
ballball~~5 小时前
ISP-CCM(Color Correction Matrix)
图像处理·数码相机·算法
Sunshine for you6 小时前
实时操作系统中的C++
开发语言·c++·算法
中科院提名者6 小时前
BPE 算法的硬核拆解——理解词表(Vocabulary)是如何从零训练出来的,以及字符串是如何被切碎的
算法
「QT(C++)开发工程师」7 小时前
C++11三大核心特性深度解析:类型特征、时间库与原子操作
java·c++·算法
乐分启航7 小时前
SliMamba:十余K参数量刷新SOTA!高光谱分类的“降维打击“来了
java·人工智能·深度学习·算法·机器学习·分类·数据挖掘
你真是饿了8 小时前
算法专题二:滑动窗口
算法