处理不平衡数据的方法小结(算法层面)

这篇具有很好参考价值的文章主要介绍了处理不平衡数据的方法小结(算法层面)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一:有序加权平均: OWA有序加权平均算法是一种用于处理不平衡数据的算法。在OWA中,不同的数据被赋予不同的权重,然后根据这些权重进行加权平均计算。这种方法可以有效地处理不平衡数据,并且可以为不同的数据类型提供不同的重要性。详情可参考IFROWANN文章。(调节效果主要取决于权向量的选择)

基于数据层面和基于算法层面的不平衡数据处理方法在处理不平衡数据集时采取了不同,机器学习,算法,人工智能,Powered by 金山文档
基于数据层面和基于算法层面的不平衡数据处理方法在处理不平衡数据集时采取了不同,机器学习,算法,人工智能,Powered by 金山文档

方法二:SMOTE:

SMOTE算法相对于传统的随机过采样算法有哪些进步?

答:与传统的随机过采样算法相比,SMOTE算法通过更好的合成少数类样本来解决类别不平衡问题,而不是简单地复制样本。因此,它可以提高分类器的性能,同时减少过拟合问题。这使得SMOTE算法在解决类别不平衡问题上更加有效和可靠。传统随机采样容易产生过拟合问题。

SMOTE算法是一种用于解决数据不平衡问题的机器学习算法。所谓数据不平衡,指的是数据集中不同类别的样本数量不平衡,导致训练出的模型在预测时偏向数量较多的类别。SMOTE算法的全称为Synthetic Minority Over-sampling Technique,即合成少数类过采样技术。它通过生成一些合成样本来增加少数类的样本数量,从而平衡数据集。

SMOTE算法在合成样本时,采用了对少数类样本进行随机插值的方法,即在少数类样本之间随机选取一些样本,对它们进行线性插值,得到新的合成样本。该算法的基本思想是在少数类样本中找出一个样本,然后在它的近邻中随机选取一个样本,计算两个样本之间的距离(一般采用欧氏距离),然后在两个样本之间进行插值,得到一个新的样本。这个新样本被添加到数据集中,从而使得数据集中少数类的样本数量增加(即过采样技术)。(注意:选出来的另一个样本也是少数类样本)

算法步骤如下

基于数据层面和基于算法层面的不平衡数据处理方法在处理不平衡数据集时采取了不同,机器学习,算法,人工智能,Powered by 金山文档
基于数据层面和基于算法层面的不平衡数据处理方法在处理不平衡数据集时采取了不同,机器学习,算法,人工智能,Powered by 金山文档

(上图星星代表少数类样本,圆圈代表多数类样本)

缺点:

该算法主要存在两方面的问题:一是在近邻选择时,存在一定的盲目性。

从上面的算法流程可以看出,在算法执行过程中,需要确定K值,即选择多少个近邻样本,这需要用户自行解决

从K值的定义可以看出,K值的下限是M值(M值为从K个近邻中随机挑选出的近邻样本的个数,且有M< K),M的大小可以根据负类样本数量、正类样本数量和数据集最后需要达到的平衡率决定。但K值的上限没有办法确定,只能根据具体的数据集去反复测试。因此如何确定K值,才能使算法达到最优这是未知的。

另外,该算法无法克服非平衡数据集的数据分布问题,容易产生分布边缘化问题。由于负类样本的分布决定了其可选择的近邻,如果一个负类样本处在负类样本集的分布边缘,则由此负类样本和相邻样本产生的“人造”样本也会处在这个边缘,且会越来越边缘化,从而模糊了正类样本和负类样本的边界,而且使边界变得越来越模糊。这种边界模糊性,虽然使数据集的平衡性得到了改善,但加大了分类算法进行分类的难度。

SMOTE算法的改进算法:

Borderline-SMOTE:

