动手学深度学习二:关于熵和损失函数的理解

李沐动手学深度学习
课程网址:https://courses.d2l.ai/zh-v2/
包含教材和视频网址链接

关于熵,教材中的描述非常形象,那就是描述信息量多少。当我们根据一些数据去预测一个结果,如果这些数据都单一的指向结果,那么这些数据对结果的预测没有信息量。但如果这些数据不能直接指向预测的结果,我们会感到很诧异,相比下来这些数据包含了更多的信息量。(感觉类比于程序员修bug,越是输出不符合预期,这个bug的信息量就越多。)

我们对于模型的最终表现期望,就是对于已知数据集的分布,预测出来的概率分布趋近于实际的分布,也就是模型在训练的过程中,熵是不断减小的过程。

交叉熵损失函数的表达是:
在这里插入图片描述
其中y_hat是softmax函数,保证输出的类别概率在0-1之间,并且概率总和为1,相当于对输出做了规范。将softmax函数带入上式求导
在这里插入图片描述
在这里插入图片描述
神奇的一幕出现了,损失函数对于未规范化的估计值梯度,表示的就是观测值和估计值的差,模型训练过程中,随着梯度的减小(随机梯度下降),观测值和估计值的差也会减小。

如果理解有误,欢迎交流讨论!

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

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

相关文章

Django的数据库模型的CharField字段的max_length参数与中文字符数的关系探索(参数max_length的单位是字符个数还是字节数?)

01-清理干净之前的数据库迁移信息 02-根据setting.py中的信息删除掉之前建立的数据库 03-删除之后重新创建数据库 04-models.py中创建数据库模型 from django.db import modelsclass User(models.Model):username models.CharField(max_length4)email models.EmailField(uni…

R语言安装教程(附安装包链接)

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。 Mac支持M1芯片,下载其中的arm即可,其余下载另一个文件 下载链接: 链接: https://pan…

读元宇宙改变一切笔记04_网络化

1. 思想实验 1.1. 如果森林中的一棵树倒下,但周围没有人听到,那它是否会发出声音? 1.1.1. “贝克莱的树” 1.2. 主观唯心主义哲学家乔治贝克莱(George Berkeley)提出的,他认为“存在就是被感知” 1.2.1. 如果有人或有其他事物…

【Linux】Ubuntu 解压 zip、z01、z02等压缩文件的方法,Linux如何解压分卷压缩的

zip分卷压缩,在windows上压缩来的,如何解压这种文件: -rw-rw-r-- 1 20401094656 Dec 10 20:06 FFHQ.z01 -rw-rw-r-- 1 20401094656 Dec 10 20:10 FFHQ.z02 -rw-rw-r-- 1 20401094656 Dec 10 23:22 FFHQ.z03 -rw-rw-r-- 1 20401094656 Dec 10…

nvm管理多版本Node.js

nvm管理多版本Node.js 可能大家都曾苦恼于Node环境问题,某个项目需要升版本,某项目又需要降,甚至还出现npm版本与Node对不上的情况。 通过nvm进行版本管理,即可解决。 卸载Node 通过命令行输入node -v命令查看是否已安装Node&…

如何快速断行、分割行、切割行、换行、限制每行字数、平均分割每行字数、序号自动换行、关键字断行等等内容格式整理

首先,需要用到的这个工具: 百度 密码:qwu2蓝奏云 密码:2r1z 打开工具,切换到“文章工作域”(嗯...默认就是) 找到这个,多内容断行分割 点击打开,出现如下窗口设置 相关的…

C++游戏引擎中的坐标系

一.Direct3D四大变换 <1.世界矩阵变换: 为了模拟3D物体的旋转,缩放,平移等功能,Direct3D将静态模型的顶点坐标x,y,z经过旋转平移矩阵变换以得到新的顶点坐标x1,y1,z1 D3DXMATRIX mTrans ; D3DXMatrixTranslation (&mTrans , 5 , - 3 , 0 ); g_pd3dDevice->SetTr…

用java实现Client和Server之间的互相通信

概要&#xff1a;看过我之前文章的人都知道&#xff0c;client和server之间的通信必不可少的就是socket。而java已经帮我们做了很多事情。 创建Server端 第一步&#xff0c;创建ServerSocket 这个从名字上就可以看出来&#xff0c;服务器上的socket 0.0 ServerSocket ser…

Apache JMeter 5.5: 新手指南

如何获取并运行 JMeter 首先&#xff0c;要使用 JMeter&#xff0c;你需要从官网获取软件包。前往 Apache JMeter 的官方页面&#xff0c;然后下载所 需的压缩文件。 配置和启动 JMeter 获取了 JMeter 后&#xff0c;由于它是无需安装即可使用的工具&#xff0c;直接解压下载…

使用pygame.draw绘制基本图形

import pygame# 初始化pygame pygame.init()# 创建显示窗口 screen pygame.display.set_mode((640, 480)) pygame.display.set_caption("绘制基本图形")# 定义颜色 BLACK (0, 0, 0) WHITE (255, 255, 255) RED (255, 0, 0) GREEN (0, 255, 0) BLUE (0, 0, 255)…

AMD SEV基本原理

AMD SEV基本原理 背景SMEArchC-bitSME-MKInterfaceSMESME-MK SEVArchInterface SEV APIKey ManagementGuest PolicyMailbox Register ProtocolPlatform Management APIGuest Management API 背景 TODO SME SME&#xff08;Secure Memory Encryption&#xff09;是AMD内存加密…

Spark与Kafka的集成与流数据处理

Apache Spark和Apache Kafka是大数据领域中非常流行的工具&#xff0c;用于数据处理和流数据处理。本文将深入探讨如何在Spark中集成Kafka&#xff0c;并演示如何进行流数据处理。将提供丰富的示例代码&#xff0c;以帮助大家更好地理解这一集成过程。 Spark与Kafka的基本概念…