深度学习--softmax回归
回归可以用于预测多少的问题,预测房屋出售价格,棒球队可能获胜的的常数或者患者住院的天数。
事实上,我们也对分类问题感兴趣,不是问 多少,而是问哪一个
1 某个电子邮件是否属于垃圾邮件
2 某个用户可能注册还是不注册订阅服务
3 某张图像描绘的是驴,狗,还是级?
4 某人接下来最有可能看哪部电影。
通常,机器学习实践者用分类问题描述两个有微妙差别的问题,如果我们支队样本的硬性类别感兴趣,就属于某个类别。如果我们希望得到软性类别,就属于某个类别的概率。 这两者的界限往往很模糊,其中的一个原因是,即使我们只关心硬性类别,我们也仍然使用软性类别的模型。
3.4.1 分类问题
从一个图像分类问题开始,每次输入一个2像素x2的灰度图像,每张图像对应4个特征,x1,x2,x3,x4.此外,假设每张图像属于类别猫,集盒狗中的一个。
接下来,我们要选择如何表示标签, 我们有两个明显的选择,最直接的想法式选择y 属于{1,2,3}其中整数分别对应 狗,猫,鸡。这是计算机上存储此类信息的有效方法。如果类别有一定的自然顺序,假如我们试图预测{婴儿,儿童,青少年,中年人,老年人},那么这个问题可以转变为回归问题,并且保留这种格式是有意义的。
但是一般的分类问题并不与类别之间的自然顺序有关,幸运的是,统计学家很早以前就写明了一种表示分类的简单方法,独热编码,独热编码是一个向量,它的分量和类别一样多,类别对应的分量设置为1,其他所有分量设置为0,在我们的例子中,标签y将是一个三维向量,其中(1,0,0)对应猫,(0,1,0)对应鸡,(0,0,1)对应为狗
3.4.2 网络架构
为了估计所有可能类别的条件概率,我们需要一个由多个输出的模型,每个类别对应一个输出,为了解决现行模型的分类问题,我们需要和输出一个多的放射函数,每个输出对应它自己的放射函数,在我们例子中,由于我们有4个特征和3个可能的输出类别,我们将需要12个标量来表示权重(带下标的w),3个标量来表示偏置(带下标的b)下面我们为每个输入计算3个未规范化的预测logit
:O1,..On
O1 = x1w11 + x2W12 + x3w13 +b1
O1 = x1w21 + x2W22 + x3w23 +b2
O1 = x1w31 + x2W32 + x3w33 +b3
我们可以用神经网络图像来描述这个计算过程,如图3-4所示,与线性回归一样,softmax回归也是一个单层的神经网络,由于计算每个输出o1,o2和o1取决于所有输入x1,x2,.x3和x4 因此softmax回归的输出层也是全连接层。
为了更简洁的表达模型,使用线性代数符号,通过向量形式表示为O = WX + b这是一种更适合数学和编写代码的形式,由此,我们已经将所有权重放到一个3x4矩阵中,对于给定数据样本的特征x,我们的输出是由权重与输入特征进行局长-向量 乘法再加上偏置b得到的。
3.4.3 全链路层的参数开销
正如我们将在后续章节中看到的,在深度学习中,全连接层无处不在,然而,顾名思义,全连接层是完全连接的,可能有很多可学习的参数,具体来说,对于任何具有d个输入和q个输出的全连接层,参数开销为O(dq),这个数字在实践中可能高得令人望而却步,幸运的是,将d个输入转换为q个输出的成本可以减少到O(dq/n),其中超参数n可以由我们灵活指定,以在实际应用中在参数节省和模型有效性之间进行权衡。
3.4.4 softmax运算
现在我们将优化参数以最大化观测数据的概率,为了得到预测结果,我们将设置一个阈值,如选择具有最大概率的标签。
我们希望模型的输出Yi可以视为属于类j的概率,然后选择具有最大输出值的类别argmaxxi,yi作为我们的预测,例如,如果yi,y2,和y3分别为0.1,0.8和0.1 那么我们预测的类别是2,在我们的例子中代表鸡。
然而我们能否将未规范化的预测O直接视作我们感兴趣的输出呢?答案是否定的,因为将现行层的输出直接视为概率时存在一些问题,一方面,我们没有限制这些输出数值的总和为1,线性层的输出直接视为概率时存在一些问题一方面,我们没有限制这些输出数值的总和为1,另一方面,根据输入的不同输出可以为负值,这些违反了2.6节中所述的概率论基本公里。
要将输出视为概率,我们必须保证在任何数据上的输出都是非负的且总和为1,此外,我们需要一个训练的目标函数,来激励模型精准的估计概率。例如,分类器输出0.5的所有样本中,我们希望这些样本中刚好有一半实际上属于预测的类,这个属性叫作校准。
在社会科学家于1959奶奶在选择模型理论的基础上发明的softmax函数正是这样做的;softmax函数能够将未规范化的预测变换为非负数并且总和为1,同时让模型保持可导的性质。为了实现这一目标,我们首先对每个未规范化的概率求幂,这样可以确保输出非负值,为了确保最终输出的概率值纵隔为1,我们再让每个求幂后的结果除以结果的总和,如下式。
Y^ = softmax(a),其中Yi^ = exp(Oj)/sigma exp(Oi)
这里对于所有的J总有0 <= Yj^ <=1,因此,y^可以视为一个正确的概率分布,softmax运算不会改变未规范化的预测O之间的大小次序,只会确定分配给每个类别的概率,因此,在预测过程中,我们仍然可以用下式选择最优可能的类别。
argmax Y^j = argmax Oj
尽管softmax是一个非线性函数,但softmax回归输出仍然由输入特征的放射变换决定,因此,softmax回归是一个线性模型。
相关文章:
深度学习--softmax回归
回归可以用于预测多少的问题,预测房屋出售价格,棒球队可能获胜的的常数或者患者住院的天数。 事实上,我们也对分类问题感兴趣,不是问 多少,而是问哪一个 1 某个电子邮件是否属于垃圾邮件 2 某个用户可能注册还是不注册…...
【计算机网络】记录一次校园网无法上网的解决方法
问题现象 环境:实训室教室内时间:近期突然出现 (推测是学校在施工,部分设备可能出现问题)症状: 连接校园网 SWXY-WIFI 后: 连接速度极慢偶发无 IP 分配(DHCP 失败)即使分…...
Java关于抽象类和抽象方法
引入抽象: 在之前把不同类中的共有成员变量和成员方法提取到父类中叫做继承。然后对于成员方法在不同子类中有不同的内容,对这些方法重新书写叫做重写;不过如果有的子类没有用继承的方法,用别的名字对这个方法命名的话࿰…...
第二十一章:Python-Plotly库实现数据动态可视化
Plotly是一个强大的Python可视化库,支持创建高质量的静态、动态和交互式图表。它特别擅长于绘制三维图形,能够直观地展示复杂的数据关系。本文将介绍如何使用Plotly库实现函数的二维和三维可视化,并提供一些优美的三维函数示例。资源绑定附上…...
LeetCode 热题 100_打家劫舍(83_198_中等_C++)(动态规划)
LeetCode 热题 100_打家劫舍(83_198) 题目描述:输入输出样例:题解:解题思路:思路一(动态规划(一维dp数组)):思路二(动态规划ÿ…...
C语言复习--assert断言
assert.h 头⽂件定义了宏 assert() ,⽤于在运⾏时确保程序符合指定条件,如果不符合,就报错终止运行。这个宏常常被称为“断⾔”。 assert(p ! NULL); 代码在程序运⾏到这⼀⾏语句时,验证变量 p 是否等于 NULL 。如果确实不等于 NU…...
嵌入式软件设计规范框架(MISRA-C 2012增强版)
以下是一份基于MISRA-C的嵌入式软件设计规范(完整技术文档框架),包含编码规范、安全设计原则和工程实践要求: 嵌入式软件设计规范(MISRA-C 2012增强版) 一、编码基础规范 1.1 文件组织 头文件保护 /* 示…...
系统思考反馈
最近交付的都是一些持续性的项目,越来越感觉到,系统思考和第五项修炼不只是简单的一门课程,它们能真正融入到我们的日常工作和业务中,帮助我们用更清晰的思维方式解决复杂问题,推动团队协作,激发创新。 特…...
【C++】vector常用方法总结
📝前言: 在C中string常用方法总结中我们讲述了string的常见用法,vector中许多接口与string类似,作者水平有限,所以这篇文章我们主要通过读vector官方文档的方式来学习vector中一些较为常见的重要用法。 🎬个…...
Burpsuite 伪造 IP
可以用于绕过 IP 封禁检测,用来暴力、绕过配额限制。 也可以用来做 ff98sha 出的校赛题,要求用 129 个 /8 网段的 IP 地址访问同一个 domain 插件 - IPRotate 原理:利用云服务商的反向代理服务。把反向代理的域名指向到目标 ip 即可。 http…...
12.小节
1.认识 QLabel 类,能够在界面上显示字符串. 通过 setText 来设置的.参数 QString (Qt 中把 C 里的很多容器类, 进行了重新封装.历史原因) c叫法容器类,java叫法集合类 2.内存泄露,文件资源泄露 3.对象树。Qt 中通过对象树,来统一的释放界面的…...
大模型专题10 —LangGraph高级教程:构建支持网页搜索+人工干预的可追溯对话系统
在本教程中,我们将使用 LangGraph 构建一个支持聊天机器人,该机器人能够: ✅ 通过搜索网络回答常见问题 ✅ 在多次调用之间保持对话状态 ✅ 将复杂查询路由给人工进行审核 ✅ 使用自定义状态来控制其行为 ✅ 进行回溯并探索替代的对话路径 我们将从一个基础的聊天机器人开…...
2025年数智化电商产业带发展研究报告260+份汇总解读|附PDF下载
原文链接:https://tecdat.cn/?p41286 在数字技术与实体经济深度融合的当下,数智化产业带正成为经济发展的关键引擎。 从云南鲜花产业带的直播热销到深圳3C数码的智能转型,数智化正重塑产业格局。2023年数字经济规模突破53.9万亿元ÿ…...
Linux中常用服务器监测命令(性能测试监控服务器实用指令)
1.查看进程 ps -ef|grep 进程名以下指令需要先安装:sysstat,安装指令: yum install sysstat2.查看CPU使用情况(间隔1s打印一个,打印6次) sar -u 1 63.#查看内存使用(间隔1s打印一个,打印6次) sar -r 1 6...
SQL:CASE WHEN使用详解
文章目录 1. 数据转换与映射2. 动态条件筛选3. 多条件分组统计4. 数据排名与分级5. 处理空值与默认值6. 动态排序 CASE WHEN 语句在 SQL 中是一个非常强大且灵活的工具,除了常规的条件判断外,还有很多巧妙的用法,以下为你详细总结:…...
linux内核`fixmap`和`memblock`有什么不同?
Linux内核中的fixmap和memblock是两个不同层次的内存管理机制,分别用于不同的场景和阶段。以下是它们的核心区别和联系: 功能与作用 memblock 物理内存管理: memblock是内核启动早期的物理内存分配器,在伙伴系统(Budd…...
基于 GEE 的区域降水数据可视化:从数据处理到等值线绘制
目录 1 引言 2 代码功能概述 3 代码详细解析 3.1 几何对象处理与地图显示 3.2 加载 CHIRPS 降水数据 3.3 筛选不同时间段的降水数据 3.4 绘制降水时间序列图 3.5 计算并可视化短期和长期降水总量 3.6 绘制降水等值线图 4 总结 5 完整代码 6 运行结果 1 引言 在气象…...
曲线拟合 | Matlab基于贝叶斯多项式的曲线拟合
效果一览 代码功能 代码功能简述 目标:实现贝叶斯多项式曲线拟合,动态展示随着数据点逐步增加,模型后验分布的更新过程。 核心步骤: 数据生成:在区间[0,1]生成带噪声的正弦曲线作为训练数据。 参数设置:…...
Qt6调试项目找不到Bluetooth Component蓝牙组件
错误如图所示 Failed to find required Qt component "Bluetooth" 解决方法:搜索打开Qt maintenance tool 工具 打开后,找到这个Qt Connectivity,勾选上就能解决该错误...
JAVA- 锁机制介绍 进程锁
进程锁 基于文件的锁基于Socket的锁数据库锁分布式锁基于Redis的分布式锁基于ZooKeeper的分布式锁 实际工作中都是集群部署,通过负载均衡多台服务器工作,所以存在多个进程并发执行情况,而在每台服务器中又存在多个线程并发的情况,…...
Java Spring Boot 与前端结合打造图书管理系统:技术剖析与实现
目录 运行展示引言系统整体架构后端技术实现后端代码文件前端代码文件1. 项目启动与配置2. 实体类设计3. 控制器设计4. 异常处理 前端技术实现1. 页面布局与样式2. 交互逻辑 系统功能亮点1. 分页功能2. 搜索与筛选功能3. 图书操作功能 总结 运行展示 引言 本文将详细剖析一个基…...
深入剖析JavaScript多态:从原理到高性能实践
摘要 JavaScript多态作为面向对象编程的核心特性,在动态类型系统的支持下展现了独特的实现范式。本文深入解析多态的三大实现路径:参数多态、子类型多态与鸭子类型,详细揭示它们在动态类型系统中的理论基础与实践意义。结合V8引擎的优化机制…...
GalTransl开源程序支持GPT-4/Claude/Deepseek/Sakura等大语言模型的Galgame自动化翻译解决方案
一、软件介绍 文末提供程序和源码下载 GalTransl是一套将数个基础功能上的微小创新与对GPT提示工程(Prompt Engineering)的深度利用相结合的Galgame自动化翻译工具,用于制作内嵌式翻译补丁。支持GPT-4/Claude/Deepseek/Sakura等大语言模型的…...
TGES 2024 | 基于空间先验融合的任意尺度高光谱图像超分辨率
Arbitrary-Scale Hyperspectral Image Super-Resolution From a Fusion Perspective With Spatial Priors TGES 2024 10.1109/TGRS.2024.3481041 摘要:高分辨率高光谱图像(HR-HSI)在遥感应用中起着至关重要的作用。单HSI超分辨率ÿ…...
算法基础_基础算法【高精度 + 前缀和 + 差分 + 双指针】
算法基础_基础算法【高精度 前缀和 差分 双指针】 ---------------高精度---------------791.高精度加法题目介绍方法一:代码片段解释片段一: 解题思路分析 792. 高精度减法题目介绍方法一:代码片段解释片段一: 解题思路分析 7…...
多线程猜数问题
题目:线程 A 生成随机数,另外两个线程来猜数,线程 A 可以告诉猜的结果是大还是小,两个线程都猜对后,游戏结束,编写代码完成。 一、Semaphore 多个线程可以同时操作同一信号量,由此实现线程同步…...
Ubuntu环境安装
1. 安装gcc、g和make sudo apt update sudo apt install build-essential 2. 安装cmake ubuntu安装cmake的三种方法(超方便!)-CSDN博客 3. 安装ssh sudo apt-get install libssl-dev...
【家政平台开发(6)】筑牢家政平台安全防线:全方位隐私与安全需求解析
本【家政平台开发】专栏聚焦家政平台从 0 到 1 的全流程打造。从前期需求分析,剖析家政行业现状、挖掘用户需求与梳理功能要点,到系统设计阶段的架构选型、数据库构建,再到开发阶段各模块逐一实现。涵盖移动与 PC 端设计、接口开发及性能优化…...
Python数据类型-list
列表(List)是Python中最常用的数据类型之一,它是一个有序、可变的元素集合。 1. 列表基础 创建列表 empty_list [] # 空列表 numbers [1, 2, 3, 4, 5] # 数字列表 fruits [apple, banana, orange] # 字符串列表 mixed [1, hello, 3.14, True] # 混合类型…...
SpringBoot工程如何考虑优化使其视频请求更流畅
为了优化Spring Boot以提升前端视频读取的流畅性,可以从以下几个关键方向入手: 1. 分块传输与HTTP范围请求(Range Requests) 视频播放通常需要支持随机跳转进度,需确保后端正确处理HTTP Range头,实现按需传…...
