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

文章目录


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

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)

三、应用选择

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

选择偏向

  • 随机森林当:特征交互复杂、数据充足、需要高精度
  • 朴素贝叶斯当:特征相对独立、需要快速部署、数据稀缺
相关推荐
xu_yule2 小时前
算法基础-背包问题(01背包问题)
数据结构·c++·算法·01背包
我不是小upper2 小时前
从理论到代码:随机森林 + GBDT+LightGBM 融合建模解决回归问题
人工智能·深度学习·算法·随机森林·机器学习·回归
budingxiaomoli2 小时前
分治算法-快排
数据结构·算法
云泽8083 小时前
C++ STL 栈与队列完全指南:从容器使用到算法实现
开发语言·c++·算法
黑客思维者3 小时前
机器学习012:监督学习【回归算法】(对比)-- AI预测世界的“瑞士军刀”
人工智能·学习·机器学习·回归·逻辑回归
*星星之火*3 小时前
【大白话 AI 答疑】第9篇 深入浅出:sigmoid函数公式设计原理——为何是$e^{-x}$而非$e^x$
人工智能·机器学习
*星星之火*3 小时前
【大白话 AI 答疑】第8篇 BERT与传统机器学习(如贝叶斯)在文本分类中的区别及效果对比
人工智能·机器学习·bert
前端小白在前进3 小时前
力扣刷题:复原IP地址
tcp/ip·算法·leetcode
渡我白衣3 小时前
计算机组成原理(7):定点数的编码表示
汇编·人工智能·嵌入式硬件·网络协议·机器学习·硬件工程