《深度学习》—— 神经网络模型中的损失函数及正则化惩罚和梯度下降

news2024/12/26 20:44:18

文章目录

  • 前言
  • 一、损失函数
  • 二、正则化惩罚
  • 三、梯度下降

前言

  • 在神经网络中,损失函数正则化惩罚梯度下降是三个关键的概念,它们共同作用于网络的训练过程,以提升网络的性能和泛化能力。
  • 神经网络模型结构如下图所示:
    在这里插入图片描述
  • 在构建好一个神经网络模型后,为了让模型得出的结果更加的准确,那么必须对模进行训练,找到最接近真实结果的模型
  • 定义损失函数用来判断模型预测的结果和真实值的误差,在对损失函数添加正则化惩罚项,提高对输入数据的拟合效果,达到好的泛化能力
  • 为了达到最小的误差值,需要运用梯度下降的方法来找到模型中最优的权重参数

一、损失函数

  • 损失函数是用来评估神经网络预测值与实际值之间差异的函数。通过最小化损失函数的值,网络可以学习到如何更好地进行预测。不同类型的任务需要不同类型的损失函数,常见的损失函数包括:
    • 交叉熵损失函数
    • 均方差损失函数
    • 0-1损失函数
    • 平均绝对差损失函数
    • 合页损失函数
  • 示例:多分类的情况下,如何计算损失值呢?
    • softmax交叉熵损失函数多用于实现分类问题,用于多分类公式如下:
      在这里插入图片描述
      • yi表示第 i 个预测的结果值
    • 下面是猫、狗、羊的照片,标签分别为0、1、2
      在这里插入图片描述
    • 如果我们传入猫的照片进行训练,训练过程如下图所示:
      在这里插入图片描述
    • 首先先对训练后的各目标结果进行e的指数倍放大
    • 再将其值进行归一化,得到各个结果的概率
    • 最后通过损失函数计算出每个标签结果上的损失值
    • 由于我们输入的是猫的照片进行训练,所以只需要关注第一个输出神经元的结果,如果损失值越小,说明越靠近真实结果,模型的效果也就越好

二、正则化惩罚

  • 正则化是一种减少过拟合的技术,它通过向损失函数中添加一个正则化项来实现。正则化项通常是对模型参数(如权重)的某种形式的惩罚,旨在限制模型的复杂度,从而提高其泛化能力。常见的正则化方法包括:

    • L1正则化:向损失函数中添加权重绝对值的和作为惩罚项。L1正则化有助于产生稀疏的权重矩阵,即许多权重为零,这有助于模型的解释性,并可能减少计算量。

    • 公式如下:
      在这里插入图片描述

    • L2正则化:向损失函数中添加权重平方和的一半作为惩罚项。L2正则化有助于减小权重的值,从而防止模型过于复杂,避免过拟合。

    • 公式如下:
      在这里插入图片描述

      • 各参数的含义与L1正则化中的相同
  • 下面通过一个实例来说明为什么要增加正则化惩罚:
    在这里插入图片描述

    • w1和w2与输入的乘积都为1,但w2 与每一个输入数据进行计算后都有数据,使得w2会学习到每一个特征信息。
    • 而w1只和第1个输入信息有关系,容易出现过拟合现象,因此w2的效果会比w1 好
    • 因此需要引入正则化惩罚项来避免第一种权重值的情况

三、梯度下降

  • 损失函数具有良好的梯度信息,使得优化算法(如梯度下降)能够有效地更新模型参数
  • 在神经网络中,我们希望通过调整网络参数(如权重和偏置)来降低损失函数的值。梯度下降算法通过计算损失函数关于网络参数的梯度,并沿着梯度的反方向更新参数,从而逐步逼近损失函数的最小值。
  • 具体步骤如下:
    • 1.计算梯度:首先,需要计算损失函数关于每个参数的梯度。这通常通过反向传播算法(Backpropagation)来实现,该算法从网络的输出层开始,逐层计算梯度,直到到达输入层。
    • 2.更新参数:然后,使用计算得到的梯度来更新网络的参数。更新规则通常遵循以下形式:
      在这里插入图片描述
    • 3.重复迭代:不断重复上述步骤,直到满足某个停止条件(如达到最大迭代次数、损失函数值低于某个阈值或梯度接近于零)
  • 用下图来解释梯度下降的过程:
    • 参数取不同的初始值,可能会得到不同的最小损失值,但是每个初始的参数只是得到了此模型局部的最小损失值
    • 就好像当你处在一个谷底时,只会认为此时的位置是最低的,但并不知道其他的低谷处还有更低的位置
    • 梯度下降就是通过不断地寻找梯度方向和计算得到不同的损失值,直到找到最优和满足条件的值为止
      在这里插入图片描述

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

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

相关文章

Linux 挂载磁盘与开机自动挂载操作指南

Linux 挂载磁盘与开机自动挂载操作指南 文章目录 Linux 挂载磁盘与开机自动挂载操作指南一 挂载磁盘1 查看硬盘信息2 新增数据盘执行分区3 新建分区4 创建一个主分区5 分区编号6 初始磁柱编号7 截止磁柱编号8 查看新建分区信息9 分区结果写入10 新分区同步操作系统11 设置新分区…

[docker]入门

本文章主要讲述的是,docker基本实现原理,docker概念的解释,docker的使用场景以及docker打包与部署的应用。 文章中docker所运行的系统:CentOS Linux release 7.9.2009 (Core) 目录 docker是什么,什么时候需要去使用 …

香港电讯SASE解决方案:终端与云端的安全护航

