1.前言
在学习完机器学习基础之后,对分类和回归之前的联系和区别还有一点困惑,通过知识重新回顾学习,对二者的关系有了进一步了解。
2.分类和回归是做什么的?
- 分类(classification): 将实例数据划分到合适的类别中。例如 判断网站是否被黑客入侵(二分类 ),手写数字的自动识别(多分类),多目标分类(多分类)。
- 回归(regression): 主要用于预测数值型数据。例如: 股票价格波动的预测,房屋价格的预测等。
3.分类和回归的联系
不管是分类,还是回归,其本质是一样的,都是对输入做出预测 ,并且都是监督学习。说白了,就是根据特征,分析输入的内容,判断它的类别,或者预测其值。
4.分类和回归的区别
4.1 输出不同
1.分类问题输出的是物体所属的类别,回归问题输出的是物体的值。
**举个栗子:**例如,最近南昌的天气比较怪(阴晴不定,像极了女朋友的脾气),为了能够对明天穿衣服的量以及是否携带雨具做判断,我们就要根据已有天气情况做预测。
- 例如天气可以分为:晴、阴、雨 三类,我们只知道今天(2022年12月6日)及之前的天气,我们会预测明天及以后几天的天气情况,如明天阴,下周一晴,这就是分类;
- 每一天的天气温度,我们知道今天及以前几天的温度,我们就要通过之前的温度来预测现在往后的温度,每一个时刻,我们都能预测出一个温度值,得到这个值用的方法就是回归。
2.分类问题输出的值是离散的,回归问题输出的值是连续的
注:这个离散和连续不是纯数学意义上的离散和连续。
可以这样理解,离散 就是规定好有++有限个类别 ,这些类别是离散的++ 。连续 就是++理论上 可以取某一范围内的任意值++,比如现在28°,当然这是我们测出来的,但是实际温度可能是无限趋于28。也就是说,回归并没有要求你的值必须是那个类别,你只要能回归出一个值,在可控范围内即可。
3.分类问题输出的值是定性的,回归问题输出的值是定量的
- 所谓定性是指确定某种东西的确切的组成有什么或者某种物质是什么,这种测定一般不用特别的测定这种物质的各种确切的数值量。
- 所谓定量就是指确定一种成分(某种物质)的确切的数值量,这种测定一般不用特别的鉴定物质是什么。
**举个栗子:**这是一杯水,这句话是定性;这杯水有10毫升,这是定量。
4.2 目的不同
分类 的目的是为了寻找决策边界,即分类算法得到是一个决策面,用于对数据集中的数据进行分类。
回归 的目的是为了找到最优拟合,通过回归算法得到是一个最优拟合线,这个线条可以最好的接近数据集中的各个点。
4.3 本质不同
"回归与分类的根本区别在于输出空间是否为一个度量空间。"
回归问题与分类问题本质上都是要建立映射关系:
而两者的区别则在于:
- 对于回归问题,其输出空间B 是一个度量空间,即所谓"定量"。也就是说,回归问题的输出空间定义了一个度量 d=F(y_{true},y_{pred})去++衡量输出值与真实值之间的"误差大小++"。例如:预测一瓶700毫升的可乐的价格(真实价格为5元)为6元时,误差为1;预测其为7元时,误差为2。这两个预测结果是不一样的,是有度量定义来衡量这种"不一样"的。(于是有了均方误差这类误差函数)。
- 对于分类问题,其输出空间B 不是度量空间,即所谓"定性"。也就是说,在分类问题中,只有分类"正确"与"错误"之分,至于错误时是将Class 5分到Class 6,还是Class 7,并没有区别,都是++在error counter上+1++。
事实上,在实际操作中,我们确实常常将回归问题和分类问题互相转化(分类问题回归化:逻辑回归;回归问题分类化:年龄预测问题------>年龄段分类问题),但这都是为了处理实际问题时的方便之举,背后损失的是数学上的严谨性。
所谓的离散与连续的差别是分类与回归的不同的表象,而非本质,本质在于损失函数的形式不同。
4.4 结果和评估指标不同
结果:
- 分类的结果没有逼近,对就是对,错就是错,什么类别就是什么类别,最终结果只有一个。
- 回归是对真实值的一种逼近预测,值不确定,当预测值与真实值相近时,误差较小时,认为这是一个好的回归。
评估指标:
- 在监督分类中,我们我们通常会使用正确率作为为指标,也就是预测结果中分类正确数据占总数据的比例
- 在回归中,我们用决定系数R平方来评估模型的好坏。R平方表示有多少百分比的y波动被回归线描述**。**
5.应用场景
5.1 分类应用
分类问题应用非常广泛。通常是建立在回归之上,分类的最后一层通常要使用softmax函数进行判断其所属类别。分类并没有逼近的概念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。
例如判断一幅图片上的动物是一只猫还是一只狗,判断明天天气的阴晴,判断零件的合格与不合格等等。
回归方法处理分类问题本质上就是把没有度量的"类标签"赋予一个连续度量,常见的选择就是概率。例如给出三个样本,其原始标签是"类A、类B、类C",转化后的新标签就是【1,0,0】,【0,1,0】,【0,0,1】(对就是onehot编码)。最后通过回归建立一个误差函数最小的拟合模型,然后比如说该模型对测试样本输出为【0.0914,0.2587,0.8321】则代表了该样本属于每一类的概率,然后视分类判决依据将该样本分至相应类,(若按最大似然标准,则此处样本归为类C)。现在多分类所采用的softmax就是这么做的。
5.2 回归应用
回归问题通常是用来预测一个值。另外,回归分析用在神经网络上,其最上层是不需要加上softmax函数的,而是直接对前一层累加即可。一个比较常见的回归算法是线性回归算法(LR)
如预测房价、股票的成交额、未来的天气情况等等。