【李沐深度学习笔记】Softmax回归

news2024/11/30 8:53:20

课程地址和说明

Softmax回归p1
本系列文章是我学习李沐老师深度学习系列课程的学习笔记,可能会对李沐老师上课没讲到的进行补充。

Softmax回归

虽然它名字叫作回归,但是它其实是分类问题



本节课的基础

想要学会本节课得需要一点基础,我真没看懂这节课讲的是什么,查了一些资料补了补基础
此处参考视频信息量 |熵 | 交叉熵 |KL散度 (相对熵)|交叉熵损失函数

信息量(Amount of Information)

定义

事件包含的信息量大小(事件发生的难度有多大)

  • 小概率事件,它发生的难度比较大,所以有较大的信息量;
  • 大概率事件,它发生的难度比较小,所以有较小的信息量。
    【例】
公式

信息量的公式为:
I ( x ) : = (人为定义的) l o g 2 1 P ( x ) = − l o g 2 P ( x ) I(x):=(人为定义的)log_{2}{\frac{1}{P(x)}}=-log_{2}{{P(x)}} I(x):=(人为定义的)log2P(x)1=log2P(x)

性质

对于独立事件 A , B A,B A,B,其概率为 P ( A B ) = P ( A ) P ( B ) P(AB)=P(A)P(B) P(AB)=P(A)P(B),而两个事件同时发生的信息量等于两个事件的信息量相加,即:
I ( A B ) = I ( A ) + I ( B ) I(AB)=I(A)+I(B) I(AB)=I(A)+I(B)

例子

熵(Entropy)

定义


【注】期望就是加权和求出来的平均值,此处权值为概率

公式

作用

【注】左图,每个概率都相等,不确定哪个会更容易发生,而右图很容易确定。

例子

结论

交叉熵

定义

公式

例子

结论


相对熵(KL散度)

KL散度以 Kullback 和Leibler的名字命名,也被称为相对嫡

作用

用于衡量2个概率分布之间的差异

公式

假设真实概率分布为 p p p、预测概率分布(估计概率分布)为 q q q

重要性质

交叉熵损失函数



Softmax回归的基本原理

此处参考视频:softmax回归原理及损失函数-跟李沐老师动手学深度学习

Softmax回归也是和线性回归一样讲数字特征和权重做线性叠加,不同的是线性回归的输出是一个连续的值,但Softmax回归的输出是离散的值,并且其输出由线性回归中的一个变为了多个:

将特征和权重做叠加后用Softmax函数进行计算,将输出值 O 1 , O 2 , O 3 O_{1},O_{2},O_{3} O1,O2,O3映射为0到1之间的数(即概率, y i ^ \hat{y_{i}} yi^是概率值),公式如下:

并且按此方法得到了一个概率分布,即预测值 y 1 ^ , y 2 ^ , y 3 ^ , . . . \hat {y_{1}},\hat {y_{2}},\hat {y_{3}},... y1^,y2^,y3^,...都为正值,并且它们的和为1
在实际操作中,我们选择 y 1 ^ , y 2 ^ , y 3 ^ , . . . \hat {y_{1}},\hat {y_{2}},\hat {y_{3}},... y1^,y2^,y3^,...中最大的预测值,找到最大的预测值所对应的类别标签即为我们预测的类别。
举个例子(下面认为输出类别是第二类):

以上就是Softmax回归的预测过程。
为了提高计算效率,我们将上面的数学公式形式化为线性代数语言:

  • 单个样本的向量形式:

  • 小批量样本的向量形式

【注】如果行向量不能相乘或相加,默认取转置, n n n n n n个样本, d d d为数字特征的个数, q q q表示输出类别的个数

  • 损失函数
    对于概率分布问题,其损失函数一般为交叉熵损失函数:


    【注】有一个为1,其他为0,其他项目都没了

从回归到多类分类



【注】 y i y_{i} yi有一个为1,说明该输出结果属于第 i i i个类别。

