不均衡分类的成本敏感学习

打印 上一主题 下一主题

主题 1043|帖子 1043|积分 3129

不均衡分类的成本敏感学习

大多数机器学习算法都假设模型所犯的所有错误分类错误都是雷同的。
对于不均衡分类题目,情况通常并非如此,因为遗漏正类或少数类案例比错误地将示例归类为负类或多数类更糟糕。有许多现实世界的例子,例如检测垃圾邮件、诊断医疗状况或识别敲诈行为。在所有这些情况下,假阴性(遗漏案例)比假阳性更糟糕或成本更高。
成本敏感型学习是机器学习的一个子范畴,在练习机器学习模型时会考虑猜测误差的成本(以及埋伏的其他成本)。该研究范畴与不均衡学习范畴密切相关,不均衡学习涉及对具有倾斜类别分布的数据集进行分类。因此,许多为成本敏感型学习而开发和使用的概念和技能可以用于办理不均衡分类题目。
在本教程中,您将发现针对不均衡分类的成本敏感学习的简朴介绍。
完成本教程后,您将了解:


  • 不均衡的分类题目通常对假阳性分类错误的评价与假阴性分类错误的评价不同。
  • 成本敏感学习是机器学习的一个子范畴,涉及在练习机器学习算法时明确定义和使用成本。
  • 成本敏感技能可分为三类,包括数据重采样、算法修改和集成方法。
教程概述

本教程分为四个部分:

  • 并非所有分类错误都是雷同的
  • 成本敏感型学习
  • 成本敏感的不均衡分类
  • 成本敏感方法
并非所有分类错误都是雷同的

分类是一个猜测建模题目,涉及猜测观察的类别标签。
可能存在许多类别标签,即所谓的多类分类题目,只管最简朴、大概最常见的一类分类题目有两个类,称为二元分类。
大多数为分类而设计的机器学习算法都假设每个观察到的类别都有雷同数目的示例。
在实践中情况并非总是如此,具有偏斜类别分布的数据集被称为不均衡分类题目。
   在成本敏感型学习中,每个类(或实例)都会被赋予一个误分类成本,而不是每个实例被正确或错误地分类。因此,题目不是试图优化正确率,而是最小化总误分类成本。
  — 第 50 页,《不均衡学习:基础、算法和应用》,2013 年。
除了假设类别分布均衡之外,大多数机器学习算法还假设分类器所做的猜测错误是雷同的,即所谓的错误分类。
对于二元分类题目,尤其是类别分布不均衡的题目,通常情况并非如此。
   大多数分类器假设错误分类的成本(假阴性和假阳性成本)是雷同的。在大多数现实应用中,这一假设并不正确。
  —针对不均衡数据的成本敏感学习方法,2010 年。
对于不均衡分类题目,来自多数类别的示例称为负类,并分配类标签 0。来自少数类别的示例称为正类,并分配类标签 1。
接纳这种负面与正面命名约定的缘故原由在于,来自多数类别的示例通常代表正常或无变乱的情况,而来自少数类别的示例代表例外或变乱的情况。


  • 多数类:负面变乱或无变乱分配类标签 0。
  • 少数类:正面或被分配类标签 1 的变乱。
现实世界中不均衡的二元分类题目通常对可能出现的每种分类错误都有不同的表明。例如,将负例分类为正例通常比将正例分类为负例要容易得多。
如果我们以为不均衡二元分类题目上的分类器的目标是正确检测正例,而正例代表我们最感爱好的异常或变乱,那么这是有原理的。
我们可以通过一些例子来澄清这一点。
银行贷款题目:考虑如许一个题目:银行想要确定是否向客户提供贷款。拒绝向优质客户提供贷款并不比向可能永世无法偿还贷款的劣质客户提供贷款更糟糕。
癌症诊断题目:考虑如许一个题目:医生想要确定患者是否患有癌症。诊断健康患者患有癌症并进行更多医学检查比让患有癌症的患者出院要好。
   …在对某种癌症进行医学诊断时,如果将癌症视为阳性类,将非癌症(健康)视为阴性,那么遗漏一种癌症(患者现实上是阳性但被归类为阴性;因此也称为“假阴性”)比假阳性错误要严重得多(因此代价高昂)。
  —成本敏感学习,机器学习百科全书,2010 年。
敲诈检测题目:考虑一家保险公司想要确定索赔是否为敲诈的题目。将公道的索赔识别为敲诈并跟进客户比接受敲诈性保险索赔更好。
通过这些示例,我们可以看出,误分类错误通常都是不可取的,但有一种误分类比另一种更糟糕。详细来说,将正例猜测为负例更有害、更昂贵,或者更糟糕,无论我们想以何种方式衡量目标域的配景。
   …将现实的正例错误分类为负例的代价往往比将现实的负例错误分类为正例的代价更大。
  —成本敏感学习,机器学习百科全书,2010 年。
