分类和回归的区别

分类和回归的区别

主要在于输出变量的类型

分类定性输出,或者也可以有条件地表述为离散变量预测。给定一个新的模式,根据训练集推断它所对应的类别(如:+1,-1),是一种定性输出,也叫离散变量预测。
回归定量输出,或者也可以有条件地表述为连续变量预测。给定一个新的模式,根据训练集推断它所对应的输出值(实数)是多少,是一种定量输出,也叫连续变量预测。
当然,分类和回归数学中的区别也在于最后度量的损失函数不同。
李航《统计学习方法》的解释为:
输出变量为有限个离散变量的预测问题成为分类问题;
输入变量与输出变量均为连续变量的预测问题是回归问题;
输入变量与输出变量均为变量序列的预测问题成为标注问题。
分类与回归对比图如下:
分类和回归的区别
分析的角度不同,分类和回归的区别点也不同,关键是清楚方法区别和应用场景。

几种经典方法分类和回归对比:

  1. 线性回归( Linear Regression)和逻辑回归(Logistic Regression )
    Linear Regression(回归问题): 输出一个标量 y=wx+b,这个值是连续值,所以可以用来处理回归问题。
    Logistic Regression(逻辑回归是分类问题):把上面的y= wx+b 通过 sigmoid函数映射到(0,1)上,并划分一个阈值,大于阈值的分为一类,小于等于分为另一类,可以用来处理二分类问题。
    更进一步:对于N分类问题,则是先得到N组w值不同的 wx+b,然后归一化,比如用 softmax函数,最后变成N个类上的概率,可以处理多分类问题。
  2. 支持向量回归(Support Vector Regression,SVR) 和 支持向量机(Support Vector Machine,SVM)
    SVR:输出y= wx+b,即某个样本点到分类面的距离,是连续值,所以是回归模型。
    SVM:把这个距离用 sign(·) 函数作用,距离为正(在超平面一侧)的样本点是一类,为负的是另一类,所以是分类模型。
  3. 神经网络
    神经网络做回归:最后一层有m个神经元,每个神经元输出一个标量,m个神经元的输出可以看做向量 v,最后全部连到一个神经元上,则这个神经元输出wv+b,是一个连续值,可以处理回归问题,类似于 Linear Regression 的思想。
    神经网络做N分类:上述m个神经元最后连接到 N 个神经元,就有 N 组w值不同的 wv+b,同理可以归一化(比如用 softmax )变成 N个类上的概率。
  4. 朴素贝叶斯(Naive Bayes)
    Naive Bayes做回归:对离散p(y|x)求期望得到连续值。由于y是连续的,故秩序得到连续的概率密度函数p(y|x),然后再对y求期望即可。
    Naive Bayes做分类:y是离散的类别,故有离散p(y|x),给定x,能输出每个类上的概率。

回归和分类问题应用场景不同

回归问题通常是用来预测一个值,如预测房价、未来的天气情况等等,例如一个产品的实际价格为500元,通过回归分析预测值为499元,我们认为这是一个比较好的回归分析。一个比较常见的回归算法是线性回归算法(LR)。另外,回归分析用在神经网络上,其最上层是不需要加上softmax函数的,而是直接对前一层累加即可。回归是对真实值的一种逼近预测。
分类问题是用于将事物打上一个标签,通常结果为离散值。例如判断一幅图片上的动物是一只猫还是一只狗,分类通常是建立在回归之上,分类的最后一层通常要使用softmax函数进行判断其所属类别。分类并没有逼近的概念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。最常见的分类方法是逻辑回归,或者叫逻辑分类。
对于不同数据集,如何选择合适的方法如下所示:
分类和回归的区别
实际应用中,也会将回归问题和分类问题相互转化,即连续数据离散化和离散数据连续化分析。理解问题关键从本质出发,实际应用可以从问题导向出发。