【注】正确类 O y O_{y} Oy的置信度要远远大于其他非置信度的 O i O_{i} Oi


【注】 o → \overrightarrow{o} o 是一个长度为 n n n的向量,前文提到的 o → = ( O 1 , O 2 , . . . ) \overrightarrow{o}=(O_{1},O_{2},...) o =(O1,O2,...),这其中每一个 O i O_{i} Oi都是前文提到的线性回归。

比较两个概率之间的区别用交叉熵损失函数:

总结

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

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

相关文章

day9.30

消息队列实现进程之间通信方式代码&#xff0c;现象 #include<myhead.h>//消息结构体 typedef struct {long msgtype; char data[1024]; }Msg_ds;#define SIZE sizeof(Msg_ds)-sizeof(long) int main(int argc, const char *argv[]) {//1、创建key值…

安全渗透测试基础之-Nessus漏洞扫描工具(安装下载)

【注:本文中所需软件请回复公众号后获取,有任何问题请留言,看到会第一时间回复,毕竟我有自己的工作,分享经验并不是主业,不能时刻关注到。如果您觉得我写的好,请记得将公众号设为星标公众号,否则下次可能找不到。先谢谢各位愿意努力奋斗的小伙伴们了。】 本篇是安装下…

UML学习笔记

前言 UML&#xff08;Unified Modeling Language&#xff09;是一种对软件密集系统进行可视化建模的一种语言。有了图后来就可以一目了然。 C中有好多继承图&#xff0c;我都看不懂&#xff0c;所以就来学习一波&#xff5e; -代表私有&#xff08;private&#xff09;的表示…

经典网络解(三) 生成模型VAE | 自编码器、变分自编码器|有监督,无监督

文章目录 1 有监督与无监督2 生成模型2.1 重要思路 3 VAE编码器怎么单独用&#xff1f;解码器怎么单独用&#xff1f;为什么要用变分变分自编码器推导高斯混合模型 4 代码实现 之前我们的很多网络都是有监督的 生成网络都是无监督的&#xff08;本质就是密度估计&#xff09;&a…

5、Linux驱动开发:设备-设备注册

目录 &#x1f345;点击这里查看所有博文 随着自己工作的进行&#xff0c;接触到的技术栈也越来越多。给我一个很直观的感受就是&#xff0c;某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了&#xff0c;只有经常会用到的东西才有可能真正记…

12、Kubernetes中KubeProxy实现之iptables和ipvs

目录 一、概述 二、iptables 代理模式 三、iptables案例分析 四、ipvs案例分析 一、概述 iptables和ipvs其实都是依赖的一个共同的Linux内核模块&#xff1a;Netfilter。Netfilter是Linux 2.4.x引入的一个子系统&#xff0c;它作为一个通用的、抽象的框架&#xff0c;提供…

华为智能高校出口安全解决方案(3)

本文承接&#xff1a; https://qiuhualin.blog.csdn.net/article/details/133267254?spm1001.2014.3001.5502 重点讲解华为智能高校出口安全解决方案的攻击防御&安全运维&日志审计的部署流程。 华为智能高校出口安全解决方案&#xff08;3&#xff09; 课程地址攻击防…

git报错:Failed to connect to 127.0.0.1 port 1080

Bug描述 由于在试了网上的这条命令 git config --global http.proxy socks5 127.0.0.1:1080 git config --global https.proxy socks5 127.0.0.1:1080git config --global http.proxy 127.0.0.1:1080 git config --global https.proxy 127.0.0.1:1080Bug描述&#xff1a;Faile…

对负采样(negative sampling)的一些理解

负采样&#xff08;negative sampling&#xff09;通常用于解决在训练神经网络模型时计算softmax的分母过大、难以计算的问题。但在LightGCN模型论文的BPR LOSS中&#xff0c;负采样的概念可能与传统的softmax分母问题不完全一样。 在LightGCN模型中&#xff0c;不同于传统的协…