现代工作模式存在网络安全隐忧 随着远程办公模式的普及,越来越多员工使用各种个人终端设备,如台式电脑、笔记本电脑、智能手机、平板电脑等进行协作办公。然而,由于IT人才短缺和员工隐私等因素,许多企业无法统一管理端点设备的安…

Gitlab实现多项目触发式自动CICD

工作中可能会遇到这种场景,存在上游项目A和下游项目B,项目B的功能依赖项目A(比如B负责日志解析,A是日志描述语言代码),这种相互依赖的项目更新流程一般如下: A项目更新,通知B项目开发…

怎么将flv转换成mp4格式?这几种转换方法超多人在用!

怎么将flv转换成mp4格式?FLV,这一视频格式在大众视野中相对边缘化,其鲜为人知并非偶然,背后隐藏着多重挑战,首要挑战在于其兼容性的局限,由于FLV的小众属性,许多现代软件与操作系统并未给予充分…

多个音频怎么合并?把多个音频合并在一起的方法推荐

多个音频怎么合并?无论是制作连贯的播客节目还是将音乐片段整合成专辑,音频合并已成为许多创作者的常见需求。通过有效合并音频,可以显著提升项目的整体质量,确保内容的连续性和一致性。然而,合并后的文件通常比原始单…

滑动窗口(4)_将x减到0的最小操作数

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 滑动窗口(4)_将x减到0的最小操作数 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目…

CANFD在乘用车应用说明

随着汽车电子的高速发展,车内信息的急剧增多,传统的CAN总线的数据传输能力已经很难满足车辆ECU的数据传输需求了,此时CANFD就应运而生了。CANFD和CAN最主要的区别就是CANFD的ID段和数据段能够以不同的速率传输数据,这就保证了即使…

【Python】生成图片验证码

1. 首先安装第三方库PIL(图像处理库) pip install pillow 2. 编写生成验证码代码 这里字体 SimHei.ttf 文件要放在该文件目录下。 import random from PIL import Image, ImageDraw, ImageFont, ImageFilterdef check_code(width128, height30, char…

UE-- 引入IOS framework 库 真机运行闪退

UE-- 引入IOS framework 库 真机运行闪退 事请是这样的 我编写了一个插件 里面是 调用IOS原生代码的 obj-c与swift混编 我从Xcode编写了一个framework库(动态库) 然后放入ue进行引用 正常的打包出来了 ipa 文件 结果真机运行报错了 Exception Typ…

Apache SeaTunnel Committer 进阶指南

Apache SeaTunnel 作为一个开源的数据集成工具,旨在简化和加速海量数据的采集和传输。 社区的 Committer 是指拥有项目存储库的写权限的社区成员,即 Committer 可以自行修改代码、文档和网站,也可以合并其他成员的贡献。成为 Apache SeaTunn…

eHR软件好用吗?人事管理系统的功能有哪些?

随着科技的发展,企业管理方式也在不断变革。其中,电子人力资源管理(eHR)系统作为一种新兴的人力资源管理工具,受到了越来越多企业的关注。那么,eHR系统到底好不好用?它有哪些具体功能呢&#xf…

解决Docker镜像不可下载

使用国内可信的镜像中心 可信国内镜像网址:https://hub.atomgit.com/ 点击镜像仓库 搜索想要的镜像 按如图所示,即可查看对应的版本 点击复制,即可下载使用 缺点: 可用的镜像相比于docker官方量少 并且,获取的镜像名字…

架构师知识梳理(七):软件工程-测试

测试原则和方法 系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。 测试原则 应尽早并不断的进行测试;测试工作应该避免由原开发软件的人或小组承担;在设计测试方案时,不仅要确定输入数据…

写的一致性问题之双删模式

文章目录 1、双删模式1.1、同步双删1.2、异步双删1.3、延时双删1.4、定时双删 在事务提交前后删除两次redis,会有性能问题 企业开发常用:延时双删、异步双删 1、双删模式 1.1、同步双删 实现思路:AOP 1.2、异步双删 在事务提交之后异步删除r…

如何自学SQL(从入门到精通)?

SQL语言对于各个数据库是通用的,学习SQL数据库语言是一个系统的过程,可以分为几个阶段:入门、进阶、实践和精通。 下面是一些建议,可以帮助你从入门到精通自学SQL: 1. 学习方法 a. 理解基本概念 数据库理论&#xf…

Spring Cloud Alibaba核心组件Nacos/Seata/Sentinel

文章目录 Spring Cloud Alibaba介绍Spring Cloud 微服务体系Spring Cloud Alibaba 定位 注册配置中心--Nacos服务治理架构注册中心原理 Nacos介绍Nacos 的关键特性1.服务注册和发现2.动态配置服务3.实时健康监控4.动态DNS服务5.易于集成: Nacos入门示例服务注册与发…

基于微信小程序的图书馆预约占座系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSpringBootVueMySQL的图…

【Linux】深刻理解操作系统的管理

文章目录 1.操作系统的概念(是什么)2.为什么要有OS(为什么)3.OS是如何管理的(怎么办)4.OS上层怎么用OS 1.操作系统的概念(是什么) 操作系统本质是:进行软硬件资源管理的一款软件。 操作系统包…

【第33章】Spring Cloud之SkyWalking服务链路追踪

文章目录 前言一、介绍1. 架构图2. SkyWalking APM 二、服务端和控制台1. 下载2. 解压3. 初始化数据库4. 增加驱动5. 修改后端配置6. 启动7. 访问控制台8. 数据库表 三、客户端1. 下载2. 设置java代理3. idea配置3.1 环境变量3.2 JVM参数3.3 启动日志 4. 启用网关插件 四、链路…