简单来说,分类问题 和回归问题 是机器学习中最核心的两类监督学习任务。它们的根本区别在于预测的"答案"类型不同。
1. 分类问题:预测"类别"
- 输出 :是离散的、有限的类别标签。比如"是/否"、"猫/狗"、"好评/差评"、"A/B/C/D等级"。
- 目标:将输入的数据划归到某一个预定义的类别中。
- 类比 :类似于做选择题,答案是从给定的几个选项中选一个。
常见例子:
- 垃圾邮件识别:输入邮件内容,输出"垃圾邮件"或"非垃圾邮件"。(二分类)
- 手写数字识别:输入手写数字图片,输出 0-9 中的某个数字。(多分类)
- 疾病诊断:输入病人体征数据,输出"患病"或"健康"。(二分类)
- 图像识别:输入一张动物照片,输出"猫"、"狗"或"鸟"。(多分类)
常用算法:逻辑回归、K近邻、支持向量机、朴素贝叶斯、决策树、随机森林、神经网络等。
2. 回归问题:预测"数值"
- 输出 :是一个连续的具体数值。通常是一个实数,可以有小数,且在某个范围内。
- 目标:预测一个数量值,寻找输入与输出数值之间的函数关系。
- 类比 :类似于做计算题,答案是一个数字。
常见例子:
- 房价预测:输入房屋面积、地段、卧室数量,输出具体的价格(如 500 万元)。
- 股票价格预测:输入历史交易数据,输出未来的具体股价(如 150.25 元)。
- 气温预测:输入过去的气象数据,输出明天的具体温度(如 23.5 摄氏度)。
- 销售额预测:输入广告投入、季节因素,输出下季度的具体销售额。
常用算法:线性回归、多项式回归、岭回归、Lasso回归、支持向量回归、决策树回归、随机森林回归、神经网络等。
一个直观的对比表
| 维度 | 分类问题 | 回归问题 |
|---|---|---|
| 输出类型 | 离散的、有限的类别 | 连续的、无限的数值 |
| 输出例子 | "猫" / "狗" "合格" / "不合格" | 3.1415 元 25.6 摄氏度 |
| 典型问题 | "是哪一个?" | "是多少?" |
| 评估指标 | 准确率、精确率、召回率、F1分数等 | 平均绝对误差、均方根误差、R平方等 |
| 可视化 | 决策边界,将平面分成不同颜色区域 | 回归曲线(一条穿过数据点的线或曲线) |
一个特殊联系:如何转换?
在某些情况下,它们可以互相转化:
- 回归 → 分类 :将连续的预测值进行分箱。例如,预测具体的考试分数(回归),然后根据分数范围划分为"优、良、中、差"(分类)。
- 分类 → 回归 :预测概率。例如,不直接判断"垃圾邮件"(0或1),而是预测"它是垃圾邮件的概率为 87%",这变成了一个0到1之间的回归问题。
一句话总结
- 分类问题 问的是:"这是什么?" ------ 答案是非黑即白的选项。
- 回归问题 问的是:"这个有多少?" ------ 答案是一个具体的数字。