美文网首页
[搬运]机器学习中的分类任务

[搬运]机器学习中的分类任务

作者: 数科每日 | 来源:发表于2020-12-16 00:06 被阅读0次

参考原文

在 machinelearningmastery 看到一篇介绍分类任务(Classification)的文章, 作者把分类任务涉及的概念做了一个综述,我感觉这篇文章写得非常详细, 对于理解ML 中分类问题非常有帮助, 这篇文章是对原文的一个概括。


1. 什么是分类任务

在机器学习中, 分类任务为输入的记录贴上各种标签。 比如:

  • 判断一封电子邮件是否是垃圾邮件
  • 判断手写文本中每个字符对应的字母(拉丁字母)
  • 电信运营商根据用户行为判断该用户是否会流失

分类算法通过样本来学习如何将输入记录分类。 对于学习数据来说, 每个 lable 对应的数据最好能够覆盖该lable 涉及的各种情况, 这样算法才能够尽可能的学习到每个lable的知识。

数值化标签

在训练之前, 往往要将 lable 变成一个数值才能进行后续的计算。 比如对于垃圾邮件判断问题, “非垃圾邮件” 记为 0, “垃圾邮件” 记为1。

模型性能指标

对于一个模型来说, 使用者最关心的就是其性能如何。对于机器学习模型来说, 其性能往往和使用场景挂钩, 不同的场景对模型的要求并不相同。 但是对于分类任务来说, 这里给出了2个常用的性能指标。

  • Accuracy :对于结果是 lable 的分类模型来说, Accuracy 是一个比较常用的测量工具,但是要记住它并不是放四海而皆准的衡量指标。 使用Accuracy 的场景往往是假阳性和假阴性对业务的影响差不多的时候。 如果假阳性或者假阴性特别重要的话, 那么就要考虑precision或者 recall 了。

  • ROC Curve :有一类分类任务, 给出的结果并不是lable ,而是该条记录属于各个lable 的概率。 这种情况下一般使用 ROC Curve 作为模型的衡量指标。

2. 分类任务类型

  1. Binary Classification:结果只有2个类别,比如是否是垃圾邮件。
  2. Multi-Class Classification:结果不止2个分类,比如判断手写数字是 0-9中的哪个字符。但是结果只能是多种类型中的一种
  3. Multi-Label Classification: 不同于前两类,这种任务重每个记录可以对应不止一个标签。
  4. Imbalanced Classification:对于1,2 类型来说,如果其中某种lable 对应的记录特别多而其他lable 对应的记录特别少,这时候就是 Imbalanced Classification。异常检测是这类任务的代表。

2.1 Binary Classification

常见问题:

  • 分辨垃圾邮件
  • 分辨可能流失客户
  • 转化辨别(判断一个访问者是否会下单)

Binary Classification 对应的结果只有2中, 0或者1, 使得这类任务天然的对应到 Bernoulli probability distribution。

常见的可以解决此类任务算法:

  • Logistic Regression
  • k-Nearest Neighbors
  • Decision Trees
  • Support Vector Machine
  • Naive Bayes

其中 Logistic Regression, Support Vector Machine 是专门为 Binary Classification 设计的算法。

2.2 Multi-Class Classification

统计上对应的分布是Multinoulli probability distribution。

常见问题:

  • 人脸识别
  • 植物类型识别
  • 光学字符识别

常见的可以解决此类任务算法:

  • k-Nearest Neighbors.
  • Decision Trees.
  • Naive Bayes.
  • Random Forest.
  • Gradient Boosting.

如果想使用 binary classification 算法来解决 Multi-Class Classification 问题, 有2中策略

  • One-vs-Rest:
  • One-vs-One:

对于这两种策略, 网上有很多讨论,这里就不再详细讨论了。

2.3 Multi-Label Classification

常见问题:

  • 图片标注: 为图片添加lable
  • 新闻分类: 为新闻添加标签

常见的可以解决此类任务算法:

  • Multi-label Decision Trees
  • Multi-label Random Forests
  • Multi-label Gradient Boosting

2.4 Imbalanced Classification

Imbalanced Classification 往往和binary classification 类似, 比如判断一个病人是否患有某种疾病。 结果通常也是 “是” 或者 “否”,但是不同点在于不同标签对应数据量的比例。 如果某种疾病发病率很高,患病人数和健康人数大致相同, 那么这类问题就是 binary classification 比如近视。 如果疾病发病率很低, 比如某种癌症, 那么这类问题就是Imbalanced Classification

常见问题:

  • 恶意行为检测
  • 异常值检测
  • 医疗诊断

这类问题使用的算法往往和 binary classification 相同, 但是由于数据比例极端不平衡, 所以往往要事先对数据平衡性进行预处理。常见的方式有两种, 第一是将占比大的数据删除,第二是将占比很小的数据扩增。 方法有

  • Random Undersampling
  • SMOTE Oversampling

也有些算法对于这种极端不均衡的数据做了处理,比如

  • Cost-sensitive Logistic Regression
  • Cost-sensitive Decision Trees
  • Cost-sensitive Support Vector Machines

最后, 对于这类问题, 使用的模型衡量指标也会有所不同, 常用的有

  • Precision.
  • Recall.
  • F-Measure.

相关文章

网友评论

      本文标题:[搬运]机器学习中的分类任务

      本文链接:https://www.haomeiwen.com/subject/zdyggktx.html