应对数据不平衡和过拟合的分类模型优化策略

news/2025/6/5 12:22:13

不平衡分类

数据类别不平衡问题是指数据集中各类别样本数量不对等的情况。

基于抽样的方法

在处理这类问题时,可以采用基于抽样的方法来解决。以下是几种常见的基于抽样的方法:

image.png

两阶段学习

两阶段学习是一种解决不平衡分类问题的方法,包括特征学习阶段和分类器学习阶段。

在特征学习阶段,通过学习一组规则,尽可能覆盖正类(数量较少的类别)。这些规则可以捕捉到正类的特征和模式。

在分类器学习阶段,使用特征学习阶段得到的规则,结合正类和部分负类样本,再学习一组规则。通过这样的方式,可以更好地区分不同类别,并提高分类器的性能。

  • 特征学习阶段
  • 分类器学习阶段
    以基于规则的分类法为例:
  • 阶段I:学习一组规则,尽可能覆盖正类(少的那一类)
  • 阶段II:使用阶段I覆盖的正类和负类样本+部分其它负类样本,学习一组规则

image.png

过拟合和欠拟合

过拟合和欠拟合是在训练分类模型时常遇到的问题。

过拟合是指模型在训练数据上表现得过于优秀,但在未知数据上的表现较差。这种情况下,模型过于复杂,过分拟合了训练数据的噪声和细节,导致泛化能力下降。

欠拟合是指模型无法很好地拟合训练数据,不能捕捉到数据的真实结构。这种情况下,模型过于简单,无法充分学习数据的特征和模式。

为了解决过拟合问题,可以采取以下方法:

  • 正则化方法:在损失函数中引入参数向量的L1或L2范数(L1正则化或L2正则化),限制模型的复杂度。
  • Dropout:在神经网络中引入随机丢弃部分神经元的机制,减少神经网络的复杂性。

为了解决欠拟合问题,可以采取以下方法:

  • 增加模型的复杂度:增加模型的层数、神经元数等,使其能够更好地拟合训练数据。
  • 特征工程:对原始特征进行变换、组合等操作,增加模型对数据的表达能力。

通过使用合适的方法来解决过拟合和欠拟合问题,可以提高分类模型的性能和泛化能力。

模型过分拟合和拟合不足

分类模型的误差大致分为两种:

  • 训练误差:是在训练记录上误分类样本比例
  • 泛化误差:是模型在未知记录上的期望误差
  • 一个好的分类模型不仅要能够很好的拟合训练数据,而且对未知样本也要能准确分类。
  • 换句话说,一个好的分类模型必须具有低训练误差和低泛化误差。
  • 当训练数据拟合太好的模型(较低训练误差),其泛化误差可能比具有较高训练误差的模型高,这种情况成为模型过分拟合。

当进行训练时引用了较多噪点数据时就会发生过拟合,此时训练误差较小,但可能泛化误差较大.
建模过程:
image.png

以决策树算法为例

  • 当决策树很小时,训练和检验误差都很大,这种情况称为模型拟合不足。出现拟合不足的原因是模型尚未学习到数据的真实结构。
  • 随着决策树中结点数的增加,模型的训练误差和泛化误差都会随之下降。
  • 当树的规模变得太大时,即使训练误差还在继续降低,但泛化误差开始增大,导致模型过分拟合。

image.png
当树的规模变得太大时,即使训练误差还在继续降低,但泛化误差开始增大,导致模型过分拟合。
image.png
训练误差可以通过训练集来计算,泛化误差可以通过泛化误差来计算.

image.png

导致过拟合的原因:

  • 训练集规模太大
  • 训练集中存在大量噪音数据
  • 训练集规模太小,训练模型过于复杂

解决过拟合的方法一:减少泛化误差

奥卡姆剃刀,拉丁文的意思是简约之法则。
奥卡姆剃刀定律被广泛运用在多个学科的逻辑定律,它的简单表述:如无必要,勿增实体
根据奥卡姆剃刀原则引入惩罚项,使较简单的模型比复杂的模型更可取

  • 正则化方法:在原有损失函数的基础上添加参数向量的L1或L2范数(L1正则化或L2正则化)。
  • 神经网络中,引入dropout丢弃机制。

image.png

