训练神经网络的各种优化算法【文末赠书】

news2024/11/23 16:29:07

正确的优化算法可以成倍地减少训练时间

许多人在训练神经网络时可能会使用优化器,而不知道该方法称为优化。优化器是用于更改神经网络属性(例如权重和学习率)以减少损失的算法或方法。

文章目录

    • 梯度下降
    • 随机梯度下降
    • 小批量梯度下降
    • 其它优化算法
    • 各个优化算法比较动态图
    • 福利赠书
      • 推荐
      • 内容简介

梯度下降

梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。

梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。

优点:

  • 容易计算。
  • 易于实施。
  • 容易理解。

缺点:

  • 可能陷入局部最小值。
  • 在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
  • 需要大内存来计算整个数据集的梯度

随机梯度下降

它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。

θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本

由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。

优点:

  • 因此,频繁更新模型参数可以在更短的时间内收敛。
  • 需要更少的内存,因为不需要存储损失函数的值。
  • 可能会得到新的最小值。

缺点:

  • 模型参数的高方差。
  • 即使在达到全局最小值后也可能射击。
  • 要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。

小批量梯度下降

它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。

θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。

优点:

  • 经常更新模型参数并且方差也较小。
  • 需要中等的内存

所有类型的梯度下降都有一些挑战:

  • 选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
  • 对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
  • 可能会陷入局部极小值。

其它优化算法

具体我就不再详细介绍,其它优化器如下:

  • Momentum
  • Nesterov Accelerated Gradient
  • Adagrad
  • AdaDelta
  • Adam

各个优化算法比较动态图

在这里插入图片描述

可见Adam 是最好的优化器。对于稀疏数据,使用具有动态学习率的优化器。如果,想使用梯度下降算法,那么 min-batch 梯度下降是最好的选择。

福利赠书

大家在评论区对本文进行评论,宣传转发文章让朋友给你的评论点赞,对被点赞数量前三名同学每人赠送一本,活动本周星期天结束,符合条件同学,下方卡片添加我联系方式,给我收货地址。其余未被选中同学可以官网购买,有优惠。

京东:https://item.jd.com/13422442.html
当当:http://product.dangdang.com/29301483.html

推荐

