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

文章目录

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

前言

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

一、损失函数

  • 损失函数是用来评估神经网络预测值与实际值之间差异的函数。通过最小化损失函数的值,网络可以学习到如何更好地进行预测。不同类型的任务需要不同类型的损失函数,常见的损失函数包括:
    • 交叉熵损失函数
    • 均方差损失函数
    • 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.mzph.cn/pingmian/53784.shtml

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

相关文章

firewalld中ipset与zone的区别

Firewalld中的IP集(IP sets)和区域(zone)是两个不同的概念,它们有不同的作用和用途: IP集:IP集是一组IP地址的集合,可以将一组IP地址组织到一个IP集中。通过IP集,你可以更…

LCSS—最长回文子序列

思路分析 关于”回文串“的问题,是面试中常见的,本文提升难度,讲一讲”最长回文子序列“问题,题目很好理解: 输入一个字符串 s,请找出 s 中的最长回文子序列长度。 比如输入 s"aecda"&#xff0c…

R和Python数据格式的通用性

pkl是适用于python之间的传输; Rdata之类的只用于R之间的传输; 想将R中的数据输出,使的python易于读取: 优先选择的数据格式是Apache Arrow所定义的数据格式,即Parquet和Feather。 Parquet:Parquet 文件…

graphQL 参数使用报错问题

query{getMembers(sid:0,nodeId:"ns6;i7896"){methods} } //报错 "message": "Field \"methods\" of type \"[UaMethod]\" must have a selection of subfields. Did you mean \"methods { ... }\"?",这个错误信…

【AI-18】Adam和SGD优化算法比较

Adam(Adaptive Moment Estimation)和 SGD(Stochastic Gradient Descent,随机梯度下降)是两种常见的优化算法,它们在不同方面有各自的特点。 一、算法原理 SGD: 通过计算损失函数关于每个样本的…

docker安装 redis 并且加密开启SSL/TLS通道

拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/redis:latest docker tag registry.cn-hangzhou.aliyuncs.com/qiluo-images/redis:latest redis:latest要在 Docker 容器中启动 Redis 并开启 SSL/TLS 加密,需按照以下步骤修改启动命令和配置…

S7-1500T分布式同步功能

1. 功能描述工控人加入PLC工业自动化精英社群 在一些实际应用中,会需要很多轴进行同步运行,如印刷机、纸尿裤生产线等。由于一个 PLC 的运动控制资源有限,控制轴的数量也是有限的,就会需要多个 PLC 间协调实现轴工艺对象的跨CPU的…

k8s以及prometheus

#生成控制器文件并建立控制器 [rootk8s-master ~]# kubectl create deployment bwmis --image timinglee/myapp:v1 --replicas 2 --dry-runclient -o yaml > bwmis.yaml [rootk8s-master ~]# kubectl expose deployment bwmis --port 80 --target-port 80 --dry-runclient…

专题三_二分查找算法_算法详细总结

目录 二分查找 1.⼆分查找(easy) 1)朴素二分查找,就是设mid(leftright)/2,xnums[mid],t就是我们要找的值 2)二分查找就是要求保证数组有序的前提下才能进行。 3)细节问题: 总结&#xff1a…

数据分析-13-时间序列异常值检测的类型及常见的检测方法

参考时间序列异常值的分类及检测 参考异常值数据预警分析 1 时间序列异常的类型 时间序列异常检测是数据处理和分析的重要环节,广泛应用于量化交易、网络安全检测、自动驾驶汽车和大型工业设备日常维护等领域。在时间序列数据中,异常通常指的是与正常数据模式显著不同的数据…

基于SpringBoot+Vue+MySQL的招聘管理系统

系统展示 用户前台界面 管理员后台界面 企业后台界面 系统背景 在当今数字化转型的大潮中,企业对于高效、智能化的人力资源管理系统的需求日益增长。招聘作为人力资源管理的首要环节,其效率与效果直接影响到企业的人才储备与竞争力。因此,构建…

详解Diffusion扩散模型:理论、架构与实现

本文深入探讨了Diffusion扩散模型的概念、架构设计与算法实现,详细解析了模型的前向与逆向过程、编码器与解码器的设计、网络结构与训练过程,结合PyTorch代码示例,提供全面的技术指导。 关注TechLead,复旦AI博士,分享A…

宠物毛发对人体有什么危害?宠物空气净化器小米、希喂、352对比实测

作为一个呼吸科医生,我自己也养猫。软软糯糯的小猫咪谁不爱啊,在养猫的过程中除了欢乐外,也面临着一系列的麻烦,比如要忍耐猫猫拉粑粑臭、掉毛、容易带来细菌等等的问题。然而我发现,现在许多年轻人光顾着养猫快乐了&a…

Linux命令:用于应用补丁文件来更新源代码的工具patch详解

目录 一、概述 二、基本概念 1. 补丁文件 2. diff 工具 三、基本用法 1、基本语法 2、常用选项 3、获取帮助 四、patch 工具的主要功能 1. 应用补丁 2. 逆向应用补丁 3. 查看补丁内容 4. 交互模式 5. 非交互模式 6. 备份文件 五、patch基本用法举例 1、应用补…

动态规划:汉诺塔问题|循环汉诺塔

目录 1. 汉诺塔游戏简介 2.算法原理 3.循环汉诺塔 1. 汉诺塔游戏简介 汉诺塔游戏是一个经典的数学智力游戏,其目标是将塔上不同大小的圆盘全部移动到另一个塔上,且在移动过程中必须遵守以下规则: 每次只能移动一个圆盘较大的圆盘不能放在…

css百分比布局中height:100%不起作用

百分比布局时,我们有时候会遇到给高度 height 设置百分比后无效的情况,而宽度设置百分比却是正常的。 当为一个元素的高度设定为百分比高度时,是相对于父元素的高度来计算的。当没有给父元素设置高度(height)时或设置…

如何编写ChatGPT提示词

为ChatGPT编写有效的提示需要实施几个关键策略,以使文本到文本生成 AI 工具产生所需的输出。您可以使用 ChatGPT 提示(也称为 ChatGPT 命令)来增强您的工作或提高您在各个行业的表现。例如,营销人员可以提示 ChatGPT 为社交媒体帖…

杂七杂八-系统环境安装

杂七杂八-系统&环境安装 1. 系统安装2. 环境安装 仅个人笔记使用,后续会根据自己遇到问题记录,感谢点赞关注 1. 系统安装 Windows安装linux子系统WSL2:使用windows系统跑linux程序(大模型)WSL VSCode:VSCode连接WSL实现高效…

就服务器而言,ARM架构与X86架构有什么区别?各自的优势在哪里?

一、服务器架构概述 在数字化时代,服务器架构至关重要。服务器是网络核心节点,存储、处理和提供数据与服务,是企业和组织信息化、数字化的关键基础设施。ARM 和 x86 架构为服务器领域两大主要架构,x86 架构服务器在市场占主导&…

学习之git的团队协作

git团队协作 一 团队内协作 生成SSH公钥私钥 一(跨团队协作)