将每种类型的错误分类错误视为雷同类型的机器学习算法无法满足该类型题目的需求。
因此,练习数据中少数群体的代表性不足以及正确识别少数群体样本的重要性日益增加,使得分类不均衡成为应用机器学习中最具挑战性的题目之一。
   类别不均衡是机器学习算法面对的挑战之一。
  —针对不均衡数据的成本敏感学习方法,2010 年。
成本敏感型学习

机器学习有一个子范畴,专注于学习和使用在进行猜测等时具有不均匀处罚或成本的数据模型。
该范畴通常被称为成本敏感机器学习,或更简朴地称为成本敏感学习。
   …机器学习算法需要对它所处置处罚的成本敏感,在更好的情况下,在模型拟合过程中考虑成本。这导致了成本敏感的机器学习,这是机器学习中一个相对较新的研究课题。
  — 第 xiii 页,成本敏感型机器学习,2011 年。
传统上,机器学习算法是在数据集上进行练习的,并力求最小化误差。在数据上拟合模型办理了一个优化题目,我们明确地寻求最小化误差。可以使用一系列函数来计算模型在练习数据上的误差,更通用的术语称为损失。我们力求最小化模型在练习数据上的损失,这与评论误差最小化是一样的。


  • 错误最小化:练习机器学习算法时的传统目标是最小化模型在练习数据集上的错误。
在成本敏感学习中,与错误猜测相关的处罚被称为“成本”。 我们也可以将处罚的倒数称为“收益”,只管这种表述很少使用。


  • 成本:与错误猜测相关的处罚。
成本敏感学习的目标是最小化练习数据集上模型的成本,其中假设不同类型的猜测误差具有不同的、已知的相关成本。


  • 成本最小化:成本敏感学习的目标是最小化练习数据集上模型的成本。
   成本敏感学习是一种将错误分类成本(以及可能的其他类型的成本)考虑在内的学习类型。这种类型的学习的目标是最小化总成本。
  —成本敏感学习,机器学习百科全书,2010 年。
不均衡分类和成本敏感学习之间存在紧密接洽。详细而言,不均衡学习题目可以通过成本敏感学习来办理。
然而,成本敏感学习是一个独立的研究子范畴,成本的定义可能比猜测误差或分类误差更广泛。这意味着,只管成本敏感学习中的一些方法可能有助于办理不均衡分类题目,但并非所有成本敏感学习技能都是不均衡学习技能,相反,并非所有用于办理不均衡学习的方法都实用于成本敏感学习。
为了详细说明这一点,我们可以考虑在数据集上练习模型时可能希望考虑或衡量成本的多种其他方式。例如,Peter Turney在其 2000 年的论文《归纳概念学习中的成本类型》中列出了机器学习中可能考虑的九种成本类型。
概括起来,它们是:


  • 错误分类错误(或更广泛的猜测错误)的成本。
  • 测试或评估的成本。
  • 西席或标签的费用。
  • 干预或改变观察体系的成本。
  • 因干预而产生的不想要的成果或效果的成本。
  • 计算成本或计算复杂性。
  • 案件或数据收集的成本。
  • 人机交互或构建题目以及使用软件来适应和使用模型的成本。
  • 不稳定或差异的成本被称为概念漂移。
只管对许多现实世界的题目来说,成本和成本敏感学习的概念至关重要,但直到近来才被人们广泛忽视。
   在概念学习的现实应用中,涉及多种不同类型的成本。大多数机器学习文献都忽略了所有类型的成本……
  —归纳概念学习中的成本类型,2000 年。
上面的列表强调了我们所感爱好的不均衡分类成本只是更广泛的成本敏感学习范畴可能考虑的一系列成本中的一种。
在下一节中,我们将仔细研究怎样使用错误分类成本敏感学习的头脑来帮助办理不均衡分类题目。
成本敏感的不均衡分类

针对不均衡分类的成本敏感学习首先侧重于为可能出现的错误分类错误类型分配不同的成本,然后使用专门的方法将这些成本考虑在内。
使用成本矩阵的概念可以最好地理解不同的错误分类成本。
让我们首先回首一下混淆矩阵。
混淆矩阵是分类任务中模型所做猜测的汇总。它是一个表格,汇总了针对每个类别所做猜测的数目,并按每个示例所属的现实类别进行区分。
最好使用具有负类和正类的二元分类题目来理解,通常分别分配 0 和 1 个类标签。表格的列表示示例所属的现实类,行表示猜测类(只管行和列的含义可以且经常互换而不会丢失含义)。表格中的单元格是满足行和列条件的示例数目的计数,每个单元格都有一个特定的通用名称。
下面列出了二元分类任务的混淆矩阵的一个示例,其中显示了表格中四个单元格中每个值的通用名称。
  1.                    | Actual Negative | Actual Positive
  2. Predicted Negative | True Negative   | False Negative
  3. Predicted Positive | False Positive  | True Positive
