决策树算法中处理噪音点
创始人
2024-03-23 18:01:37
0次

目录

如何解决?——采用剪枝的方法。

预剪枝

后剪枝


如果训练集中存在噪音点,模型在学习的过程总会将噪音与标签的关系也学习进去,这样就会造成模型的过拟合化,也就是模型在训练集的分类效果很好,在未知数据上处理效果不好。

如何解决?——采用剪枝的方法。

一般存在“预剪枝”和“后剪枝”两种策略。

预剪枝

预剪枝即为在决策树生成过程中,对当前节点的划分结果进行评价,如果该划分不能带来决策树泛化能力(即处理未见过示例的能力)的提升,则停止划分,将当前结点标记为叶节点;

后剪枝

先生成一颗完整的决策树,然后自底向上的对非叶节点进行评价,如果剪掉该枝可以使得泛化性能提升,则将该子树替换为叶子节点。预先剪枝可能会过早的终止决策树的生长,后剪枝一般能够产生更好的效果。但后剪枝在子树被剪掉后,决策树生长的一部分计算就被浪费了。

这里简单介绍一个剪枝算法,首先我们要明确,剪枝的目的是为了减小过拟合带来的不良影响,降低决策树模型的复杂度,但是同时也要保证其对于训练数据有较好的分类效果。因此,定义一个损失函数,如下:

C_{\alpha }(T)=C(T)+\alpha|T|

其中,\alpha \geq 0为参数,C(T)表示模型对于训练数据的预测误差。|T|表示叶子节点的个数,可用于表示模型的复杂度。可以看出,参数\alpha控制着模型复杂度和对训练数据拟合程度两者之间的影响。较大的\alpha促使我们选择一个较简单的树,而较小的\alpha则偏向于对训练数据有更好的拟合效果。

因此可以利用上面的损失函数进行剪枝操作,这样得到的决策树既考虑到对训练数据的拟合,又增强了泛化能力。

其他一些剪枝算法借助验证集实现,有的算法通过设置信息赠益的阈值来作为剪枝判断标准,具体的算法过程可以参考相关文献。


相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...