我们用通俗易懂的话 + 数学公式 + 生活例子,彻底讲清楚回归和分类的区别。
🎯 核心一句话区别:
- 回归问题:预测一个具体的数字(连续值),比如“明天气温是多少度?”
- 分类问题:预测一个类别标签(离散的选项),比如“这封邮件是不是垃圾邮件?”
1 回归问题(Regression)
✅ 大白话:
你要猜的是一个具体的数值,这个数可以是小数、整数,范围很广。比如房价、体重、温度、销售额等。
📐 数学公式:
模型的目标是学习一个函数 fθf_\thetafθ,使得:
y^i=fθ(xi) \hat{y}_i = f_\theta(x_i) y^i=fθ(xi)
其中:
- xix_ixi 是输入(比如房子面积、地段)
- y^i\hat{y}_iy^i 是输出,是一个连续的实数(比如预测房价 350.8 万元)
损失函数常用:均方误差(MSE)
MSE=1n∑i=1n(yi−y^i)2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1∑n(yi−y^i)2
意思是:预测值和真实值之间的平方差越小越好。
🏠 举例:预测房价
房子面积(㎡) | 地段评分 | 真实房价(万元) | 模型预测房价(万元) |
---|---|---|---|
80 | 7 | 320 | 318.5 |
120 | 9 | 540 | 542.1 |
👉 模型的任务就是不断调整自己,让预测的数字(如 318.5)尽量接近真实数字(320)。
2 分类问题(Classification)
✅ 大白话:
你要猜的是“这是什么类型”,答案是几个固定的选项之一。比如“是或不是”、“猫 or 狗”、“高中低风险”。
📐 数学公式:
模型输出的通常是一个概率分布,表示属于每个类别的可能性。
比如二分类问题(是/否):
P(yi=1∣xi)=σ(fθ(xi))=11+e−fθ(xi) P(y_i=1|x_i) = \sigma(f_\theta(x_i)) = \frac{1}{1 + e^{-f_\theta(x_i)}} P(yi=1∣xi)=σ(fθ(xi))=1+e−fθ(xi)1
其中:
- fθ(xi)f_\theta(x_i)fθ(xi) 是模型算出的一个分数
- σ\sigmaσ 是 Sigmoid 函数,把分数变成 0~1 之间的概率
- 输出 P(yi=1∣xi)P(y_i=1|x_i)P(yi=1∣xi) 表示“属于类别1”的概率
最终判断:如果概率 > 0.5,就判为“是”;否则判为“否”。
多分类常用 Softmax 函数。
损失函数常用:交叉熵损失(Cross-Entropy)
Loss=−∑iyilog(y^i) \text{Loss} = - \sum_{i} y_i \log(\hat{y}_i) Loss=−i∑yilog(y^i)
意思是:真实类别对应的预测概率越大越好。
📧 举例:判断是否为垃圾邮件
邮件内容关键词 | 真实标签 | 模型预测概率(是垃圾邮件) | 判定结果 |
---|---|---|---|
“免费领取大奖!” | 是(1) | 0.93 | 是 |
“项目进度汇报” | 否(0) | 0.12 | 否 |
👉 模型不是直接输出“是”或“否”,而是先算出一个概率,再根据阈值做决定。
🔁 总结对比表
项目 | 回归问题 | 分类问题 |
---|---|---|
输出类型 | 连续数值(如 3.14, 100.5) | 离散标签(如 是/否,猫/狗) |
目标 | 预测具体数值 | 判断属于哪个类别 |
典型任务 | 房价预测、气温预报、销量预估 | 垃圾邮件识别、图像分类、疾病诊断 |
损失函数 | 均方误差(MSE) | 交叉熵损失(Cross-Entropy) |
输出层 | 通常无激活或线性激活 | Sigmoid(二分类)、Softmax(多分类) |
💡 形象比喻:
- 回归:像用尺子量身高——结果是一个精确的数字(175.3 cm)。
- 分类:像投票选班长——只能从几个人里选一个。