线性回归与 Softmax 回归核心内容总结 - 教程

news/2025/9/18 19:36:19/文章来源:https://www.cnblogs.com/wzzkaifa/p/19099550

一、线性回归:解决连续值预测困难

1. 核心概念与应用场景

线性回归是用于连续值预测的基础模型,典型应用为房价预测:通过房屋的卧室数量、停车空间、周边学校等特征(输入),估算房屋价格(连续输出值),核心是建立输入特征与输出连续值之间的线性映射关系。

2. 模型表达式

  • 单个样本:表达式为 \(y = w^T x + b\),其中 x 为输入特征向量,w 为权重向量(衡量各特征对输出的影响),b 为偏置项(修正模型基准),y 为预测输出。
  • 多个样本:可简化为矩阵形式 \(y = Xw + b\),X 为样本特征矩阵(每行对应一个样本的特征),提高计算效率。
  • 神经网络视角:线性回归可看作单层神经网络,仅包含输入层(接收特征 \(x_1,x_2,...x_d\))和输出层(输出预测值 y),输出层神经元依据权重 \(w_1,w_2,...\) 与输入层连接。

3. 训练核心:优化与超参数

  • 损失函数:用于衡量预测值与真实值的差距,是模型优化的目标(需最小化),线性回归常用平方损失(L2 损失),即预测值与真实值差值的平方。
  • 优化算法:核心为梯度法,经过计算损失函数对参数(w 和 b)的梯度,沿梯度反方向更新参数(因梯度反方向是函数值下降最快的方向),逐步降低损失。
    • 随机梯度下降(SGD):每次随机选取部分样本计算梯度并更新参数,平衡计算效率与优化效果,是深度学习常用基础算法。
    • 小批量随机梯度下降:SGD 的改进版,每次选取 “小批量” 样本(而非单个或全部样本)计算梯度,核心是合理选择 “批量值”:过小则无法充分利用计算资源,过大则浪费资源且降低更新灵活性。
  • 关键超参数
    • 学习率:控制参数更新的步长,需合理设置 —— 过大会导致参数更新不稳定(难以收敛到最小值),过小则会使模型训练速度过慢。
    • 批量大小:小批量随机梯度下降中每次选取的样本数量,需在计算效率与优化效果间平衡。

二、Softmax 回归:解决多类别分类问题

1. 核心定位与应用场景

Softmax 回归是多类别分类的基础模型,区别于线性回归的 “连续值预测”,其目标是预测样本属于多个离散类别的概率(如手写数字识别(10 类)、ImageNet 图像分类(1000 类)、维基百科恶语评论分类(7 类)等)。

2. 模型核心:从 “线性输出” 到 “概率分布”

  • 网络结构:本质是单层全连接神经网络,输入层接收样本特征,输出层神经元数量等于类别数量(如 10 类分类任务输出层设 10 个神经元),每个输出神经元对应一个类别的 “原始置信度”\(o_1,o_2,...o_k\)(k 为类别数)。
  • Softmax 运算:将输出层的原始置信度转换为符合概率分布的预测值(非负且总和为 1),公式为 \(y_i = \frac{\exp(o_i)}{\sum_{k}\exp(o_k)}\),其中 \(y_i\) 表示样本属于第 i 类的预测概率,最终取概率最大的类别作为预测结果。

3. 损失函数:交叉熵损失

由于 Softmax 回归输出为概率分布,平方损失(L2 损失)不再适用,核心采用交叉熵损失,公式为 \(H(p,q) = -\sum p_i \log(q_i)\),其中 p 是样本真实概率分布(如 “属于第 3 类” 则真实分布为 [0,0,1,...,0]),q 是模型输出的预测概率分布,交叉熵损失能更精准地衡量两个概率分布的差异,推动模型优化。

三、两类模型的核心差异

维度线性回归Softmax 回归
任务目标预测连续值(如房价、温度)预测多类别概率(离散分类)
输出形式单个连续数值多个类别概率(和为 1)
输出层设计1 个神经元神经元数量 = 类别数
核心运算线性映射(\(y=w^Tx+b\))线性映射 + Softmax 运算
常用损失函数平方损失(L2 损失)交叉熵损失

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P6631 [ZJOI2020] 序列 题解

