一、线性回归:从房价预测看懂 “连续值预测” 逻辑
线性回归是深度学习的 “敲门砖”,它的核心思想是用线性关系拟合数据规律,解决连续值预测问题—— 比如根据房屋特征估算房价、根据温度湿度预测降雨量等。
1. 从生活案例到数学模型
拿房价预测场景来说:看中一套房时,我们会收集它的特征(比如 7 间卧室、2 个车库、花岗岩 countertops 等),再参考往年同类房屋的成交价,最终估算出合理出价。这个过程本质就是线性回归的核心逻辑。
线性回归的数学模型可表示为y = wᵀx + b。其中,x 是输入特征向量(如卧室数、车库面积等房屋属性);w 是权重向量,代表每个特征对预测结果的 “影响力”(比如卧室数权重高,说明卧室多对房价提升更明显);b 是偏置项,相当于线性关系的 “截距”,捕捉特征之外的基础影响;y 则是预测的连续值(比如房价)。若处理批量数据,还可写成矩阵形式y = Xw + b,其中 X 是包含多个样本的特征矩阵,更适合计算机高效计算。
2. 线性回归的神经网络视角
线性回归其实是最简单的单层神经网络:输入层对应特征 x(如卧室数、车库大小),每个特征是一个输入神经元;输出层对应预测值 y(如房价),只有 1 个输出神经元;输入层与输出层是 “全连接”—— 每个输入特征都通过权重 w 与输出神经元相连,再叠加偏置 b 得到结果。
3. 如何训练:从损失到优化
模型的 “学习过程”,本质是找到最优的 w 和 b,让预测值 y 尽可能接近真实值。这需要损失函数与优化算法两个核心工具。
(1)损失函数:量化 “预测误差”
线性回归常用平方损失(L2 损失),计算预测值与真实值的平方差,损失越小,模型预测越准。
(2)优化算法:寻找 “最优参数”
最经典的方法是梯度下降法,核心逻辑是 “跟着梯度反方向走,最快找到最小值”。梯度是由所有参数(w 和 b)的偏导数组成的向量,指向 “损失函数增加最快的方向”;每次沿梯度的反方向更新参数,逐步降低损失。
实际中更常用小批量随机梯度下降(Mini-batch SGD) :随机梯度下降(SGD)每次用 1 个样本更新参数,速度快但波动大;小批量 SGD 每次用一小批样本(比如 32 个、64 个)计算梯度,兼顾效率与稳定性。
(3)关键超参数:学习率与批量大小
学习率(η)是参数更新的 “步长”,太大容易越过最小值,太小则训练太慢;批量大小需适中,太小浪费计算资源,太大则梯度估计不准,需根据硬件调整。
二、Softmax 回归:从 “连续预测” 到 “多类分类”
当任务从 “预测房价” 变成 “识别手写数字是 0-9 中的哪一个” 时,线性回归就不够用了 —— 这需要解决离散分类问题,而 Softmax 回归正是为此设计的多类分类模型。
1. 回归与分类:核心差异
回归的输出是连续数值,典型场景如房价预测、温度预测;分类的输出是离散类别,典型场景如手写数字识别、ImageNet 自然对象分类(1000 类)、Kaggle 蛋白质图像分类(28 类)、恶语评论分类(7 类)等。
2. Softmax 回归的模型设计
Softmax 回归在 linear 层基础上增加了 “概率转换”,核心是解决 “多类置信度” 问题。
(1)模型结构:全连接 + 多输出
Softmax 回归也是单层全连接神经网络,但输出层神经元数量等于类别数。输入层对应样本特征(比如图像的像素值),输出层每个神经元输出对应类别的 “原始置信度”。比如 MNIST 手写数字识别(10 类),输出层就有 10 个神经元,分别对应数字 0-9 的置信度。
(2)Softmax 运算:把置信度变成概率
原始置信度可能为负、总和不为 1,无法直接作为概率。Softmax 运算通过两步解决:用指数函数 exp (oᵢ) 把置信度转为 “非负值”,再除以所有类别的 exp 之和,得到 “和为 1 的概率分布”。例如,原始置信度 [1, -1, 2] 经 Softmax 运算后得到 [0.26, 0.04, 0.7],即预测为第 3 类的概率最高(70%)。
3. 损失函数:交叉熵更适合分类
线性回归的平方损失不适合分类任务 —— 当模型对错误类别置信度很高时,平方损失的梯度会很 小,导致学习缓慢。此时需用交叉熵损失,专门衡量两个概率分布的差异。它以真实标签的概率分布(如 “真实是第 2 类” 则为 [0,1,0] 的独热编码)和模型预测的概率分布为输入,模型预测越偏离真实标签,损失越大,梯度也越大,能快速 “惩罚” 错误预测。
三、总结:两个基础模型的核心脉络
线性回归与 Softmax 回归共享深度学习的核心逻辑 ——“特征输入→线性变换→损失量化→梯度优化”,但二者针对不同任务存在关键差异。
线性回归聚焦于回归任务,输出连续值,输出层只有 1 个神经元,核心运算为线性变换(wᵀx+b),常用平方损失函数;Softmax 回归针对多类分类任务,输出离散类别对应的概率分布,输出层神经元数量等于类别数,核心运算为 “线性变换 + Softmax”,常用交叉熵损失函数。二者在优化算法上均以小批量 SGD 为主流选择。
这两个模型是深度学习的 “地基”:后续的多层神经网络,本质是在它们的基础上叠加更多线性层与激活函数;而复杂的图像、NLP 任务,也都是从 “线性拟合” 或 “概率分类” 的逻辑延伸而来。吃透这两个模型,才算真正迈入深度学习的大门~