解决过拟合的方法二:使用确认集

使用确认集

  • 该方法中,不是用训练集估计泛化误差,而是把原始的训练数据集分为两个较小的子集,一个子集用于训练,而另一个称为确认集,用于估计泛化误差。
  • 该方法为评估模型在未知样本上的性能提供了较好办法。

image.png
具体实现
保持法:

  • 将数据集随机划分成两组:训练集和测试集(验证集)
  • 训练集用于模型的建立;
  • 测试集用于测试模型的性能。
    交叉验证法:
  • 基本思想:在某种意义下把数据集划分成训练集和测试集,每个数据集既可以用于训练,也可以用于测试。体现了交叉的思想。
  • 具体有两种方法:S折交叉验证、留一交叉验证。
文章来源:https://blog.csdn.net/kilig_CSM/article/details/131054051
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-4633520.html

相关文章

Java开发手册中为什么要求谨慎使用ArrayList中的sublist方法

场景 Java开发手册中对于ArrayList的subList的要求如下: 【强制】ArrayList 的 subList 结果不可强转成 ArrayList,否则会抛出 ClassCastException 异常: java.util.RandomAccessSubList cannot be cast to java.util.ArrayList。 说明&a…

c盘清理软件:清理垃圾、扩大c盘和系统迁移

一、为什么要c盘清理软件 Windows系统采用了NTFS文件系统,这种文件系统特点是有文件碎片和系统产生的临时文件会大量存储到系统盘上,而且在使用电脑的过程中,由于程序的安装、升级、卸载和其他操作会产生大量无用的垃圾文件,这些…

XML入库后空白字符丢失问题

最近项目上在做电子病历,使用的是第三方的电子病历组件,该病历组件是利用XML来组织数据的。界面上渲染出来的效果如下图: XML渲染后的界面 对应的后台数据(已做简化处理)是如下XML格式的,其中的空格部分是…

k8s pvc详解

一、概述 PVC 的全称是:PersistentVolumeClaim(持久化卷声明),PVC 是用户存储的一种声明,PVC 和 Pod 比较类似,Pod 消耗的是节点,PVC 消耗的是 PV 资源,Pod 可以请求 CPU 和内存&am…

Spring为什么默认是单例的?

目录 一、五种作用域 二、单例bean与原型bean的区别 三、单例Bean的优势与劣势 一、五种作用域 1.singleton: singleton是Spring Bean的默认作用域,也就是单例模式。在整个应用程序中,只会创建一个实例,Bean的所有请求都会共享这个实例。 …

Tomcat的部署和优化(生命中的全部偶然,其实都是命中注定)

文章目录 一、Tomcat简介二、Tomcat 的构成三、Tomcat 功能组件结构四、Tomcat 请求过程五、Tomcat 服务部署六、Tomcat 虚拟主机配置七、Tomcat优化1.Tomcat 配置文件参数优化2.JVM优化 一、Tomcat简介 Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源…

门店会员管理系统有哪些功能?2023门店会员管理系统该如何选?

不管是自己单独开店,还是同时开多家门店的老板来说,都普遍面临房租高,人难招,生意不好等难题。 很多老板都想通过借助会员管理系统来留住新老客户,通过提升会员等级、赠送会员积分等玩法,持续刺激客户到店消…

第1章:SpringMVC简介

一、SpringMVC 1.Java语言学习流程 2.SpringMVC的主要内容 二、SpringMVC简介 1.什么是MVC MVC是一种软件架构的思想,将软件按照模型,视图,控制器划分M:Model,模型层,指工程中的JavaBean,作用…

160个CrackMe之002

这道题就很简单 有了第一道题目的支持 我们就能做 首先 我们先要下载Msvbvm50.dll Msvbvm50.dll下载_Msvbvm50.dll最新版下载[修复系统丢失文件]-下载之家 然后我们可以运行程序了 比之前那个还简单 就是输入 然后比对 报错或者成功 开始逆向分析 先去常量中进行查找 找…

SpringBootWeb案例-2(下)

3. 修改员工 需求:修改员工信息 在进行修改员工信息的时候,我们首先先要根据员工的ID查询员工的信息用于页面回显展示,然后用户修改员工数据之后,点击保存按钮,就可以将修改的数据提交到服务端,保存到数据…