“智能算法”是指在工程实践中,经常会接触到一些比较“新颖”的算法或理论,比如模拟退火,遗传算法,禁忌搜索,神经网络,天牛须搜索算法,麻雀搜索算法等。这些算法或理论都有一些共同的特性(比如模拟自然过程。它们在解决一些复杂的工程问题时大有用武之地。在许多情况下,智能算法是处理和解决各种具有挑战性的工程问题的实用替代技术。

目前图书市场上关于智能优化算法的图书很多,但大部分书籍讲解的智能优化算法时间较为久远,近10年内讲解较为热门的智能优化算法,以及给出使用热门智能优化算法求解实际问题代码的书籍几乎没有。《MATLAB智能优化算法:从写代码到算法思想》这本书以实战和快速教会智能优化算法初学者为主旨,通过9个常见的组合优化问题、5个经典的智能优化算法及4个新颖的智能优化算法,让读者全面、深入、透彻地理解智能优化算法求解问题时的算法设计思路及代码编写思路,进一步提高使用智能优化算法求解实际问题的实战能力,内容通俗易懂,案例丰富,实用性强,特别适合MATLAB语言的入门读者阅读,也适合想学习智能优化算法但无从下手的编程爱好者阅读
在这里插入图片描述

内容简介

本书以简单的组合优化问题作为MATLAB智能优化算法实战应用的切入点,逐步深入使用MATLA编写更复杂的智能优化算法和求解更复杂的组合优化问题,让读者逐渐理解智能优化算法的实际求解过程。

本书分为10章,涵盖的主要内容有遗传算法求解0-1背包问题、变邻域搜索算法求解旅行商问题、大规模邻域搜索算法求解旅行商问题、灰狼优化算法求解多旅行商问题、蚁群算法求解容量受限的车辆路径问题、模拟退火算法求解同时取送货的车辆路径问题、遗传算法求解带时间窗的车辆路径问题、萤火虫算法求解订单分批问题、头脑风暴优化算法求解带时间窗和同时取送货的车辆路径问题、鲸鱼优化算法求解开放式车辆路径问题。

本书内容通俗易懂,案例丰富,实用性强,特别适合MATLAB语言的入门读者阅读,也适合想学习智能优化算法但无从下手的编程爱好者阅读。另外,本书也适合作为相关专业的教材使用。

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

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

相关文章

C/C++指针之提高篇详解(二)

一、引言 C/C语言中引入了指针,使得程序能够直接访问内存地址,使得很多复杂的操作变得简单,同时也提高了程序的运行效率。指针即是地址,但是地址却是通过指针变量来存储的。这就好比我们的教室,每个教室都有一个房间号…

第3章 Tomcatservlet

1.BS与CS *CS:客户端服务器架构模式 优点:充分利用客户端机器的资源,减轻服务器的负荷 缺点:需要安装;升级维护成本较高 *BS:浏览器服务器架构模式 优点:客户端不需要安装,维护成本…

Zlibrary已死,找了一个替代品,找了一个替代品免费的电子书下载平台...

大家好,我是鸟哥。一个半路出家的程序员。 提到Zlibrary,想必大家都不陌生吧。全球最大的数字图书馆,截止被封前共收录了591万本书,7751万篇文章,并且还在不断的增加中,关键是可以免费下载。 反正我是很熟悉…

Rust之常用集合(二):字符串(String)

开发环境 Windows 10Rust 1.65.0VS Code 1.73.1 项目工程 这里继续沿用上次工程rust-demo 用字符串存储UTF-8编码的文本 我们在之前的章节中讨论了字符串,但现在我们将更深入地研究它们。新的Rust人会因为三个原因而陷入字符串:Rust倾向于暴露可能的错误&#x…

【季报分析】美团:真的很美

11月25日,港股盘后美团发布了2022年第三季度业绩报告。整体来看,财报数据还算不错,毕竟大部分指标都已经超预期,探员利用这两天假期,把美团的这份财报仔细过了一遍,当然探员也把2022年Q1、Q2的数据也进行了…

Linux代码调试----gdb使用介绍

目录 一、简介 二、gdb使用流程: (1)gdb的启动 (2)调试中查看源代码 (3)开始调试 一、简介 GDB 全称“GNU symbolic debugger”,是 Linux 下常用的程序调试器。发展至今&#xff…

[附源码]SSM计算机毕业设计校园超市进销存管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【Node.js】第九章 数据库

目录 1. 数据库的基本概念 1.1 数据库的概念 1.2 数据库的分类 1.3 数据组织结构 2. MySQL使用介绍 2.1 安装MySQL和MySQL Workbench 2.2 MySQL的基本使用 2.3 使用SQL管理数据库 3. 在项目中使用MySQL 3.1 安装和配置MySQL模块 3.2 操作数据 1. 数据库的基本概念…

word怎么转pdf?word转pdf借助pdf软件即可搞定!

我们在办公的时候,会有word转pdf的办公需求,但是很多人都不清楚word转pdf的方法,那么word怎么转pdf呢?其实方法很简单,利用pdf软件来进行word转pdf的操作即可,如今,市面上pdf软件应接不暇&#…

五、Javascript 空间坐标[尺寸、滑动]

一、尺寸 1.视窗尺寸 document.documentElement.clientWidth&#xff1a;视窗宽度document.documentElement.clientHeight&#xff1a;视窗高度 2.各种尺寸 举例&#xff1a;<div id"gao"></div> 前提&#xff1a;var a document.getElementById(g…

多重共线性如何分析?

判断标准 常见的直观判断方法共有四个&#xff0c;如下&#xff1a; &#xff08;1&#xff09;某些自变量的相关系数值较大&#xff08;比如大于0.8&#xff09;等&#xff0c;可以利用pearson相关系数检验法一般是利用解释变量之间的线性相关程度判断&#xff0c;一般标准是…

Java常用类(二)

目录 JDK8之前的日期时间API java.lang.System类 java.util.Date类 两个构造器的使用 两个方法的使用 java.sql.Date类 涉及两个问题&#xff1a; java.text.SimpleDateFormat类 格式化&#xff1a;日期--->字符串 解析&#xff1a;字符串--->日期&#xff08;格…

基于TM的遥感数据的叶面积指数估算解决方案及或取途径

1、背景与技术路线 叶面积指数是重要的植被结构参数&#xff0c;反演叶面积指数是植被遥感的重要研究内容之一&#xff0c;其影响生 态系统的物质和能量循环&#xff0c;成为作物生长、路面过程、水文和生态等模型的输入参数或状态变量。今 年来&#xff0c;对也铭记指数的反演…

Spark系列之Spark的RDD详解

title: Spark系列 第五章 Spark 的RDD详解 5.1 RDD概述 ​ RDD 是 Spark 的基石&#xff0c;是实现 Spark 数据处理的核心抽象。那么 RDD 为什么会产生呢&#xff1f; ​ Hadoop的MapReduce是一种基于数据集的工作模式&#xff0c;面向数据&#xff0c;这种工作模式一般是从…

Python_数据容器_集合set

一、集合set的定义 考虑使用集合的场景&#xff0c;通过已经学习的列表、元组、字符串三个数据容器特性来分析&#xff1a; 列表可以修改、支持重复元素且有序 元组、字符串、不可修改、支持重复元素且有序 局限就在于&#xff1a;它们支持重复元素 集合定义语法&#xff1…

KubeVirt with DPDK

发布于2022-11-25 15:52:32阅读 1020 Kubernetes优秀的架构设计&#xff0c;借助multus cni intel userspace cni 可以屏蔽了DPDK底层的复杂&#xff0c;让KubeVirt 支持DPDK变得比较容易。 因为 e2e验证 等原因&#xff0c;KubeVirt社区至今未加入对DPDK支持&#xff0c;本篇…

有用的CSS代码块

文章目录调试 DOM 元素的 border通用的网页样式调试 DOM 元素的 border 显示所有DOM元素的border&#xff0c;方便调试网页元素的相对布局。 * {outline: auto; }如何用javascript设置某个网页的style(复制以下代码到浏览器控制台执行即可)&#xff1f; // wuyujin1997 var …

PIC单片机5——串口 中断

//10M晶振 波特率9600 BRG8位波特率发生器 异步模式 #include "p18f458.h" #include "mydelay.h" #pragma config OSCHS,WDTOFF,LVPOFF,DEBUGON void PIC18F_High_isr(void);/*中断服务函数声明*/ void PIC18F_Low_isr(void); void usart_tx(unsigned ch…

基于javaweb房屋租赁管理系统的设计与实现

摘要 当今社会不管房屋出租、出售买卖是必不可少的&#xff0c;人们不管走到哪里都需要有一个温馨的家&#xff0c;有一个落脚之地&#xff0c;所以房源出租市场也是非常火爆&#xff01;不管是房源出租公司或者是个人都需要一套完整的管理系统来掌握整个市场信息。针对这一需求…

观察者模式在spring中的应用

作者&#xff1a;王子源 1 观察者模式简介 1.1 定义 指多个对象间存在一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式&#xff0c;它是对象行为型模式。 …