机器学习中分类与回归的差异

在分类(Classification)问题与回归(Regression)问题之间,有着一个重要的区别。

从本质来说,分类是对标签(Label)作出的预测,回归则是对于量(Quantity)的预测。

我时常看到有如下的问题:

我要如何计算我的回归问题的准确率?

提出诸如此类的问题,是因没有真正理解分类和回归之间的区别,以及所谓的准确度(Accuracy)是对什么进行测量。

在本教程中,您将了解到分类和回归之间的差异。

学习完本教程后,您将知道:

  • 预测建模,是关于学习从输入到输出的映射函数的问题,它被称为函数逼近(Function approximation)。
  • 分类问题,就是要为样本预测一组离散类标签的输出。
  • 回归问题,则是为样本预测一组连续数量的输出。

我们开始本次学习之旅吧!

机器学习中分类与回归的差异

图片由 thomas wilson 拍摄,保留部分版权。

教程概述

本教程共分为 5 个部分,分别是:

  1. 函数逼近
  2. 分类
  3. 回归
  4. 分类与回归之间的比较
  5. 分类与回归之间的转换

函数逼近

预测建模问题,是基于历史数据来开发一个模型的问题,这个模型可以对新数据(我们没有相应的答案)进行预测。

要了解关于预测建模的更多信息,请参阅以下文章:

预测建模问题可以这样来描述:对从输入变量(X)到输出变量(y)映射函数(f)进行逼近。这被称为函数逼近问题。

建模算法的任务是:基于我们所能提供的时间与资源,找到最佳的映射函数。

要了解机器学习应用中的函数逼近的更多信息,请参阅以下文章:

通常情况下,我们可以将所有函数逼近任务划分为分类任务以及回归任务。

分类预测建模

分类预测建模的任务,是逼近一个映射函数(f),它能将输入变量(X)映射到离散的输出变量(y)。

输出变量通常被称为标签或类别(Categories)。映射函数则预测给定观测值的类或类别。

例如,我们可以将文本邮件归为两类,即 “垃圾邮件“ 和 “非垃圾邮件”。

  • 分类问题要求将样本分为两类(或更多类)中的一类。
  • 对于分类,它的输入可以是实值,也可以是离散变量。
  • 分为两个类的问题,通常被称为两类或二元分类问题。
  • 多于两个类别的问题通常被称为多类分类(Multi-class classification)问题。
  • 一个样本属于多个类别,这样的问题被称为多标签分类(Multi-label classification)问题。

分类模型通常预测得到一个连续值,该值作为给定样本属于输出的各个类别的概率。这一概率可以理解为样本属于各个类别的置信度(或者说可能性)。我们可以选择具有最高概率的类别标签,从而将预测概率转换为类别值。

举个例子,可能有某个文本邮件被指定是 “垃圾邮件” 的概率为 0.1,而是 “非垃圾邮件” 的概率为 0.9。此时通过选择 “非垃圾邮件” (因为它对应着最高的预测概率)标签,我们就可以将这些概率转换为一个类标签。

对分类预测模型进行能力评估的方法有很多,其中最常见的大概就是计算分类的准确率。

分类准确率是所有预测结果中,属于正确的分类实例的百分比。

比如说,如果一个分类预测模型作出了 5 个预测,其中 3 个是正确的,另外 2 个是错误的,那么基于这些预测的模型分类准确率将是:

accuracy = correct predictions / total predictions * 100
accuracy = 3 / 5 * 100
accuracy = 60%

能够对分类预测模型进行学习的算法被称为分类算法。

回归预测建模

回归预测建模的任务,是逼近一个映射函数(f),它能将输入变量(X)映射到连续的输出变量(y)。

连续的输出变量是一个实数值(例如整数,或浮点值)。这些值往往是数量,比如金额和尺寸。

举个例子,我们可能会预测一套房子可能以某个特定的美元价值进行出售,而这个值可能会在 $100,000 到 $200,000 的范围内。

  • 回归问题需要预测一个数量。
  • 对于回归,它的输入可以是实值,也可以是离散变量。
  • 我们通常将具有多个输入变量的问题称为多元回归(Multivariate regression)问题。
  • 具有时序输入变量的回归问题称为时间序列预测(Time series forecasting)问题。

由于回归预测模型预测了一个数量,模型的能力必须根据这些预测的误差进行评估报告。

我们有许多方法能够评估回归预测模型的能力,但最常见的方法可能就是计算均方根误差(Root mean squared error,根据首字母缩写为 RMSE)了。

比如说,如果一个回归预测模型作出了 2 个预测,其中预测值 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 的优点在于其误差值的单位与预测值的单位是相同的。

能够对回归预测模型进行学习的算法被称为回归算法。

有一些算法的名称中包含 “回归” 这个词,譬如说线性回归和逻辑回归,这可能会使人混淆。此处线性回归是一种回归算法,然而 Logistic 回归则是一种分类算法。

