入门 | 区分识别机器学习中的分类与回归

选自MachineLearningMastery

作者:Jason Brownlee

机器之心编译

参与:Nurhachu Null、刘晓坤、李泽南

分类问题和回归问题之间有着很重要的区别。从根本上来说,分类是预测一个标签,回归是预测一个数量。我经常看到这样的问题:如何计算回归问题的准确率?

这种问题意味着提问的人并没有真正理解分类和回归之间的差别,以及准确率到底是在评估什么?

你会在这篇文章中发现分类和回归之间的区别。

读完本文,你会了解以下内容:

  • 预测建模是关于学习从输入到输出的函数映射的问题,这个映射称作函数逼近。
  • 分类是给一个样本预测离散型类别标签的问题。
  • 回归是给一个样本预测连续输出量的问题。

让我们开始吧。

教程概览

本教程分为以下 5 个部分:

1. 函数逼近

2. 分类

3. 回归

4. 分类与回归的对比

5. 分类问题和回归问题之间的转换

函数逼近

预测建模就是使用历史数据建立一个模型,去给没有答案的新数据做预测的问题。

关于预测建模,可以在下面这篇文章中了解更多信息。

  • Gentle Introduction to Predictive Modeling:https://machinelearningmastery.com/gentle-introduction-to-predictive-modeling/

预测建模可以被描述成一个近似求取从输入变量(X)到输出变量(y)的映射函数的数学问题。这被称为函数逼近问题。