Borderline SMOTE是在SMOTE基础上改进的过采样算法,该算法仅使用边界上的少数类样本来合成新样本,从而改善样本的类别分布。

  Borderline SMOTE采样过程是将少数类样本分为3类,分别为Safe、Danger和Noise,具体说明如下。最后,仅对表为Danger的少数类样本过采样。

  Safe,样本周围一半以上均为少数类样本,如图中点A

  Danger:样本周围一半以上均为多数类样本,视为在边界上的样本,如图中点B

  Noise:样本周围均为多数类样本,视为噪音,如图中点c

基于数据层面和基于算法层面的不平衡数据处理方法在处理不平衡数据集时采取了不同,机器学习,算法,人工智能,Powered by 金山文档

Borderline-SMOTE又可分为Borderline-SMOTE1和Borderline-SMOTE2,Borderline-SMOTE1在对Danger点生成新样本时,在K近邻随机选择少数类样本(与SMOTE相同),Borderline-SMOTE2则是在k近邻中的任意一个样本(不关注样本类别)

算法详细步骤:

Borderline Smote算法是对SMOTE算法的扩展,用于过采样不平衡的数据集。它通过在分类模型的决策边界附近插值生成少数类实例的合成样本。以下是Borderline Smote算法的详细步骤:

  1. 找出接近决策边界的少数类实例。即danger类。

  1. 对于每个少数类实例,从少数类中找到它的k个最近邻。

  1. 对于每个少数类实例,计算其和其中一个k个最近邻之间的差向量。

  1. 将差向量乘以0到1之间的随机数,并将结果加到少数类实例上,生成新的合成实例。

  1. 重复步骤4指定的次数,生成多个合成实例。

  1. 将合成实例添加到少数类中,平衡数据集。

  1. 在平衡数据集上训练分类模型,并在测试集上评估其性能。

总结:说白了就是只在DANGER决策边界上的样本进行插值过采样来改善不平衡。

②AHC:层次聚类算法

层次聚类算法通过计算两类数据点间的相似性,对所有数据点中最为相似的两个数据点进行组合,并反复迭代这一过程。简单的说层次聚类的合并算法是通过计算每一个类别的数据点与所有数据点之间的距离来确定它们之间的相似性,距离越小,相似度越高。并将距离最近的两个数据点或类别进行组合,生成聚类树。

基本步骤:

1)(初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度;

2)寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个);

3)重新计算新生成的这个类与各个旧类之间的相似度;

4)重复2和3直到所有样本点都归为一类,结束。

AHC算法相较于传统SMOTE算法的改进之处在于可以有效抵御噪声和识别异常值。具有鲁棒性。

原因:AHC 算法可以处理噪声和异常值,因为它使用分层聚类方法,可以将相似的数据点分组在一起,而不管它们的噪声或异常值状态如何。 这意味着即使有一些数据点远离主要集群,算法仍然能够识别它们并将它们与其余数据区分开来。 此外,AHC 算法使用有助于最小化噪声和异常值影响的链接标准,例如单一链接标准,它仅考虑每个集群中最接近的点对。 总的来说,AHC 算法是一种鲁棒的聚类方法,可以处理范围广泛的数据类型和噪声水平。

基于数据层面和基于算法层面的不平衡数据处理方法在处理不平衡数据集时采取了不同,机器学习,算法,人工智能,Powered by 金山文档

AHC算法为什么能够处理不平衡数据?

答:AHC算法采用的是层次聚类的方法,这种方法可以根据数据相似度将数据逐层地合并为更大的类别。在这个过程中,如果某个类别的数据量较小,那么它可以被合并到更大的类别中,从而避免了数据不平衡造成的影响。 参考流程如上图所示

方法3 Easy Ensemble

Easy Ensemble 算法是一种集成学习算法,主要用于解决非平衡数据集分类问题。非平衡数据集是指在分类问题中不同类别的样本数目存在明显不平衡,例如在肿瘤样本数据集中,恶性样本可能只占样本总数的一小部分,而良性样本占大多数。这种不平衡的数据集会导致传统分类算法的准确率和召回率降低。