Spring结合自定义注解实现 AOP 切面功能【详解】

Spring结合自定义注解实现 AOP 切面功能 Spring AOP 注解概述Aspect 快速入门execution 切点表达式 拦截指定类的方法Pointcut("annotation(xx)") 拦截拥有指定注解的方法常用注解1.Before&#xff1a;在切点方法前执行2.After&#xff1a;在切点方法后执行3.Around&…

Python爬虫获取百度图片+重命名+帧差法获取关键帧

&#xff08;清库存&#xff09; 获取图片 重命名 帧差法 爬虫获取图片文件重命名帧差法获取关键帧 爬虫获取图片 # 图片在当前目录下生成import requests import renum 0 numPicture 0 file List []def dowmloadPicture(html, keyword):global num# t 0pic_url re.fin…

【JVM】运行时数据区之 堆——自问自答

Q:堆和栈&#xff0c;在设计上有何用义&#xff1f; 此处我们不说数据结构的概念。 堆本身是一种存储结构&#xff0c;在代码的内存层面来看&#xff0c;无论是c 操作的原生内存&#xff0c;还是Java 背后的JVM&#xff0c;堆的作用都是进行持久存储的。 这个持久存储并不是…

集合-Collection

系列文章目录 1.集合-Collection-CSDN博客 文章目录 目录 系列文章目录 文章目录 前言 一 . 集合的继承体系 二 . 什么是Collection? 三 . 常用方法 1.add(Object element): 将指定的元素添加到集合中。 2. remove(Object element): 从集合中移除指定的元素。 3. bo…

国庆day1---消息队列实现进程之间通信方式代码,现象

snd&#xff1a; #include <myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__:",__LINE__);\perror(msg);\ }while(0)typedef struct{ long msgtype; //消息类型char data[1024]; //消息正文 }Msg;#define SIZE sizeof(Msg)-sizeof(long)int main…

HP E1740A 模拟量输入模块

HP&#xff08;惠普&#xff09;E1740A 模拟量输入模块是一种用于数据采集和测量的工控模块&#xff0c;通常用于各种自动化和监测应用中。以下是该模拟量输入模块的一些可能特点和功能&#xff1a; 多通道输入&#xff1a; E1740A 模块通常具有多个模拟量输入通道&#xff0c;…

windows的arp响应

1.原理‘ 2.场景 3.步骤

YOLOv8+swin_transfomerv2

测试环境&#xff1a;cuda11.3 pytorch1.11 rtx3090 wsl2 ubuntu20.04 踩了很多坑&#xff0c;网上很多博主的代码根本跑不通&#xff0c;自己去github仓库复现修改的 网上博主的代码日常出现cpu,gpu混合&#xff0c;或许是人家分布式训练了&#xff0c;哈哈哈 下面上干货…

Android回收视图

本文所有代码均存放于https://github.com/MADMAX110/BitsandPizzas 回收视图是列表视图的一个更高级也更灵活的版本。 回收视图比列表视图更加灵活&#xff0c;所以需要更多设置&#xff0c;回收视图使用一个适配器访问它的数据&#xff0c;不过与列表视图不同&#xff0c;回收…

[RCTF2015]EasySQL 二次注入 regexp指定字段 reverse逆序输出

第一眼没看出来 我以为是伪造管理员 就先去测试管理员账号 去register.php 注册 首先先注册一个自己的账号 我喜欢用admin123 发现里面存在修改密码的内容 那么肯定链接到数据库了 题目又提示是sql 那我们看看能不能修改管理员密码 首先我们猜测闭合 通过用户名 admin…

HTML,CSS,JavaScript知识点

HTML&#xff0c;CSS&#xff0c;JavaScript知识点 HTML篇 HTML是超文本标记语言。文件以.html结尾。 Hello,HTML。常用的工具: 标题: <h1>一级标题</h1><h2>二级标题</h2><h3>三级标题</h3><h4>四级标题</h4>无序列表和有…