机器学习最常面临的两类任务即是分类与回归。这两者有什么区别呢?
最常见的一种解释为:
定量输出称为回归,或者说是连续变量预测;
定性输出称为分类,或者说是离散变量预测。
举个例子:
预测明天的气温是多少度,这是一个回归任务;
预测明天是阴、晴还是雨,就是一个分类任务。
但这种解释根本上是一种错误的解释,因为回归与分类的本质区别并不在于连续还是离散,只不过通常回归问题以连续的形式表现、而分类问题以离散的形式表现罢了。
“回归与分类的根本区别在于输出空间是否为一个度量空间。”
我们不难看到,回归问题与分类问题本质上都是要建立映射关系:
而两者的区别则在于:
对于回归问题,其输出空间B是一个度量空间,即所谓“定量”。也就是说,回归问题的输出空间定义了一个度量
去衡量输出值与真实值之间的“误差大小”。例如:预测一瓶700毫升的可乐的价格(真实价格为5元)为6元时,误差为1;预测其为7元时,误差为2。这两个预测结果是不一样的,是有度量定义来衡量这种“不一样”的。
对于分类问题,其输出空间B不是度量空间,即所谓“定性”。也就是说,在分类问题中,只有分类“正确”与“错误”之分,至于错误时是将Class 5分到Class 6,还是Class 7,并没有区别,都是在error counter上+1。
而非很多回答所提到的“连续即回归,离散即分类”。
事实上,在实际操作中,我们确实常常将回归问题和分类问题互相转化(分类问题回归化:逻辑回归;回归问题分类化:年龄预测问题——>年龄段分类问题),但这都是为了处理实际问题时的方便之举,背后损失的是数学上的严谨性。