Earyant的技术博客

欢迎来到Earyant的技术博客,在这里我将与你分享新技术。

决策树

决策树是一种用于分类和回归任务的机器学习算法。它们是决策的强大工具,可用于对变量之间的复杂关系进行建模。
决策树的主要优点之一是它们易于理解和解释。树形结构可以清晰地可视化决策过程,并且可以轻松评估每个特征的重要性。构建决策树的过程从选择根节点开始,根节点是最好地将数据分为不同类别或目标值的特征。然后根据该特征的值将数据分成子集,并对每个子集重复该过程,直到满足停止标准。停止标准可以基于子集中的样本数量、子集的纯度或树的深度。

决策树的主要缺点之一是它们很容易过度拟合数据,特别是当树很深并且有很多叶子时。当树过于复杂并且适合数据中的噪声而不是底层模式时,就会发生过度拟合。这可能会导致对新的、未见过的数据的泛化性能较差。为了防止过度拟合,可以使用剪枝、正则化和交叉验证等技术。决策树的另一个问题是它们对输入特征的顺序敏感。不同的特征顺序会导致不同的树结构,最终的树可能不是最优的。为了克服这个问题,可以使用随机森林和梯度提升等技术。

优点

  1. 易于理解和解释:树形结构可以清晰地可视化决策过程,并且可以轻松评估每个特征的重要性。
  2. 处理数值和分类数据:决策树可以处理数值和分类数据,使其成为适用于各种应用的多功能工具。
  3. 高精度:决策树可以在很多数据集上实现高精度,特别是当树不深时。
  4. 对异常值具有鲁棒性:决策树不受异常值的影响,这使得它们适合有噪声的数据集。
  5. 既可用于分类任务,又可用于回归任务。

缺点

  1. 过度拟合:决策树很容易对数据过度拟合,特别是当树很深并且有很多叶子时。
  2. 对输入特征的顺序敏感:不同的特征顺序会导致不同的树结构,最终的树可能不是最优的。
  3. 不稳定:决策树对数据的微小变化很敏感,这会导致不同的树结构和不同的预测。
  4. 偏差:决策树可能会偏向于具有更多级别的特征或具有多个级别的分类变量,这可能导致预测不准确。
  5. 不适合连续变量:决策树不适合连续变量,如果变量是连续的,则可能导致将变量分成许多级别,这将使树变得复杂并导致过度拟合。

集成学习

众所周知,三个臭皮匠顶个诸葛亮,人无完人,模型无完模型,永远没有百分百准确率的模型。
一个准确率为99.9%的模型,仍可能有0.1%的比例会判断错误,那么如何在上一层楼呢?我们可以通过再训练一个对漏过的数据更精准的模型,在第一个大模型的判断基础上,再次判断。

用人举个例子:

  1. 诸葛亮出了主意以后,县令可以在此基础上,再次判断,得到更精准的答案,这就是提升数的基本思想。
  2. 所有人一起投票,投票最多的选项,大概率为最佳选项,这就是bagging的基本思想。

bagging

举例:随机森林

boosting

举例:GBDT

疑问
既然后面的树是在拟合前面树的残差,那提升树可以做预训练模型吗?

随机森林

随机森林是一种集成机器学习算法,可用于分类和回归任务。它是多个决策树的组合,其中每棵树都是使用数据的随机子集和特征的随机子集来生长的。最终的预测是通过对森林中所有树木的预测进行平均来做出的。

使用多个决策树背后的想法是,虽然单个决策树可能容易过度拟合,但决策树的集合或森林可以降低过度拟合的风险并提高模型的整体准确性。构建随机森林的过程首先使用一种称为引导的技术创建多个决策树。Bootstrapping 是一种统计方法,涉及从原始数据集中随机选择数据点并进行替换。这会创建多个数据集,每个数据集都有一组不同的数据点,然后用于训练单个决策树。随机森林的另一个重要方面是为每棵树使用随机的特征子集。这称为随机子空间方法。这减少了森林中树木之间的相关性,进而提高了模型的整体性能。

优点

随机森林的主要优点之一是它比单个决策树更不容易过度拟合。多棵树的平均可以消除误差并减少方差。随机森林在高维数据集和具有大量 calcategories 变量的数据集中也表现良好。

缺点

随机森林的缺点是训练和预测的计算成本可能很高。随着森林中树木数量的增加,计算时间也会增加。此外,随机森林比单个决策树的可解释性更差,因为更难理解每个特征对最终预测的贡献。

总结

总之,随机森林是一种强大的集成机器学习算法,可以提高决策树的准确性。它不太容易过度拟合,并且在高维和分类数据集中表现良好。然而,与单个决策树相比,它的计算成本较高且可解释性较差。

使用场景

>

在什么情况下,会使用决策树呢?

  1. 模型可解释性强

问题

  1. 为什么每个独立的树不能基于所有数据训练?
  2. 等同于第一个问题,训练好几种不同的模型,再共同投票,跟随机森林的差别是什么?

欢迎关注我的其它发布渠道