05 回归问题和分类问题

发布于:2025-09-14 ⋅ 阅读:(26) ⋅ 点赞:(0)

我们用通俗易懂的话 + 数学公式 + 生活例子,彻底讲清楚回归和分类的区别。


🎯 核心一句话区别:

  • 回归问题:预测一个具体的数字(连续值),比如“明天气温是多少度?”
  • 分类问题:预测一个类别标签(离散的选项),比如“这封邮件是不是垃圾邮件?”

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=1n(yiy^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+efθ(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=iyilog(y^i)
意思是:真实类别对应的预测概率越大越好。

📧 举例:判断是否为垃圾邮件

邮件内容关键词 真实标签 模型预测概率(是垃圾邮件) 判定结果
“免费领取大奖!” 是(1) 0.93
“项目进度汇报” 否(0) 0.12

👉 模型不是直接输出“是”或“否”,而是先算出一个概率,再根据阈值做决定。


🔁 总结对比表

项目 回归问题 分类问题
输出类型 连续数值(如 3.14, 100.5) 离散标签(如 是/否,猫/狗)
目标 预测具体数值 判断属于哪个类别
典型任务 房价预测、气温预报、销量预估 垃圾邮件识别、图像分类、疾病诊断
损失函数 均方误差(MSE) 交叉熵损失(Cross-Entropy)
输出层 通常无激活或线性激活 Sigmoid(二分类)、Softmax(多分类)

💡 形象比喻:

  • 回归:像用尺子量身高——结果是一个精确的数字(175.3 cm)。
  • 分类:像投票选班长——只能从几个人里选一个。