机器学习常识 16: 代价敏感学习

摘要: 代价敏感学习是将代价作为输入与优化目标时的机器学习.

1. 常见的几类代价

代价是基础数据, 与应用有紧密联系.

  • 测试代价. 很多数据不是免费的, 如体检时, 测血常规花 20 20 20 元, 心电图花 15 15 15 元, B 超花 200 200 200 元. 这些代价被称为测试代价 (test cost).
  • 标记代价. 在主动学习场景下, 请专家给数据打标签需要付钱, 如每个标签花费 100 元. 这被称为标记代价 (label cost).
  • 误分类代价. 将患有流感的病人叫回家, 医院要赔偿 10 , 000 10,000 10,000 元, 即 c ( F N ) = 10 , 000 c(FN) = 10,000 c(FN)=10,000; 将没有流感的就诊者留着住院治疗, 医院要赔偿 500 500 500 元, 即 c ( F P ) = 500 c(FP) = 500 c(FP)=500. 相应地, 可以给出一个误分类代价矩阵.
  • 延迟代价. 不清楚就诊者是否患病, 让其留院观察, 就诊者的误工开销为 200 200 200 元.

2. 典型的代价敏感学习问题

代价是一类数据, 而且与其它数据处于不同维度, 本质上与机器学习常识 2: 数据的类型应该放在一起讨论. 可以把它当成一副狗皮膏药, 与不同的机器学习问题结合, 形成相应的代价敏感学习问题.

2.1 代价敏感分类问题

  • 输入: 数据, 标签, 误分类代价矩阵;
  • 输出: 分类器;
  • 优化目标: 平均误分类代价.

对于二分类问题, 当 c ( F N ) = c ( F P ) > 0 c(FN) = c(FP) > 0 c(FN)=c(FP)>0 时, 代价敏感二分类问题退化为最大化准确率的二分类问题 (即不考虑代价).

2.2 代价敏感冷启动封闭世界主动学习问题

  • 输入: 数据, 标记代价, 误分类代价矩阵;
  • 输出: 查询的标签, 分类器, 以及相应的预测值;
  • 优化目标: 总代价.

假设总共有 800 800 800 个样本, 如果全让专家 (主治医生) 来打标签, 就要花 800 × 100 = 80 , 000 800 \times 100 = 80,000 800×100=80,000 元. 正确的做法是让专家给某些重要样本打标签, 建立一个好的分类器, 冒着一定的误分类的风险, 对其它样本打标签.

2.3 测试代价敏感的特征选择问题

  • 输入: 数据, 标签, 各特征的测试代价;
  • 输出: 特征子集;
  • 优化目标: 最小化特征子集的测试代价之和;
  • 约束条件: 特征子集与特征全集有相同的信息.

单位需要到组织 200 名 45 - 55 周岁的职工到医院进行体检, 确定检测的项目 (体检测套餐) 就是一个测试代价敏感的特征选择问题.

4. 解决数据不平衡问题是伪代价敏感学习

首先要明确两点:

  • 代价作为基础数据, 都应该事先给出, 要么专家给出, 要么制度给出. 它们必须是输入, 而绝不会是输出 (被机器学习出来). 这是常识.
  • 代价敏感学习的优化目标必须由代价定义, 而不应该是准确率之类.

一种常见的、错误的代价敏感学习概念如下: 由于数据中正负样本不平衡 (如 1 : 99 1:99 1:99), 导致学习器偏向负样本. 为此, 将正例数量扩充至 99 99 99 倍, 这样比例就变成 1 : 1 1: 1 1:1, 可以愉快地进行学习了.
考虑两种情况:
a) 正例表示有病 (如前段时间的新冠), 负例表示没病, 正例数远远少于负例数. 增加正例的比例, 分类器就会把更多的测试样本判断为正. 这样看起来好像是有道理的: 将大量负例隔离, 只为防止正例被漏掉在外传播.
b) 正例数远远大于负例数. 这时候平衡正负例数量没有任何意义, 让所有人在家休息吃药不好吗?
即使是情况 a), 强行将比例变成 1 : 1 1:1 1:1 也是不对的. 如果将 c ( F N ) : c ( F P ) = 50 c(FN) : c(FP) = 50 c(FN):c(FP)=50, 即将正样本漏掉的代价很大, 就应该将训练样本比例也变成 50 : 1 50 : 1 50:1, 这样才有利于把影响巨大的正样本找出来.

5. 如何应对数据不平衡

数据不平衡在现实很常见. 在极限多标签学习中, 正标签所占比例可以小到 0.1 % 0.1\% 0.1% 以下, 这时可以采用如下几种方式:

反正不可以在没有代价数据的时候谈论代价敏感学习, 更不可以从数据中“学习”出各种代价设置. 再强调一遍: 作为“设置”, 它只可以是输入, 不可以是输出!

我以前还写过 F-measure 与代价敏感评价指标, 以及 误分类代价与类不均衡数据 可以顺便看看.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值