分类与回归之间的比较

分类预测建模问题不同于回归预测建模问题。

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

分类和回归算法之间有一些重叠的部分,比如说:

  • 分类算法可以预测连续值,这个连续值是以相应类标签的概率的形式表现出来的。
  • 回归算法可以预测离散值,这个离散值是以一个整形量的形式表现的。

通过进行一些小的修改,某些算法可以同时用于分类和回归(例如决策树算法和人工神经网络)。另外的一些算法则不能(或者说不能轻易地)同时用于两种问题类型(例如用于回归预测建模的线性回归,和用于分类预测建模的 Logistic 回归)。

重点是,我们评估分类和回归预测的方式各不相同,毫无重叠部分:

  • 分类预测可以使用准确率进行评估,而回归预测则不能。
  • 回归预测可以使用均方根误差进行评估,而分类预测则不能。

分类和回归之间的转换

在某些情况下,我们可以将回归问题转换为分类问题。比如说,要预测的数量可以转换成离散的桶(Buckets)。

例如,$0 到 $100 的连续范围内的金额可以转换为 2 个桶:

  • 类别 0:0 到 49 美元
  • 类别 1:50 美元到 100 美元

这通常称为离散化,得到的输出变量是具有一个有序关系(称为序数)的分类。

在某些情况下,分类问题可以转化为回归问题。比如说,一个标签可以转换为一个连续的范围。

一些算法已经通过预测每个类的概率来实现这一目的,预测得到的概率可以扩展到特定的范围:

quantity = min + probability * range

或者,可以对类别值进行排序,并映射到一个连续的范围中:

  • $0 至 $49 范围内的值属于类别 1
  • $0 至 $100 范围内的值属于类别 2

如果分类问题中的类标签不具有自然的序数关系,则将分类转换为回归也许会导致模型具有使人讶异或低下的性能,因为模型可能会从输入到连续的输出范围中学习到错误或着并不存在的映射。

扩展阅读

如果您想继续深入了解相应的内容,本节将提供更多有关该主题的资源。

总结

通过学习本教程,您了解到了分类和回归问题之间的差异所在。

具体说来,你学到了:

  • 预测建模问题,是关于学习从输入到输出的映射函数的问题,我们称其为函数逼近。
  • 分类问题,就是要为样本预测一组离散的类标签输出。
  • 回归问题,就是要为样本预测一组连续数量的输出。

本文的版权归 StoneDemo 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

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

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

3979
来自专栏目标检测和深度学习

综述:深度学习时代的目标检测算法

来源:https://zhuanlan.zhihu.com/p/33277354 目前目标检测领域的深度学习方法主要分为两类:two stage的目标检测算法;...

4265
来自专栏SIGAI学习与实践平台

深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读

从1989年LeCun提出第一个真正意义上的卷积神经网络到今天为止,它已经走过了29个年头。自2012年AlexNet网络出现之后,最近6年以来,卷积神经网络得...

1531
来自专栏专知

【前沿】R-FCN每秒30帧实时检测3000类物体,马里兰大学Larry Davis组最新目标检测工作

【导读】美国马里兰大学、复旦大学和Gobasco人工智能实验室联合提出R-FCN-3000实时3000类目标检测框架,对R-FCN框架中的物体检测和分类进行解耦...

5346
来自专栏机器学习算法与Python学习

机器学习(5) -- 模型评估与选择

Content   6. 学习模型的评估与选择     6.1 如何调试学习算法     6.2 评估假设函数(Evaluating a hypothesis)...

3085
来自专栏机器之心

解读 | 如何从信号分析角度理解卷积神经网络的复杂机制?

机器之心原创 作者:Qintong Wu 参与:Jane W 随着复杂和高效的神经网络架构的出现,卷积神经网络(CNN)的性能已经优于传统的数字图像处理方法,如...

3038
来自专栏目标检测和深度学习

深度 | 像玩乐高一样拆解Faster R-CNN:详解目标检测的实现过程

作者:Matt Simon 机器之心编译 本文详细解释了 Faster R-CNN 的网络架构和工作流,一步步带领读者理解目标检测的工作原理,作者本人也提供了...

3908
来自专栏大数据挖掘DT机器学习

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

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

1K8
来自专栏新智元

【斯坦福CS229】一文横扫机器学习要点:监督学习、无监督学习、深度学习

给定一组与输出{y(1),...,y(m)}相关联的数据点{x(1),...,x(m)},我们希望构建一个能够根据x值预测y值的分类器。

781
来自专栏AI科技评论

干货 | 深度学习时代的目标检测算法

AI 科技评论按:本文作者 Ronald,首发于作者的知乎专栏「炼丹师备忘录」,AI 科技评论获其授权转发。 目前目标检测领域的深度学习方法主要分为两类:two...

6297

扫码关注云+社区

领取腾讯云代金券