0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习如何应对失衡类别

zhKF_jqr_AI ? 来源:未知 ? 作者:邓佳佳 ? 2018-03-05 11:53 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

实际应用中的分类问题往往不像教科书上人造的例子那样齐整,类别往往存在某种程度上的失衡。Towards Data Science博主Devin Soni简要介绍了应对失衡分类的常用方法。

介绍

大多数真实世界的分类问题都呈现出某种程度的类别失衡,即每个类别在数据集中的比例不同。恰当地调整指标和方法以适应目标非常重要。否则,你可能最终会为一个对你的用例无意义的度量指标进行优化。

例如,假设你有两个类——A和B。A类占数据集的90%,B类占10%,但你最感兴趣的是识别B类的实例。你可以每次都预测分类为A,这样轻易就能达到90%的精确度,但对你的预期用例而言,这是一个无用的分类器。相反,经过恰当地校准的方法可能精确度较低,但会有较高的真阳率(或召回),这才是你应该优化的指标。在进行检测时,这是常常发生的场景,例如检测在线恶意内容或医疗数据中的疾病标记。

现在我将讨论几种可以用来缓解类别失衡的技术。一些技术适用于大多数分类问题,而其他技术可能更适合具备特定的失衡水平的问题。本文将从二元分类的角度来讨论这些问题,但大多数情况下,这些技术同样适用于多类分类问题。本文同时假设目标是识别少数类别,否则,这些技术并不是真的很有必要。

指标

一般来说,这个问题涉及召回率(recall,真阳性实例被分类为阳性实例的百分比)和准确率(precision,被分类为真阳性的实例中确实是阳性的百分比)之间的折衷。当我们想要检测少数类别实例时,我们通常更关心召回率而不是准确率,因为在检测的情境中,错过正面实例的成本通常高于错误地标记负面实例为正面实例。例如,如果我们试图检测恶意内容,那么手动审核纠正被误认为恶意内容的正常内容是微不足道的,但要识别甚至从未被标记为恶意内容的内容就要困难很多了。因此,比较适用于失衡分类问题的方法时,请考虑使用精确度之外的指标,例如召回率,准确率和AUROC。在选择参数和模型时,切换优化指标可能就足以提供侦测少数类别所需的表现。

成本敏感学习

在通常的学习中,我们平等对待所有错误分类,这在失衡分类问题中会导致问题,因为相比识别出主要类别,识别出少数类别并不会有额外的奖励。成本敏感学习改变了这一点,使用函数C(p, t)(通常表示为矩阵)指定将t类实例错误分类为p类实例的成本。这让我们可以给错误分类少数类别更多的惩罚,以便增加真阳率。一个常用的方案是让成本等于类别在数据集中所占比例的倒数。这样,当类别尺寸缩小时,惩罚会增加。

采样

解决失衡数据集的一个简单方法就是平滑它们,过采样少数类别,或者欠采样主要类别。这让我们创建一个平衡的数据集,理论上能使分类器不偏向其中一个类。然而,这些简单的采样方法实际上存在缺陷。过采样少数类别会导致模型过拟合,因为它会引入从已经很小的实例池中抽取的重复实例。同样,欠采样主要类别可能最终导致遗漏体现了两个类别之间的重要差别的重要实例。

还存在比简单的过采样或欠采样更强大的采样方法。最着名的例子是SMOTE,SMOTE通过构建相邻实例的凸组合来创建少数类别的新实例。如下图所示,它有效地绘制了特征空间中少数点之间的线条,并沿着这些线条采样。这使我们能够平衡我们的数据集,而不会过多地过拟合,因为我们创建了新的合成示例,而没有使用重复样本。不过这并不能防止所有过拟合,因为这些合成数据点仍然是基于现有数据点创建的。


可视化SMOTE。阴影方块:主要类别样本;黑点:少数类别样本;红点:生成样本

异常侦测

在更极端的情况下,将分类问题考虑成异常检测(anomaly detection)问题可能会更好。在异常检测问题中,我们假设有一个或一组“正常”的数据点分布,而任何与该分布足够偏离的东西都是异常值。将分类问题置于异常检测的框架下以后,我们将主要类别视为点的“正常”分布,将少数类别视为异常。有许多用于异常检测的算法,例如聚类(clustering)方法,单类SVM(One-class SVM)和孤立森林(Isolation Forests)。


可视化用于异常检测的聚类方法

结论

希望这些方法的某些组合可以让你创建一个更好的分类器。像我之前说的那样,这些技术中的某些技术更适合不同程度的失衡。例如,简单的采样技术可以让你克服轻微失衡,而极端失衡可能需要异常检测方法。基本上,对于这个问题,没有包治百病的灵丹妙药,你需要尝试每种方法,看看它们应用到你的特定用例和指标的效果如何。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8513

    浏览量

    135107