Easy Ensemble 算法的核心理念是将所有少数类别样本的子集分配给不同的基分类器,然后将它们的预测结果进行整合来获得最终的分类结果。具体步骤如下:

1. 第一步是生成多个子集,每个子集包含少数类别的样本和同等数量的多数类别的样本。(Easy Ensemble算法生成的子集中,每个子集内的多数类和少数类之间的样本数量比例是相等的,都是1:1。具体而言,Easy Ensemble算法首先通过某种方式得到多个不同的训练集(例如通过有放回的随机抽样),然后对每个训练集进行下采样,使得少数类别样本的数量等于多数类别样本的数量,从而保证了每个子集内的多数类和少数类之间样本数量的平衡。接着,在每个子集上,可以使用任何分类器训练出一个基分类器,然后将这些基分类器进行集成,形成一个更为强大的分类器,能够更好地处理不平衡的数据集。)

2. 在每个子集上使用基分类器进行训练,例如决策树、支持向量机等。

3. 对于每个基分类器,只选择分类准确率较高或较好的模型,或者采用随机选择的方式。

4. 对所有基分类器的预测结果进行汇总,例如采用投票、加权投票等方式进行汇总,以得到最终的分类结果。

Easy Ensemble 算法的优点在于能够有效地解决非平衡数据集分类问题,并且可以提高分类的准确率和召回率。缺点是需要使用大量的基分类器,计算成本较高。此外,Easy Ensemble 算法可以进一步扩展到其他的集成学习算法上,如 AdaBoost 和 Bagging 等。

方法4

Balance Cascade算法是一种基于级联分类器的算法,它被广泛应用于解决高度不平衡的数据集分类问题。Balance Cascade算法的基本思想是通过级联分类器的方式,对多次下采样的训练集进行训练,以增强分类器对少数类的检测能力。

算法的具体步骤如下:

1. 根据少数类和多数类的比例,选择一个适当的下采样比例,从多数类中随机采样一部分样本与少数类样本匹配。

2. 使用下采样后的样本,通过某种分类算法(如SVM、LR等)训练一个基分类器,得到该分类器的误分类样本集合。

3. 在误分类样本中,随机选择一部分样本,加入少数类样本中,重新构建训练集,并使用该数据集训练一个新的分类器。

4. 重复步骤2和步骤3,直到达到一定的分类精度(如达到指定的误差率或达到指定的基分类器数目)为止。

5. 将得到的多个基分类器进行集成(如使用投票方法),以得到最终的分类器。

Balance Cascade算法的核心思想是通过不断迭代地下采样和重新训练,使得训练集中少数类和多数类的样本比例越来越接近,并且在每个级联分类器中,通过结合误分类样本和少数类样本,强化分类器对少数类的分类能力。相比于一些采用权重调整的方法,Balance Cascade算法更适用于高度不平衡的数据集分类问题,能够有效地提高分类精度。


-待续文章来源地址https://www.toymoban.com/news/detail-761043.html

