深度学习基础知识
- 回归
- 1. 线性回归
- 2. Softmax回归
- 3. 其他常见回归模型
- a. 逻辑回归
- b. 岭回归 和 Lasso回归
- c. 多项式回归
- d. 泊松回归
- e. Cox回归(比例风险模型)
- 总结与对比
回归
1. 线性回归
线性回归是回归问题中最基础、最直观的模型。
- 核心思想:寻找一个线性关系,用一条直线(或一个超平面)来拟合自变量(特征)和因变量(目标)之间的关系。
- 模型公式:对于有
d个特征的样本x = [x1, x2, ..., xd],预测值y_hat为:y_hat = w1*x1 + w2*x2 + ... + wd*xd + b
其中w是权重,b是偏置项。可以简写为向量形式:y_hat = w^T * x + b。 - 目标:学习到最佳的权重
w和偏置b,使得模型的预测值y_hat与真实值y之间的差异尽可能小。 - 损失函数:最常用的是均方误差。它计算所有样本的预测值与真实值之差的平方的平均值。
MSE = (1/n) * Σ(y_i - y_hat_i)^2 - 适用范围:预测一个连续的、任意的实数值。
- 例子:预测房价、股票价格、气温、销售额等。
总结:线性回归输出一个连续的数值。
2. Softmax回归
Softmax回归虽然名字叫“回归”,但它实际上是解决多分类问题最常用的模型之一。可以看作是线性回归在分类领域的延伸。
- 核心思想:将线性模型的输出,通过Softmax函数,转化为属于每个类别的概率分布。
- 模型公式:
- 线性计算:对于有
d个特征的样本x,为每个类别k(从1到K) 计算一个分数:z_k = w_k^T * x + b_k
这里,每个类别都有自己独立的权重向量w_k和偏置b_k。 - Softmax变换:将K个类别的分数
[z1, z2, ..., zK]通过Softmax函数,转换为概率:y_hat_k = exp(z_k) / (Σ(exp(z_j)) for j=1 to K)
Softmax函数确保所有输出概率y_hat_k都在 (0, 1) 之间,且所有类别的概率之和为1。
- 线性计算:对于有
- 目标:学习到最佳的权重和偏置,使得对于每个样本,其真实类别对应的预测概率尽可能大。
- 损失函数:最常用的是交叉熵损失。它衡量模型预测的概率分布与真实的概率分布(真实类别标签为1,其他为0的one-hot向量)之间的差异。
CrossEntropy = - Σ(y_i * log(y_hat_i))
其中y_i是真实标签的one-hot编码。 - 适用范围:解决多分类问题。
- 例子:图像分类(识别猫、狗、汽车)、新闻主题分类、手写数字识别等。
总结:Softmax回归输出一个概率分布,用于多分类问题。
3. 其他常见回归模型
除了上述两种,还有许多其他重要的回归模型,用于解决不同场景下的问题。
a. 逻辑回归
- 本质:虽然名字叫“回归”,但它是二分类模型,是Softmax回归在类别数为2时的特例。
- 核心:使用Sigmoid函数将线性输出
z = w^T*x + b映射到 (0, 1) 区间,这个值被解释为属于正类的概率P(y=1|x)。 - 输出:一个介于0和1之间的概率值。
- 例子:垃圾邮件识别(是/否)、疾病诊断(患病/健康)、点击率预测。
b. 岭回归 和 Lasso回归
这两种都是线性回归的改进版,用于解决线性回归可能出现的过拟合问题。
- 共同点:都在损失函数中增加了一个正则化项,以惩罚过大的模型权重,使模型更简单。
- 岭回归:
- 损失函数 = MSE +
λ * ||w||²(L2范数,权重的平方和) - 它会让权重值整体变小,但不会完全变为0。
- 损失函数 = MSE +
- Lasso回归:
- 损失函数 = MSE +
λ * ||w||(L1范数,权重的绝对值之和) - 它倾向于将不重要的特征的权重压缩至0,从而实现特征选择。
- 损失函数 = MSE +
- 弹性网络:结合了岭回归和Lasso回归两种正则化项。
c. 多项式回归
- 核心:线性回归的扩展,通过引入特征的高次项(如
x²,x³)来拟合非线性关系。 - 模型:
y_hat = w0 + w1*x + w2*x² + ... - 注意:阶数不能太高,否则极易过拟合。
d. 泊松回归
- 核心:适用于因变量是计数数据(非负整数)的情况。例如,一天内网站的被访问次数、一个路口的事故次数。
- 模型:假设因变量
y服从泊松分布,使用对数连接函数将线性模型的输出与因变量的期望值联系起来:log(E(y)) = w^T*x + b。
e. Cox回归(比例风险模型)
- 核心:一种用于生存分析的回归模型,用于研究各个因素对生存时间的影响。
- 输出:不是预测具体的生存时间,而是评估不同特征对“风险率”的影响。
总结与对比
为了更直观地理解,可以参考下面的表格:
| 模型名称 | 主要任务 | 输出形式 | 核心特点/激活函数 | 典型应用 |
|---|---|---|---|---|
| 线性回归 | 回归 | 任意实数值 | 无激活函数,直接输出 | 预测房价、销量 |
| Softmax回归 | 多分类 | 概率分布(所有类别概率和为1) | Softmax函数 | 图像分类、文本分类 |
| 逻辑回归 | 二分类 | 一个概率值(属于正类的概率) | Sigmoid函数 | 垃圾邮件检测、广告点击预测 |
| 岭/Lasso回归 | 回归 | 任意实数值 | 在线性回归损失上加正则化项 | 处理多重共线性,防止过拟合 |
| 多项式回归 | 回归 | 任意实数值 | 引入特征的高次项 | 拟合简单的非线性曲线 |
| 泊松回归 | 回归 | 非负整数值(计数) | 对数连接函数,假设泊松分布 | 计数数据预测(访问量、事故数) |
| Cox回归 | 生存分析 | 风险比 | 比例风险模型 | 医学研究,分析生存时间与因素的关系 |
核心关系梳理:
- 回归 vs 分类:首先要明确你的问题是预测一个连续值(回归)还是一个离散类别(分类)。
- 从线性到Softmax:线性回归是基础。当你想用线性模型做多分类时,就在其输出端加上一个Softmax函数,它就变成了Softmax回归。当类别数=2时,Softmax回归等价于逻辑回归。
- 改进与扩展:为了解决线性回归的过拟合问题,诞生了岭回归和Lasso回归。为了拟合非线性数据,有了多项式回归。为了处理特定类型的数据(计数、生存时间),又发展出了泊松回归和Cox回归。
希望这个全面的介绍能帮助你更好地理解这些常见的回归模型!