回归

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函数,转化为属于每个类别的概率分布
  • 模型公式
    1. 线性计算:对于有 d 个特征的样本 x,为每个类别 k (从1到K) 计算一个分数:
      z_k = w_k^T * x + b_k
      这里,每个类别都有自己独立的权重向量 w_k 和偏置 b_k
    2. 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。
  • Lasso回归
    • 损失函数 = MSE + λ * ||w|| (L1范数,权重的绝对值之和)
    • 它倾向于将不重要的特征的权重压缩至0,从而实现特征选择
  • 弹性网络:结合了岭回归和Lasso回归两种正则化项。
c. 多项式回归
  • 核心:线性回归的扩展,通过引入特征的高次项(如 , )来拟合非线性关系
  • 模型y_hat = w0 + w1*x + w2*x² + ...
  • 注意:阶数不能太高,否则极易过拟合。
d. 泊松回归
  • 核心:适用于因变量是计数数据(非负整数)的情况。例如,一天内网站的被访问次数、一个路口的事故次数。
  • 模型:假设因变量 y 服从泊松分布,使用对数连接函数将线性模型的输出与因变量的期望值联系起来:log(E(y)) = w^T*x + b
e. Cox回归(比例风险模型)
  • 核心:一种用于生存分析的回归模型,用于研究各个因素对生存时间的影响。
  • 输出:不是预测具体的生存时间,而是评估不同特征对“风险率”的影响。

总结与对比

为了更直观地理解,可以参考下面的表格:

模型名称 主要任务 输出形式 核心特点/激活函数 典型应用
线性回归 回归 任意实数值 无激活函数,直接输出 预测房价、销量
Softmax回归 多分类 概率分布(所有类别概率和为1) Softmax函数 图像分类、文本分类
逻辑回归 二分类 一个概率值(属于正类的概率) Sigmoid函数 垃圾邮件检测、广告点击预测
岭/Lasso回归 回归 任意实数值 在线性回归损失上加正则化项 处理多重共线性,防止过拟合
多项式回归 回归 任意实数值 引入特征的高次项 拟合简单的非线性曲线
泊松回归 回归 非负整数值(计数) 对数连接函数,假设泊松分布 计数数据预测(访问量、事故数)
Cox回归 生存分析 风险比 比例风险模型 医学研究,分析生存时间与因素的关系

核心关系梳理:

  1. 回归 vs 分类:首先要明确你的问题是预测一个连续值(回归)还是一个离散类别(分类)。
  2. 从线性到Softmax线性回归是基础。当你想用线性模型做多分类时,就在其输出端加上一个Softmax函数,它就变成了Softmax回归。当类别数=2时,Softmax回归等价于逻辑回归
  3. 改进与扩展:为了解决线性回归的过拟合问题,诞生了岭回归Lasso回归。为了拟合非线性数据,有了多项式回归。为了处理特定类型的数据(计数、生存时间),又发展出了泊松回归Cox回归

希望这个全面的介绍能帮助你更好地理解这些常见的回归模型!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