到了这里,关于处理不平衡数据的方法小结(算法层面)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 路径规划算法:基于平衡优化器优化的路径规划算法- 附代码

    摘要:本文主要介绍利用智能优化算法平衡优化器算法来进行路径规划。 平衡优化器算法原理请参考:https://blog.csdn.net/u011835903/article/details/111388552 1.1 环境设定 在移动机器人的路径优化中,每个优化算法的解代表机器人的一条运动路径。优化算法会通过优化计算在众多路径

    2024年02月07日
    浏览(34)
  • 【机器学习】处理不平衡的数据集

            假设您在一家给定的公司工作,并要求您创建一个模型,该模型根据您可以使用的各种测量来预测产品是否有缺陷。您决定使用自己喜欢的分类器,根据数据对其进行训练,瞧:您将获得96.2%的准确率!         你的老板很惊讶,决定使用你的模型,没有任何

    2024年02月11日
    浏览(33)
  • 机器学习Caret--R处理不平衡数据

    不平衡数据集指的是数据集各个类别的样本数目相差巨大,例如2000的人群中,某疾病的发生只有100 (5%)人,那么疾病发生与不发生为 1:19 。这种情况下的数据称为不平衡数据。在真实世界中,不管是二分类或三分类,不平衡数据的现象普遍存在,尤其是罕见病领域。 image.

    2024年01月16日
    浏览(37)
  • 人工智能安全-2-非平衡数据处理

    现象与原因 非平衡数据处理方法概览 数据预处理层面 特征层 算法层面 非平衡数据分类问题 :在网络信息安全问题中,诸如 恶意软件检测、SQL注入、不良信息检测等 许多问题都可以归结为机器学习分类问题。这类机器学习应用问题中,普遍存在非平衡数据的现象。 产生的

    2024年02月14日
    浏览(35)
  • 人工智能安全-2-非平衡数据处理(1)

    现象与原因 非平衡数据处理方法概览 数据预处理层面 特征层 算法层面 非平衡数据分类问题 :在网络信息安全问题中,诸如 恶意软件检测、SQL注入、不良信息检测等 许多问题都可以归结为机器学习分类问题。这类机器学习应用问题中,普遍存在非平衡数据的现象。 产生的

    2024年02月06日
    浏览(43)
  • 基于OpenCV+CUDA实时视频抠绿、背景合成以及抠绿算法小结

    百度百科上描述抠绿“抠绿是指在摄影或摄像时,以绿色为背景进行拍摄,在后期制作时使用特技机的“色键”将绿色背景抠去,改换其他更理想的背景的技术。”绿幕的使用已经非常普遍,大到好莱坞大片,小到自媒体的节目,一些商业娱乐场景,几乎都用使用。但是很多

    2023年04月09日
    浏览(58)
  • 【Python数据结构与算法】线性结构小结

    🌈个人主页: Aileen_0v0 🔥系列专栏:PYTHON学习系列专栏 💫\\\"没有罗马,那就自己创造罗马~\\\"   目录 线性数据结构Linear DS 1.栈Stack 栈的两种实现 1.左为栈顶,时间复杂度为O(n) 2.右为栈顶,时间复杂度O(1)   2.队列Queue 3.双端队列Deque 4.列表List 5.链表 a.无序链表的实现 b.有序链表的实

    2024年02月04日
    浏览(38)
  • 第34步 机器学习实战DLC:不平衡数据处理(上)

    失踪人口回归的第一期,来说一说不平衡数据。 一、不平衡数据的概念 什么是不平衡数据?我们先来看看小Chat怎么说的:   顾名思义,就是你的因变量1和0的样本数差距有点大, 大到影响了模型性能。举个栗子,一个盒子里有100个红球,10个黄球,我们随机盲抽一个球,然

    2024年02月08日
    浏览(39)
  • 数据结构和算法学习记录——平衡二叉树(基本介绍、平衡因子、平衡二叉树的定义、平衡二叉树的高度)

    目录 基本介绍 平衡因子 平衡二叉树  平衡二叉树的高度  什么是平衡二叉树? 以一个例子来解释一下: 搜索树结点按不同的插入次序,将会导致不同的深度和平均查找长度ASL   在二叉搜索树中查找一个元素:  (a)要找到Jan,需要查找一次;要找到Feb,需要查找两次;

    2023年04月26日
    浏览(58)
  • 基于FPGA的图像白平衡算法实现,包括tb测试文件和MATLAB辅助验证

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 vivado2019.2 matlab2022a         FPGA(Field-Programmable Gate Array)是一种可编程逻辑电路,可以通过编程实现各种算法,包括图像白平衡算法。图像白平衡算法是一种用于调整图像颜

    2024年02月07日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包