首页 > 编程语言 >吴恩达深度学习笔记(4)---加速神经网络训练速度的优化算法

吴恩达深度学习笔记(4)---加速神经网络训练速度的优化算法

时间:2024-10-17 20:51:13浏览次数:10  
标签:学习 吴恩达 训练 梯度 样本 神经网络 下降 --- 算法

机器学习的应用是一个高度依赖经验,不断重复的过程,需要训练很多模型才能找到一个确实好用的。

小批量梯度下降算法:

矢量化可以有效计算m个算例而不需要for循环,因此我们需要将所有的训练样例放入巨型矩阵中。但是当数据量超大时,计算时间仍需很久,可以考虑将训练集分为微小的训练集,即小批量训练集。

对于一个小的训练集进行下图计算,也叫做训练集的一次遍历。

梯度下降过程中,代价函数是不断下降的,但是小批量的代价函数趋势是下降,过程中有噪声。

设置一个批量的参数,极端情况是一个小训练集的样本是所有样本,这种情况下,每次需要遍历全部的样本,另一个极端情况是一个样本一个集合(随机梯度下降),如下图,一个下降步长大,另一个随机噪声很大,虽然可以通过小的学习率改善,但是一般很难收敛到最低点,而是在最低点周围波动,同时失去了可以利用向量加速运算的机会

因此参数要取合适值

  • 可以利用向量加速运算
  • 不必每次遍历全部的样本再进行梯度下降

参数的选择

  • 当样本数小于2000时,不需要用
  • 其他情况下可以设置2的幂次,常见的为:64、128、256、512

指数加权(滑动)平均(基本理论):

指数加权平均的函数:

增大,曲线右移,更加平滑。

假设样本有100个,将指数加权平均的函数展开可得下式,所有系数之和等于或接近1。

在算法开始初始值设置为0时,将会导致前几个数字结果不能很好拟合

在算法估算初期用代替

动量(动量梯度下降)

他比标准梯度下降算法更快,算法主要计算梯度的指数加权平均,之后使用这个梯度过更新权重。

梯度下降算法产生的这种上下震荡会减慢梯度下降的速度,并且不能用较大的学习率,否则会超调。因此希望在纵轴上减慢学习速度,在横轴上加快学习速度

上述方法可以让梯度下降的每一步变得平滑,算法对于一些问题有效,但是对于碗型的函数

,由于加速度使速度变快,但是小于1相当于摩檫力,所以球不会无线加速。

RMSprop均方根传递:

我们希望在纵轴方向上学习速度减慢,在横轴方向上保持不变或者加快

适应性矩估计(adam)算法优化:

学习速率衰减:

缓慢的降低学习率,在初始阶段取较大值,步长大,随着学习率下降,步长变小,可以收敛于一点。

局部最优解问题:

如果我们建立一个神经网络,通常梯度为零的点,并不是如左图中的局部最优点,而是右图中的鞍点

标签:学习,吴恩达,训练,梯度,样本,神经网络,下降,---,算法
From: https://blog.csdn.net/weixin_43899239/article/details/142961891

相关文章

  • Java-类与对象
    一、面向对象在了解类与对象前,我们需要先知道"面向对象"这个词的概念:在Java语言中,我们的主要思想就是"面向对象",而在之前我们所学习的C语言中大部分时候的思想是"面向过程"。那么什么是"面向对象",什么是"面向过程"呢?在之前我们学习C语言,想要实现一个操作时,里面可能会有很多......
  • Winform控件基础与进阶----DataGridView
    Winform控件基础之封装一个通用的DataGridView操作类1、创建Winform项目2、创建公共控件操作文件夹3、主界面1、控件布局2、提取通用方法3、静态方法类实现4、其他工具类实现1、JsonHelper工具类实现2、TxtOperateHelper工具类实现5、数据模型实现1、创建表结构模型2......
  • 计算机网络基础(2)---网络传输基本流程与Socket编程预备
    个人主页:C++忠实粉丝欢迎点赞......
  • 大厂面试真题-说说jdk1.7和1.8的hashmap的区别以及各自的问题
    JDK1.7和JDK1.8中的HashMap存在显著的区别,并且各自存在一些问题。以下是对两者的详细对比及问题分析:一、区别底层数据结构:JDK1.7:HashMap的底层结构是由数组(也被称为“位桶”)和链表构成。当hash冲突时,不同的key映射到数组的同一位置,则形成链表。JDK1.8:HashMap的底层结构......
  • 【视频讲解】共享单车使用量预测:RNN, LSTM,GRU循环神经网络和传统机器学习
    全文链接:https://tecdat.cn/?p=37899原文出处:拓端数据部落公众号分析师:XuyanReng 随着城市化进程的加速,共享单车作为一种绿色、便捷的出行方式,在城市交通中扮演着日益重要的角色。准确预测共享单车的使用量对于优化资源配置、提高运营效率以及满足用户需求具有关键意义。一......
  • Hopfield 神经网络中能量函数的含义及其变化值 ΔE≤0 的证明
    Hopfield神经网络中能量函数的含义及其变化值\(\DeltaE\leq0\)的证明Ciallo~(∠・ω<)⌒★我是赤川鹤鸣,本期是学习Hopfield神经网络时,遇到能量函数的相关知识时的思考和总结,希望有能帮助到你.Hopfield神经网络中,能量函数的定义如下\[E=-\dfrac{1}{2}\sum_{i......
  • THM-Vulnerability Capstone
    首先收集信息,获取版本号Whatisthenameoftheapplicationrunningonthevulnerablemachine?FuelCMSWhatistheversionnumberofthisapplication?1.4WhatisthenumberoftheCVEthatallowsanattackertoremotelyexecutecodeonthisapplicati......
  • THM-Metasploit
    MetasploitMetasploit:Introductionmsfconsole#主命令行界面history#查看之前输入的命令RHOSTS#目标靶机地址use#命令后跟编号来选择要使用的模块showoptions#查看back#离开setg/unsetg#全局变量Metasploit:ExploitationPortScanning使用以下命令可以查看......
  • mac arm64架构编译错误-- 未定义符号问题
    1.未定义符号:_objc_msgSend$...Undefinedsymbolsforarchitecturearm64:"_objc_msgSend$detachNewThreadSelector:toTarget:withObject:"使用以下命令查看xcode版本xcodebuild-version当xcode14编译的库在xcode13中被链接时,会报这个错。报错位置会打印引用未定义符号......
  • D-Robotics(地瓜机器人)RDK X5闪连(RDK Studio使用教程)
    官方简介RDKStudio下载Step1(SD卡烧写)1.读卡器烧写读卡器+MicroSD卡,具体可参考此链接MicroSD卡烧录2.RDKStudio烧写RDKX5按着boot按钮上电,RDKX5就相当于读卡器,就可以插着闪连口给SD卡烧写镜像根据官方操作,插线上电,进入烧写模式注意:烧写模式......