很好的贪心题。 考虑从左到右枚举每个位置,每次在右边添加一个数时更行答案。 容易想到记录当前前缀可以继续向右延伸的 \(1,2,3\) 操作的个数。记当前需要添加的数为 \(i\),用 \(c,x,y\) 分别表示可以继续向右延伸(…

MacCAD2019.dmg 安装包使用教程|Mac电脑安装CAD2019全流程

MacCAD2019.dmg 安装包使用教程|Mac电脑安装CAD2019全流程​一、准备工作​下载文件​ 确保你已经下载了 MacCAD2019.dmg这个安装包,一般是个压缩镜像文件。安装包下载:https://pan.quark.cn/s/3efc4d51839c二、开始…

初始化一个rust环境

初始化一个rust环境初始化一个rust环境 rust 安装工具依赖入门 - Rust 程序设计语言一门帮助每个人构建可靠且高效软件的语言。 https://www.rust-lang.org/zh-CN/learn/get-startedrustup 环境变量 RUSTUP_DIST_SERVE…

编程里边有好多不容易触及的知识点

可能是因为不是原生土长的内容,编程里边有很多没有办法合情理解的领域。框架是其中一个,类似的还有 窗口库,还有好多其它东西。以前刚开始学窗口的时候,总是觉得没办法进行。周围的同学大概都是 拿过来用就可以,创…

PostgreSQL repmgr 高可用之故障转移

PostgreSQL repmgr 高可用之故障转移PostgreSQL高可用之repmgr自动切换 之前写过一个repmgr的高可用搭建的,https://www.cnblogs.com/wy123/p/18531710,repmgr的搭建过程还是比较简单的,具体过程不再赘述。这里为了…

25.9.18随笔联考总结

考试 通读题面,发现前两道是签。然后开做,饭堂,最后花费大部分时间过掉。后面两道题都不会。寄寄。 估计:100+100+0+0。实际:100+100+0+0。 有人藏分,素质有待提高! 改题+总结 T3 需要看出无限制的方案数对应卡…

P3642 [APIO2016] 烟花表演 解题报告

简要题意 给定一颗有根树,边有边权。你可以花费 \(1\) 的代价使任意一条边的边权减一或加一。询问使所有叶子到根的距离相等的最小代价。 分析 首先看上去就很 dp,于是考虑状态设计。设 \(f_{u,i}\) 表示使 \(u\) 子…

Manim实现闪光轨迹特效

在动画制作中,轨迹特效常常用于增强视觉效果,而带有闪光效果的轨迹更是能够吸引观众的注意力。 本文将介绍如何使用Manim动画库实现闪光轨迹特效。 1. 实现原理 下面的GlowingTracedPath类参考了Manim中的TracePath类…

Slope Trick 学习笔记

前言 诚然,虽然它名字里带了"Slope",但是它不是斜率优化,而是一个比它还要难的东西(作者本人主观臆断)。 并且,关于 CF13C,有一点很多文章都没有提及,所以会有人看不懂为什么要这么做(作者本人亲身…

使用 libaudioclient 实现 Android Native层 音频测试工具

libaudioclient 除了支持 setAudioPortConfig() 调用,也支持 setMasterMute()、setStreamMute()、setParameters()、getParameters()、setMode() 等接口调用,满足各种开发测试需求。它让你不需要关注这些细枝末节的差…

03-初始化测试数据

03-初始化测试数据$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");显示所有数据库 show databases;创建数据库 create database testdb;使用数据库 use test…

漏洞详解--文件上传 如何花样绕过?!

一、漏洞原理 1.1 核心 文件上传漏洞,顾名思义,将攻击者将恶意文件上传到服务器,服务器将恶意文件解析,攻击就达成了。 1.2 漏洞详解 文件上传漏洞非常好理解,有三个关键点,一是上传文件,二是找到文件上传的路径…

深入解析:AI Agent开发秘籍:Prompt工程与测评最佳实践(建议收藏反复研读)

深入解析:AI Agent开发秘籍:Prompt工程与测评最佳实践(建议收藏反复研读)2025-09-18 19:18 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-…

使用Windows客户端访问EDA环境的NFS共享

在IC设计环境中, 也总是会有Windows操作系统的开发服务器或者客户端需要使用IC设计平台中Linux主机使用的NFS服务器。 使用者也是IC设计团队中的一员,可能出于设计工具的原因, 他/她的部分工作必须在Windows中完成,…

Day03-1

public class HelloWorld { public static void main(String[] args) { String teacher = "David"; System.out.println("Hello World"); } //有趣的代码注释 //单行注释 //输出一个Hello,World! …

实用指南:鸿蒙智能设备自动诊断实战:从传感器采集到远程上报的完整实现

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

使用php -S 127.0.0.1:8000 新建php服务

php -S 127.0.0.1:8000 启动服务后 当前坐在目录下的所有文件都可以在浏览器上以 http://127.0.0.1/目录/文件名称 的形式访问 比如: 浏览器访问 http://127.0.0.1/upload_files.php 就会直接调用当前目录 upload_fi…

WPF ControlTemplate DI Via Microsoft.Extensions.DependencyInjection

Install-Package Microsoft.Extensions.DependencyInjection; Install-Package CommunityToolkit.mvvm; //app.xaml <Application x:Class="WpfApp21.App"xmlns="http://schemas.microsoft.com/winf…

完整教程:从“我店”模式看绿色积分电商平台的困境与破局

完整教程:从“我店”模式看绿色积分电商平台的困境与破局pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

Java第三周课前思考

什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?完成独立功能或创建类的实例或对类级别的属性进行操作的方法应该用static修饰。 不用static修饰的方法往…