建模算法的任务就是在给定的可用时间和资源的限制下,去寻找最佳映射函数。更多关于机器学习中应用逼近函数的内容,请参阅下面这篇文章:

  • 机器学习是如何运行的(how machine learning qork,https://machinelearningmastery.com/how-machine-learning-algorithms-work/)

一般而言,我们可以将函数逼近任务划分为分类任务和回归任务。

分类预测建模

分类预测建模是逼近一个从输入变量(X)到离散的输出变量(y)之间的映射函数(f)。

输出变量经常被称作标签或者类别。映射函数会对一个给定的观察样本预测一个类别标签。

例如,一个文本邮件可以被归为两类:「垃圾邮件」,和「非垃圾邮件」

  • 分类问题需要把样本分为两类或者多类。
  • 分类的输入可以是实数也可以有离散变量。
  • 只有两个类别的分类问题经常被称作两类问题或者二元分类问题。
  • 具有多于两类的问题经常被称作多分类问题
  • 样本属于多个类别的问题被称作多标签分类问题。

分类模型经常为输入样本预测得到与每一类别对应的像概率一样的连续值。这些概率可以被解释为样本属于每个类别的似然度或者置信度。预测到的概率可以通过选择概率最高的来别转换成类别标签。

例如,某封邮件可能以 0.1 的概率被分为「垃圾邮件」,以 0.9 的概率被分为「非垃圾邮件」。因为非垃圾邮件的标签的概率最大,所以我们可以将概率转换成「非垃圾邮件」的标签。

有很多用来衡量分类预测模型的性能的指标,但是分类准确率可能是最常用的一个。

分类准确率就是被正确分类的样本在所有预测结果中所占的百分比。

例如,如果一个分类预测模型做了 5 个预测,其中有 3 个是正确的,2 个这是错误的,那么这个模型的准确率就是 60%:

accuracy = correct predictions / total predictions * 100

accuracy = 3 / 5 * 100

accuracy = 60%

能够学习分类模型的算法就叫做分类算法。

回归预测模型

回归预测建模是逼近一个从输入变量(X)到连续的输出变量(y)的函数映射。

连续输出变量是一个实数,例如一个整数或者浮点数。这些变量通常是数量或者尺寸大小等等。

例如,一座房子可能被预测到以 xx 美元出售,也许会在 $100,000 t 到$200,000 的范围内。

  • 回归问题需要预测一个数量
  • 回归的输入变量可以是连续的也可以是离散的
  • 有多个输入变量的通常被称作多变量回归
  • 输入变量是按照时间顺序的回归称为时间序列预测问题

因为回归预测问题预测的是一个数量,所以模型的性能可以用预测结果中的错误来评价。

有很多评价回归预测模型的方式,但是最常用的一个可能是计算误差值的均方根,即 RMSE。

例如,如果回归预测模型做出了两个预测结果,一个是 1.5,对应的期望结果是 1.0;另一个是 3.3 对应的期望结果是 3.0. 那么,这两个回归预测的 RMSE 如下:

RMSE = sqrt(average(error^2))

RMSE = sqrt(((1.0 - 1.5)^2 + (3.0 - 3.3)^2) / 2)

RMSE = sqrt((0.25 + 0.09) / 2)

RMSE = sqrt(0.17)

RMSE = 0.412

使用 RMSE 的好处就是错误评分的单位与预测结果是一样的。

一个能够学习回归预测模型的算法称作回归算法。

有些算法的名字也有「regression,回归」一词,例如线性回归和 logistics 回归,这种情况有时候会让人迷惑因为线性回归确实是一个回归问题,但是 logistics 回归却是一个分类问题。

分类 vs 回归

分类预测建模问题与回归预测建模问题是不一样的。

  • 分类是预测一个离散标签的任务
  • 回归是预测一个连续数量的任务

分类和回归也有一些相同的地方:

  • 分类算法可能预测到一个连续的值,但是这些连续值对应的是一个类别的概率的形式。
  • 回归算法可以预测离散值,但是以整型量的形式预测离散值的。

有些算法既可以用来分类,也可以稍作修改就用来做回归问题,例如决策树和人工神经网络。但是一些算法就不行了——或者说是不太容易用于这两种类型的问题,例如线性回归是用来做回归预测建模的,logistics 回归是用来做分类预测建模的。

重要的是,我们评价分类模型和预测模型的方式是不一样的,例如:

  • 分类预测可以使用准确率来评价,而回归问题则不能。
  • 回归预测可以使用均方根误差来评价,但是分类问题则不能。

分类问题和回归问题之间的转换

在一些情况中是可以将回归问题转换成分类问题的。例如,被预测的数量是可以被转换成离散数值的范围的。

例如,在$0 到$100 之间的金额可以被分为两个区间:

  • class 0:$0 到$49
  • class 1: $50 到$100

这通常被称作离散化,结果中的输出变量是一个分类,分类的标签是有顺序的(称为叙序数)。

在一些情况中,分类是可以转换成回归问题的。例如,一个标签可以被转换成一个连续的范围。

一些算法早已通过为每一个类别预测一个概率,这个概率反过来又可以被扩展到一个特定的数值范围:

quantity = min + probability * range

与此对应,一个类别值也可以被序数化,并且映射到一个连续的范围中:

  • $0 到$49 是类别 1
  • $0 到 $49 是类别 2

如果分类问题中的类别标签没有自然顺序的关系,那么从分类问题到回归问题的转换也许会导致奇诡的结果或者很差的性能,因为模型可能学到一个并不存在于从输入到连续输出之间的映射函数。

进一步阅读

如果读者想更深入地了解,这一部分的内容包含了更多的关于这个话题的资源。

  • 预测建模简介(https://machinelearningmastery.com/gentle-introduction-to-predictive-modeling/)
  • 机器学习算法是如何运行的(https://machinelearningmastery.com/how-machine-learning-algorithms-work/)

总结

在这个教程中,你会发现分类问题和回归问题之间的区别。

尤其是,学到了以下内容:

  • 预测建模是关于学习从输入到输出的函数映射的问题,这个映射称作函数逼近。
  • 分类是给一个样本预测离散型类别标签的问题。
  • 回归是给一个样本预测连续输出量的问题。

原文链接:https://machinelearningmastery.com/classification-versus-regression-in-machine-learning/

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-12-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法工程师

【随笔记录】1*1卷积核的作用

之前只是知道1x1的卷积核用在Inception模块中具有降维的作用,并没有认真的思考它是怎么样实现降维的,以及它还有哪些作用。于是查阅了一些资料,并记录了它...

1695
来自专栏计算机视觉life

SLIC 超像素分割详解(三):应用

看过上面的介绍后,我们应该思考一下:分割好的超像素有什么用?怎么用?用到哪里? 首先,超像素可以用来做跟踪,可以参考卢湖川课题组发表在IEEE TIP上的《Ro...

38710
来自专栏企鹅号快讯

如何使用Keras集成多个卷积网络并实现共同预测

在统计学和机器学习领域,集成方法(ensemble method)使用多种学习算法以获得更好的预测性能(相比单独使用其中任何一种算法)。和统计力学中的统计集成(...

3839
来自专栏机器学习算法与理论

浅谈神经网络

一、神经网络介绍 神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体作出的交互反应。 神经网络中最基本的成分...

3609
来自专栏计算机视觉战队

每日一学——最优化笔记(上)

简介 在上一节中,我们介绍了图像分类任务中的两个关键部分: 基于参数的评分函数。该函数将原始图像像素映射为分类评分值(例如:一个线性函数)。 损失函数。该函数能...

3217
来自专栏机器之心

何恺明等研究者:真的需要减少ImageNet预训练吗?

ImageNet 图像预训练在各种视觉任务中一直都极为常见,我们会假定预训练模型的前面层级能抽取到足够的一般图像信息。因此保留预训练模型前面层级的权重就相当于迁...

702
来自专栏专知

【干货】对于回归问题,我们该怎样选择合适的机器学习算法

本文分别介绍:线性回归和多项式回归、神经网络、决策树和决策森林,并分别列出了其各自优缺点,相信有助于指导我们在特定工作中选择合适的算法。

4407
来自专栏深度学习

机器学习、深度学习 知识点总结及面试题

一、反向传播思想: 1、计算出输出与标签间的损失函数值,然后计算其相对于每个神经元的梯度,根据梯度方向更新权值。 (1)将训练集数据输入到ANN的输入层,经过隐...

3807
来自专栏新智元

【计算机视觉必读干货】图像分类、定位、检测,语义分割和实例分割方法梳理

作者:张皓 【新智元导读】本文作者来自南京大学计算机系机器学习与数据挖掘所(LAMDA),本文直观系统地梳理了深度学习在计算机视觉领域四大基本任务中的应用,包括...

5616
来自专栏AI科技大本营的专栏

从YOLOv1到YOLOv3,目标检测的进化之路

这是继 RCNN,fast-RCNN 和 faster-RCNN之后,Ross Girshick 针对 DL 目标检测速度问题提出的另外一种框架。YOLO V1...

4053

扫码关注云+社区