复制代码
我们可以看到,我们最感爱好的是错误,即所谓的假阳性和假阴性,而在许多不均衡的分类任务中,我们最感爱好的可能是假阴性。
现在,我们可以考虑具有雷偕行和列的同一张表,并为每个单元格分配一个成本。这称为成本矩阵。


  • 成本矩阵:为混淆矩阵中每个单元分配成本的矩阵。
下面的示例是一个成本矩阵,其中我们使用符号*C()*来表示成本,第一个值表示猜测类,第二个值表示现实类。混淆矩阵中每个单元格的名称也以首字母缩略词的情势列出,例如 False Positive 是 FP。
  1.                    | Actual Negative | Actual Positive
  2. Predicted Negative | C(0,0), TN      | C(0,1), FN
  3. Predicted Positive | C(1,0), FP      | C(1,1), TP
复制代码
我们可以看到,假阳性(False Positive)的成本为 C(1,0),假阴性(False Negative)的成本为 C(0,1)。
成本矩阵的公式和符号源自Charles Elkan于 2001 年发表的具有开创性的论文“成本敏感学习的基础”。
从该矩阵可以直观地看出,错误分类的成本总是高于正确分类,否则,可以通过猜测一个类来最小化成本。
   从概念上讲,错误标记一个示例的成本应该总是大于正确标记该示例的成本。
  — 《成本敏感学习基础》,2001 年。
例如,我们可能为每个类别的正确猜测分配零成本,为假阳性分配 5 成本,为假阴性分配 88 成本。
  1.                    | Actual Negative | Actual Positive
  2. Predicted Negative | 0               | 88
  3. Predicted Positive | 5               | 0
复制代码
我们可以使用该框架将分类器的总成本定义为假阴性和假阳性的成本加权总和。


  • 总成本 = C(0,1) * 假阴性 + C(1,0) * 假阳性
至少从概念上讲,这是我们在成本敏感学习中寻求最小化的代价。
   CSL 的目标是建立一个错误分类成本(总成本)最小的模型
  —针对不均衡数据的成本敏感学习方法,2010 年。
必须仔细定义成本矩阵的值。与传统机器学习模型的误差函数选择一样,成本或成本函数的选择将决定适合练习数据的模型的质量和效用。
   成本敏感学习的有效性在很大程度上取决于所提供的成本矩阵。所提供的参数对于练习和猜测步骤都至关重要。
  — 第 66 页,从不均衡数据会合学习,2018 年。
在某些题目范畴,定义成本矩阵可能很显着。在保险索赔示例中,误报的成本可能是公司跟踪客户的成本,而误报的成本可能是保险索赔的成本。
在其他范畴,定义成本矩阵可能具有挑战性。例如,在癌症诊断测试示例中,假阳性的成本可能是进行后续测试的钱币成本,而让病人回家后病情加重的等价美元成本是多少?在这种情况下,成本矩阵可能可以或许由范畴专家或经济学家定义,也可能不能。
此外,成本可能是一个复杂的多维函数,包括钱币成本、声誉成本等。
不均衡分类任务的一个好起点是根据逆类别分布分配成本。
   在许多情况下,我们无法接触到范畴专家,而且在分类器练习期间没有关于成本矩阵的先验信息。当我们想要应用成本敏感学习作为办理不均衡题目的方法时,这是一种常见的情况……
  — 第 67 页,从不均衡数据会合学习,2018 年。
例如,我们可能有一个数据集,其中少数类的示例与多数类的示例的比例为 1 比 100 (1:100)。此比率可以反转并用作错误分类错误的成本,其中假阴性的成本为 100,假阳性的成本为 1。
  1.                    | Actual Negative | Actual Positive
  2. Predicted Negative | 0               | 100
  3. Predicted Positive | 1               | 0
复制代码
这是一种用于设定总体成本的有效开导式方法,只管它假设在练习数据中观察到的类分布代表了更广泛的题目,而且适合于所选的成本敏感方法。
因此,最好使用此开导式方法作为起点,然后测试一系列类似的相关成本或比率以确认其公道性。
成本敏感方法

成本敏感的机器学习方法是明确使用成本矩阵的方法来学习。
鉴于我们关注的是分类不均衡题目,我们特殊感爱好的是那些专注于以某种方式使用不同的错误分类成本的成本敏感技能。
   成本敏感学习方法通过使用形貌对任何特定命据示例进行错误分类的成本的不同成本矩阵来办理学习不均衡的题目。
  — 第 3-4 页,《不均衡学习:基础、算法和应用》,2013 年。
