前言

在机器学习中,“分类”和“回归”这两个词经常听说,但很多时候我们却混为一谈。本文主要从应用场景、训练算法等几个方面来叙述两者的区别。

 本质区别

分类和回归的区别在于输出变量的类型。分类的输出是离散的,回归的输出是连续的。

定量输出称为回归,或者说是连续变量预测; 定性输出称为分类,或者说是离散变量预测。

若我们欲预测的是离散值,例如"好瓜""坏瓜",此类学习任务称为 "分类"。
若欲预测的是连续值,例如西瓜的成熟度0.95 ,0.37,此类学习任务称为"回归"。

                                                                                                              《机器学习》周志华著

分类就是想办法让一堆数据站队,找出最符合其自身特征的群体。

例:有群体y=x和y=-x,数据集(1,1) (-2,2) (3,-3) (-4,-4)... (n,n),(1,1),(-4,-4)就符合群体y=x,(-2,2) (3,-3)就符合群体y=-x。

回归就是数学意义上的找出一个函数,让某些数据尽量符合这个函数的特征。例如线性回归(Linear Regression,LR)。

例:(1,1) (2,2) (3,3) ... (n,n)这些数据回归后的结果就是函数 y = x。

Python分类变量回归 分类变量 回归_数据结构与算法

 举例说明:

  • 预测明天的气温是多少度,这是一个回归任务;
  • 预测明天是阴、晴还是雨,就是一个分类任务。

应用场景

分类问题

分类问题是用于将事物打上一个标签,通常结果为离散值。例如判断一幅图片上的动物是一只猫还是一只狗,分类通常是建立在回归之上,分类的最后一层通常要使用softmax函数进行判断其所属类别。

分类并没有逼近的概念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。最常见的分类方法是逻辑回归,或者叫逻辑分类。

回归问题

回归问题通常是用来预测一个值,如预测房价、未来的天气情况等等,例如一个产品的实际价格为500元,通过回归分析预测值为499元,我们认为这是一个比较好的回归分析。

一个比较常见的回归算法是线性回归算法(LR)。另外,回归分析用在神经网络上,其最上层是不需要加上softmax函数的,而是直接对前一层累加即可。回归是对真实值的一种逼近预测。

总结

解决的问题类型

分类问题是从不同类型的数据中学习到这些数据间的边界,比如通过鱼的体长、重量、鱼鳞色泽等维度来分类鲶鱼和鲤鱼,这是一个定性问题

回归问题则是从同一类型的数据中学习到这种数据中不同维度间的规律,去拟合真实规律,比如通过数据学习到面积、房间数、房价几个维度的关系,用于根据面积和房间数预测房价,这是一个定量问题