原文标题:机器学习如何应对失衡类别

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 ?1593次阅读

    机器学习模型市场前景如何

    当今,随着算法的不断优化、数据量的爆炸式增长以及计算能力的飞速提升,机器学习模型的市场前景愈发广阔。下面,AI部落小编将探讨机器学习模型市场的未来发展。
    的头像 发表于 02-13 09:39 ?421次阅读

    短波天线的工作原理和类别

    短波通信以其独特的长距离传输能力而闻名,本文将详细探讨短波天线的工作原理和类别等,勾勒出短波天线的大致面貌。
    的头像 发表于 02-07 17:33 ?2240次阅读

    嵌入式机器学习的应用特性与软件开发环境

    作者:DigiKey Editor 在许多嵌入式系统中,必须采用嵌入式机器学习(Embedded Machine Learning)技术,这是指将机器学习模型部署在资源受限的设备(如微
    的头像 发表于 01-25 17:05 ?751次阅读
    嵌入式<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的应用特性与软件开发环境

    人工智能之机器学习在推荐系统中的应用

    机器学习在推荐系统中发挥着关键作用,提升用户体验和业务价值。 协同过滤算法是常用方法。基于用户行为数据,如购买记录、浏览历史,计算用户或物品间相似度。比如,用户 A 和用户 B 购买过很多相同商品
    的头像 发表于 01-21 16:19 ?558次阅读

    传统机器学习方法和应用指导

    在上一篇文章中,我们介绍了机器学习的关键概念术语。在本文中,我们会介绍传统机器学习的基础知识和多种算法特征,供各位老师选择。 01 传统机器
    的头像 发表于 12-30 09:16 ?1307次阅读
    传统<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法和应用指导

    如何选择云原生机器学习平台

    当今,云原生机器学习平台因其弹性扩展、高效部署、低成本运营等优势,逐渐成为企业构建和部署机器学习应用的首选。然而,市场上的云原生机器
    的头像 发表于 12-25 11:54 ?511次阅读

    zeta在机器学习中的应用 zeta的优缺点分析

    在探讨ZETA在机器学习中的应用以及ZETA的优缺点时,需要明确的是,ZETA一词在不同领域可能有不同的含义和应用。以下是根据不同领域的ZETA进行的分析: 一、ZETA在机器学习
    的头像 发表于 12-20 09:11 ?1273次阅读

    什么是机器学习?通过机器学习方法能解决哪些问题?

    来源:Master编程树“机器学习”最初的研究动机是让计算机系统具有人的学习能力以便实现人工智能。因为没有学习能力的系统很难被认为是具有智能的。目前被广泛采用的
    的头像 发表于 11-16 01:07 ?1076次阅读
    什么是<b class='flag-5'>机器</b><b class='flag-5'>学习</b>?通过<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法能解决哪些问题?

    NPU与机器学习算法的关系

    在人工智能领域,机器学习算法是实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源的需求也在不断增长。NPU作为一种专门为深度学习机器
    的头像 发表于 11-15 09:19 ?1433次阅读

    eda在机器学习中的应用

    机器学习项目中,数据预处理和理解是成功构建模型的关键。探索性数据分析(EDA)是这一过程中不可或缺的一部分。 1. 数据清洗 数据清洗 是机器学习中的首要任务之一。EDA可以帮助识别
    的头像 发表于 11-13 10:42 ?1018次阅读

    具身智能与机器学习的关系

    具身智能(Embodied Intelligence)和机器学习(Machine Learning)是人工智能领域的两个重要概念,它们之间存在着密切的关系。 1. 具身智能的定义 具身智能是指智能体
    的头像 发表于 10-27 10:33 ?1186次阅读

    人工智能、机器学习和深度学习存在什么区别

    人工智能指的是在某种程度上显示出类似人类智能的设备。AI有很多技术,但其中一个很大的子集是机器学习——让算法从数据中学习
    发表于 10-24 17:22 ?3080次阅读
    人工智能、<b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>存在什么区别

    RISC-V如何支持不同的AI和机器学习框架和库?

    RISC-V如何支持不同的AI和机器学习框架和库?还请坛友们多多指教一下。
    发表于 10-10 22:24

    基于机器学习的IWR6843AOP跌倒和姿态检测实现

    电子发烧友网站提供《基于机器学习的IWR6843AOP跌倒和姿态检测实现.pdf》资料免费下载
    发表于 09-03 10:02 ?3次下载
    基于<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的IWR6843AOP跌倒和姿态检测实现