当前位置: 首页 > news >正文

线性回归与 Softmax 回归

一、线性回归:预测 “连续值” 的一把好手

先从一个你肯定遇到过的场景切入:买房时,怎么估算一套房子的合理价格?你会下意识想 “面积多大?几室几厅?地段好不好?”—— 这些影响因素就是 “输入特征”,而 “房价” 就是我们要预测的 “连续值”。线性回归,本质就是帮我们把 “特征” 和 “连续值” 用数学公式串起来的工具。

1. 核心公式:用 “线性组合” 算预测值

线性回归的公式特别直观,就像小学学的 “四则运算” 升级版:

  • 单样本公式比如一套房子,特征x是 [面积 80㎡,卧室 3 个,房龄 5 年],权重w是 [0.8,0.3,-0.1](权重正代表特征越优、价格越高,负代表特征越差、价格越低),偏置\(b=50\)(相当于 “基础房价”)。代入计算就是: 这个y,就是模型估算的房价。
  • 多样本公式要是有 100 套房子的数据,X就变成 “100 行 3 列” 的特征矩阵(每行一套房的特征),y就是 100 个预测房价组成的向量,计算逻辑和单样本完全一致。

2. 冷知识:线性回归 = 最简单的神经网络!

它是个标准的 “单层神经网络”:

  • 输入层:有多少个特征,就有多少个神经元(比如面积、卧室数、房龄,就是 3 个输入神经元);
  • 输出层:只有 1 个神经元(对应预测的连续值,比如房价);
  • 连接:输入和输出神经元之间的 “线” 就是权重w,输出神经元还带个 “基础值”b(偏置)。

后来学多层神经网络时,我总想起这个结构 —— 原来复杂模型,不过是在这个基础上 “叠层” 而已!

3. 模型训练:怎么让预测越来越准?

刚初始化的模型,权重和偏置都是随机的,预测房价肯定不准(比如把 118 万的房子估成 90 万)。这就需要 “训练” 来调整参数,核心靠两件事:损失函数优化算法

(1)用 “平方损失” 算误差

损失函数就是 “给模型打分” 的工具,线性回归最常用平方损失比如真实房价 118 万,预测 115.4 万,这个样本的损失就是。损失越小,说明模型预测越准。

(2)用 “梯度下降” 调参数

梯度下降法,原理像 “下山找最低点”:

  1. 随机初始化w和b(相当于在山的某个位置);
  2. 算梯度:梯度是 “所有参数偏导数的向量”,能告诉你 “往哪个方向走,损失降得最快”;
  3. 更新参数:,n是学习率,控制 “每步走多远”);
  4. 重复 2-3 步,直到损失不再下降(走到山底)。

实际训练中,我们常用小批量随机梯度下降(Mini-batch SGD):每次用 32 或 64 个样本算梯度,既比 “每次 1 个样本” 稳定,又比 “每次所有样本” 快,是深度学习的 “默认操作”。

(3)避坑指南:超参数怎么选?

训练时容易踩坑的两个超参数:

  • 学习率:不能太大(容易 “跳过最低点”,损失反而上升),也不能太小(训练慢到崩溃),常用 0.1、0.01、0.001;
  • 批量大小:选 16、32、64 就行,太小浪费 GPU 算力,太大训练耗时久。

二、Softmax 回归:搞定 “多分类” 的神器

学会线性回归,能预测房价、销量这些 “连续值”,但如果遇到 “给图片分类(是猫还是狗)”“给评论打分(是好评还是差评)” 这种 “选类别” 的问题,就得靠 Softmax 回归了 —— 它专门解决 “多分类任务”,还能告诉你每个类别的概率。

 任务差异:从 “算数值” 到 “选类别”

线性回归输出 “一个数”,Softmax 回归输出 “多个概率”。比如给一张手写数字图片分类,它会输出 “是 0 的概率 0.02、是 1 的概率 0.01、……、是 5 的概率 0.95”,我们直接选概率最大的 “5” 作为结果。

它的应用场景特别多:

  • 图像分类:MNIST 手写数字(10 类)、ImageNet(1000 类,识别猫、狗、汽车);
  • 文本分类:维基百科恶语评论(7 类,比如 toxic、insult)、新闻分类(政治、体育、娱乐)。

三、一张表分清:线性回归 vs Softmax 回归

学到这里,可能有人会混淆两个模型,我整理了一张对比表,帮大家快速区分:

对比维度线性回归Softmax 回归
任务类型连续值预测(回归)多分类预测(分类)
输出层神经元数1 个等于类别数 K 个
输出处理直接输出线性组合结果Softmax 运算转概率
常用损失函数平方损失(L2 损失)交叉熵损失
应用场景房价、销量、温度预测图像、文本、评论分类

但它们也有 “血缘关系”:

  1. 都是单层神经网络,核心都是 “特征 × 权重 + 偏置” 的线性计算;
  2. 都用梯度下降法训练,学习率、批量大小的调优逻辑一样;
  3. 都是复杂模型的基础 —— 比如 CNN 做图像分类,最后一层就是 “Softmax 回归”;多层感知机做回归,最后一层就是 “线性回归”。

文章转载自:

http://bMmvVebq.pgkpt.cn
http://9cQKgso6.pgkpt.cn
http://zAMlAR5D.pgkpt.cn
http://77OrXDCt.pgkpt.cn
http://AanDm7Sr.pgkpt.cn
http://Olh8L73w.pgkpt.cn
http://eDTFAKHA.pgkpt.cn
http://QiogZvCD.pgkpt.cn
http://R6xYAUvD.pgkpt.cn
http://LyDWYYNs.pgkpt.cn
http://uq3g63O6.pgkpt.cn
http://i18G5ZF2.pgkpt.cn
http://bo3GzvRS.pgkpt.cn
http://9tlM99uV.pgkpt.cn
http://lfawfK8w.pgkpt.cn
http://xxvC9whc.pgkpt.cn
http://7XM04eFy.pgkpt.cn
http://daDrsHMy.pgkpt.cn
http://2b0cFqcS.pgkpt.cn
http://BNVgXFWz.pgkpt.cn
http://9dbBGDMx.pgkpt.cn
http://966bySvw.pgkpt.cn
http://wqLpw708.pgkpt.cn
http://tG6pMswq.pgkpt.cn
http://Eb9Jz98C.pgkpt.cn
http://BH8rkBWE.pgkpt.cn
http://hIink0Tt.pgkpt.cn
http://7cEogSzC.pgkpt.cn
http://v6tllD3L.pgkpt.cn
http://hYKhri8O.pgkpt.cn
http://www.dtcms.com/a/387818.html

相关文章:

  • 源雀 Scrm开源:企微防截屏
  • [APItest-Karate] HttpRequestBuilder | HttpClient发送请求
  • 线性回归与 Softmax 回归:从基础模型到深度学习入门
  • 【Leetcode hot 100】105.从前序与中序遍历序列构造二叉树
  • 机器视觉在PCB制造中的检测应用
  • 服务器ssh端口放开,仍然无法登录
  • 【0基础3ds Max】命令面板详解
  • LeetCode 381 - O(1) 时间插入、删除和获取随机元素(允许重复)
  • [新启航]深孔加工尺寸精度检测方法 - 激光频率梳 3D 轮廓测量
  • MySQL 进阶:多表联合查询与数据备份恢复
  • 【LeetCode每日一题】:移除链表元素
  • 工业大数据时代时序数据库选型指南:为何Apache IoTDB成为首选?
  • Java 中 ArrayList 与 LinkedList 的深度对比:从原理到实战选择
  • 向量检索服务 DashVector产品功能
  • Spring-Cloud-Alibaba:2023.0.1.X引起的dashscope-sdk-java依赖冲突问题
  • vue 知识点
  • 深入理解 Linux 进程调度:从策略到实现的全方位解析
  • 【技术架构】从单机到微服务:Java 后端架构演进与技术选型核心方案
  • Java异常报错: java.io.IOException: Broken pipe
  • [Linux]学习笔记系列 -- lib/kobject.c 内核对象(Kernel Object) 设备模型的核心基石
  • 专题:Python实现贝叶斯线性回归与MCMC采样数据可视化分析2实例|附代码数据
  • IEEE 802.1X和**IEEE 802.11之间的关联和作用
  • 【Linux】【底层解析向】Linux Shell 核心功能拆解:环境变量不生效原因 + $?/echo/alias 底层逻辑
  • UV紫外卤素灯太阳光模拟器的原理
  • RAG简单构建(ollama+uv+deepseek)
  • 告别冰冷AI音!B站开源IndexTTS2模型,零样本克隆+情感解耦,玩法超多!
  • pytorch中.pt和.pth文件区别
  • 目标计数(3)Object Counting: You Only Need to Look at One
  • 拖拽移动并监听点击事件
  • Hibernate 和 MyBatis差异分析