随机森林(Random Forest)是一种集成学习方法,由Leo Breiman和Adele Cutler在2001年提出。

它通过构建多个决策树并将它们的预测结果结合起来,以提高预测准确性和防止过拟合。随机森林结合了两种技术:Bagging(Bootstrap Aggregating)和随机特征选择

随机森林的构建步骤:
  1. 自助采样(Bootstrap Sampling):从原始训练集中通过有放回抽样得到一个新样本集,用于训练单个决策树。这个过程重复进行,创建多个决策树。
  2. 随机特征选择:在每个决策树的节点分裂过程中,从所有可能的特征中随机选择一个子集,然后从中选择最佳分割特征。这增加了决策树之间的差异性。
  3. 决策树构建:使用上述过程创建的子样本集随机特征子集来构建决策树,通常允许树生长到最大深度而不进行剪枝。
  4. 预测
  • 分类问题:每个决策树对新样本进行分类,然后采用多数表决法确定最终分类结果。
  • 回归问题:每个决策树给出一个预测值,最终结果是所有决策树预测值的平均值。
随机森林涉及的公式:
基尼不纯度 (Gini Impurity)

什么是随机森林?_算法

  • 什么是随机森林?_随机森林_02: 表示数据集(D)的基尼不纯度。
  • 什么是随机森林?_数据集_03: 数据集中类别的总数。
  • 什么是随机森林?_集成学习_04: 类别(i)在数据集(D)中所占的比例。
熵 (Entropy)

什么是随机森林?_数据集_05

  • 什么是随机森林?_机器学习_06: 数据集(D)的
  • 什么是随机森林?_数据集_03: 数据集中类别的总数。
  • 什么是随机森林?_集成学习_04: 类别(i)在数据集(D)中所占的比例。
信息增益 (Information Gain)

什么是随机森林?_数据集_09

  • 什么是随机森林?_数据集_10: 属性 什么是随机森林?_随机森林_11 在数据集 什么是随机森林?_数据集_12上的信息增益。
  • 什么是随机森林?_机器学习_06: 数据集 什么是随机森林?_数据集_12
  • 什么是随机森林?_随机森林_11: 正在考虑的属性。
  • 什么是随机森林?_算法_16: 根据属性 什么是随机森林?_随机森林_11 的值 什么是随机森林?_随机森林_18 分割后的子数据集。
  • 什么是随机森林?_随机森林_18: 属性 什么是随机森林?_随机森林_11可能取值之一
  • 什么是随机森林?_机器学习_21: 子数据集 什么是随机森林?_算法_16样本数。
  • 什么是随机森林?_算法_23: 数据集 什么是随机森林?_数据集_12样本总数。
Gini指数 (Gini Index)

什么是随机森林?_数据集_25

  • 什么是随机森林?_算法_26: 属性 什么是随机森林?_随机森林_11 在数据集 什么是随机森林?_数据集_12 上的Gini指数
  • 什么是随机森林?_随机森林_02: 数据集 什么是随机森林?_数据集_12基尼不纯度。
  • 什么是随机森林?_算法_16: 根据属性 什么是随机森林?_随机森林_11 的值 什么是随机森林?_随机森林_18 分割后的子数据集。
  • 什么是随机森林?_随机森林_18: 属性 什么是随机森林?_随机森林_11可能取值之一
  • 什么是随机森林?_机器学习_21: 子数据集 什么是随机森林?_算法_16样本数。
  • 什么是随机森林?_算法_23: 数据集 什么是随机森林?_数据集_12样本总数。
随机森林的预测公式

对于分类任务,随机森林的预测公式为:
什么是随机森林?_随机森林_40

  • 什么是随机森林?_机器学习_41: 对输入特征向量 什么是随机森林?_数据集_42最终预测类别。
  • 什么是随机森林?_机器学习_43: 找出使括号内表达式最大的类别 什么是随机森林?_算法_44
  • 什么是随机森林?_数据集_45: 随机森林中决策树的数量。
  • 什么是随机森林?_算法_46: 第 什么是随机森林?_数据集_47 棵决策树对输入 什么是随机森林?_数据集_42预测。
  • 什么是随机森林?_机器学习_49: 如果第 什么是随机森林?_数据集_47 棵决策树的预测类别为 什么是随机森林?_算法_44,则该函数返回1;否则,返回0。

对于回归任务,预测公式为:
什么是随机森林?_数据集_52

  • 什么是随机森林?_机器学习_41: 对输入特征向量 什么是随机森林?_数据集_42最终预测数值。
  • 什么是随机森林?_数据集_45: 随机森林中决策树的数量。
  • 什么是随机森林?_算法_46: 第 什么是随机森林?_数据集_47 棵决策树对输入 什么是随机森林?_数据集_42预测。
总结

随机森林通过集成多个决策树来提高预测的稳定性和准确性,其中每棵树在不同的数据子集和特征子集上训练,最终通过投票或平均的方法进行预测。