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

文章目录


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

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)

三、应用选择

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

选择偏向

  • 随机森林当:特征交互复杂、数据充足、需要高精度
  • 朴素贝叶斯当:特征相对独立、需要快速部署、数据稀缺
相关推荐
无限进步_2 小时前
【C语言&数据结构】对称二叉树:镜像世界的递归探索
c语言·开发语言·数据结构·c++·git·算法·visual studio
星辞树3 小时前
揭秘阿里 DIN:当深度学习遇上“千物千面”
算法
刘立军3 小时前
如何选择FAISS的索引类型
人工智能·算法·架构
小芒果_013 小时前
整理归并排序
c++·算法·排序算法·信息学奥赛
牛三金3 小时前
匿踪查询沿革-Private Information Retrieval(PIR)
算法·安全
德育处主任3 小时前
『NAS』在群晖部署一个文件加密工具-hat.sh
前端·算法·docker
星辞树3 小时前
从 L1/L2 到 Dropout:深度解析正则化,为何推荐系统“只能练一次”?
算法
玖剹3 小时前
队列+宽搜(bfs)
数据结构·c++·算法·leetcode·宽度优先
mit6.8243 小时前
01bfs|前缀和的前缀和
算法
wen__xvn3 小时前
代码随想录算法训练营DAY11第五章 栈与队列part02
算法