与不均衡学习最相关的成本敏感方法可能有三类,它们是:

  • 成本敏感型重采样
  • 成本敏感算法
  • 成本敏感集成
让我们逐一进行仔细的了解。
成本敏感型重采样

在不均衡分类中,数据重采样是指转换练习数据集以更好地均衡类别分布的技能。
这可能涉及选择性地从多数类中删除示例,称为欠采样。更常见的是,它指的是在少数类中复制或合成新示例,称为过采样,或欠采样和过采样的组合。
数据重采样是一种可直接用于成本敏感学习的技能。重采样的重点不是均衡倾斜的类别分布,而是改变练习数据集的组成以满足成本矩阵的盼望。
这可能涉及直接对数据分布进行重采样或使用一种方法对数据会合的示例进行加权。此类方法可称为练习数据集的成本比例加权或成本比例重采样。
   我们提出并评估了一系列基于练习示例成本比例加权的方法 […],可以通过将权重提供给分类算法(通常在加强中完成)或(以黑盒方式)通过仔细的子采样来实现。
  —通过成本比例示例加权进行成本敏感学习,2003 年。
对于使用类分布定义成本矩阵的不均衡分类,数据重采样技能没有区别。
成本敏感算法

机器学习算法很少专门为成本敏感的学习而开发。
相反,可以修改大量现有的机器学习算法来使用成本矩阵。
这可能涉及对每个算法进行独特的修改,而且开发和测试可能非常耗时。许多此类针对流行算法的加强已被提出,例如决议树和支持向量机。
   在所有分类器中,成本敏感决议树的诱导可以说得到了最多的关注。
  — 第 69 页,从不均衡数据会合学习,2018 年。
scikit-learn Python 机器学习库通过以下分类器上的class_weight参数提供了这些成本敏感扩展的示例:


  • 安全虚拟控制器
  • 决议树分类器
修改现有算法的另一种更通用的方法是,在练习算法时将成本用作错误分类的处罚。鉴于大多数机器学习算法都是为最小化错误而练习的,因此在练习过程中将错误分类的成本添加到错误中或用于衡量错误。
该方法可用于迭代练习算法,例如逻辑回归和人工神经网络。
scikit-learn 库通过以下分类器上的class_weight参数提供了这些成本敏感扩展的示例:


  • 逻辑回归
  • 岭分类器
Keras Python 深度学习库还在练习模型时通过fit() 函数上的class_weight参数提供对神经网络这种成本敏感加强的访问。
同样,当使用逆类分布作为成本矩阵时,成本敏感的算法加强与不均衡的分类算法加强之间的边界变得模糊。
在成本敏感的机器学习范畴,这些算法带有“成本敏感”前缀,例如成本敏感逻辑回归,而在不均衡学习中,此类算法带有“类加权”前缀,例如类加权逻辑回归或简称为加权逻辑回归。
成本敏感集成

第二组不同的方法是旨在过滤或组合传统机器学习模型的猜测以考虑错误分类成本的技能。
这些方法被称为“包装器方法”,因为它们包装了标准的机器学习分类器。它们也被称为“元学习器”或“集成”,因为它们学习怎样使用或组合来自其他模型的猜测。
   成本敏感元学习将现有的成本不敏感分类器转换为成本敏感分类器,而无需对其进行修改。因此,它可以被视为成本不敏感学习算法的预处置处罚练习数据或后处置处罚输出的中心件组件。
  —成本敏感学习,机器学习百科全书,2010 年。
大概最简朴的方法是使用机器学习模型来猜测类别成员的概率,然后使用线搜索对将示例分配给每个明确的类别标签的阈值进行搜索,以最大限度地降低错误分类的成本。
这通常被称为“阈值”或阈值优化,通常用于二元分类任务,只管可以轻松修改它以最小化成本而不是特定类型的分类错误度量。
MetaCost 是一种数据预处置处罚技能,它重新标记练习数据会合的示例以最小化成本。
   …我们提出了一种原则性方法,通过围绕成本最小化程序使恣意分类器具有成本敏感性。
  — MetaCost:一种使分类器成本敏感的通用方法,1999 年。
在 MetaCost 中,首先在练习数据集上拟合一个分类器袋装集合,以识别需要重新标记的示例,然后创建带有重新标记示例的数据集的转换版本,然后抛弃该集合并使用转换后的数据集来练习分类器模型。
另一个重要范畴是对考虑成本矩阵的决议树集成进行修改,例如 bagging 和 boosting 算法,最显著的是 AdaBoost 的成本敏感版本,例如 AdaCost。
   AdaCost 是 AdaBoost 的一个变体,是一种对错误分类成本敏感的提升方法。它使用错误分类的成本来更新连续提升轮次的练习分布。
  — AdaCost:错误分类成本敏感提升,1999 年。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表