【学习记录】《DeepLearning.ai》第六课:优化算法(Optimization algorithms)

简介: 2021/9/7

第六课:优化算法(Optimization algorithms)

6.1 Mini-batch梯度下降

image

上图表示了整个Mini-batcha梯度下降的过程。

首先对$X^{\{t\}}$执行前项传播,$X^{\{t\}}$表示的是对于整个训练集之后的样本值,比如共有5000000个样本,每1000个划分一次,则$X^{\{t\}}$表示第t个1000个样本的x值,维度为$(n_x,1000)$,注意与X$(n_x,m)$维度的区别.$Y^{\{t\}}$同理,维度为:$(1,1000)$,注意与Y$(1,1000)$维度的区别。

mini-batch与batch区别:使用batch梯度下降法,一次遍历训练集只能做一次梯度下降,而mini-batch可以做5000个梯度下降(以本题为例)。正常来说需要多次遍历训练集,需要另外一层for循环,直到最后能收敛到一个合适的精度。


6.2 理解mini-batch梯度下降法

image

第二个图没看懂emmmm

image

如上图,如果考虑两种极端的情况:
1.mini-batch的大小等于 𝑚,这个时候也就是batch梯度下降法;

2.mini-batch的大小等于1,这个时候叫随机梯度下降。

batch梯度下降法的缺点:数据量太大,处理速度慢

随机梯度下降的缺点:因为没有向量化的过程,所以速度也会很慢。

样本集较小没必要采取mini-batch梯度下降法。

因此通常在实践中对于mini-batch的大小通常需要选择合适的尺寸,使得学习率达到最高。

上个视频的例子中mini-batch的大小为1000。


6.3 指数加权平均数(Exponentially weighted averages)

image

上图蓝色的点绘制的是日期和温度的关系,

作出如下定义:

$$ v_t=\beta v_{t-1}+(1-\beta)\theta_t $$

其中$v_t$表示第t天的加权平均数,$\theta_t$​表示第t天的温度值。$\beta$​表示加权参数。

$\beta$的值取决所画出的图像平坦程度。如上图所示。$\beta$越大,指数加权平均值适应越缓慢,图像越平缓。


6.4 理解指数加权平均数(Understanding exponentially weighted averages)

个人理解:第t天的温度是计算之前多少天温度之和的平均值的时候,也就是离第t天越远的之前天数对于第t天的温度影响越小,而这个影响因此,需要令

$$ \beta^{(\frac{1}{1-\beta})}=\frac{1}{e} $$

比如$\beta=0.9$​​​,则$0.9^{10}=\frac{1}{e}$​​,也就是我们计算之前10天的平均值表示当天的温度

若$\beta=0.98$​,则$0.98^{50}=\frac{1}{e}$​​,也就是我们计算之前50天的平均值表示当天的温度.

这就是个人理解的指数加权平均数。


6.5 指数加权平均的偏差修正(Bias correction in exponentially weighted averages)

偏差修正是指在估测初期,令

$$ v_t=\frac{v_t}{1-\beta^t} $$

随着t逐渐增大,$\beta^t$​逐渐变为0,也就和之前温度估测一样了。也就是第t天的温度为$v_t$。

但是吴老师说在大多数时候都不执行偏差修正,除非我们关心初期的计算结果,就需要使用偏差修正来进行计算。


6.6 动量梯度下降法(Gradient descent with Momentum)

动量梯度下降法(Momentum)通常比梯度下降法要好,过程如下:

image

使用了指数加权平均,吴老师说在有些Momentum算法中忽略了$1-\beta$这一项,但是通常加上这一项比较好,如果忽略这一项,相应的学习率也要随之改变,通常设置$\beta$​为0.9,如上图所示,而通常不需要偏差修正,也就是图中的蓝色公式。


6.7 RMSprop

image

和之前的Momentum算法相似,上图给出了算法的具体公式(原理没怎么搞懂。。。)。

注意两点,为了和之后的$\beta$区分,这里用了$\beta_2$来表示,同时为了保证分母不为0,可以加上一个小参数$\xi$,通常$\xi=10^{-8}$。这也是加快梯度运算的算法之一。


6.8 Adam优化算法(Adam optimization algorithm)

该算法是Momentum算法和RMSprop算法的结合,如下图所示:

image

关于一些参数的选择参考下图:

image


6.9 学习率衰减(Learning rate decay)

慢慢减少$\alpha$的本质在于,在学习初期,你能承受较大的步伐,但当开始收敛的时候,小一些的学习率能让你步伐小一些。

image

image

上图给出了$\alpha$的选择公式,其中epoch-num代表迭代次数。


6.10 局部最优的问题(The problem of local optima)

PASS

相关文章
|
16天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于生物地理算法的MLP多层感知机优化matlab仿真
本程序基于生物地理算法(BBO)优化MLP多层感知机,通过MATLAB2022A实现随机数据点的趋势预测,并输出优化收敛曲线。BBO模拟物种在地理空间上的迁移、竞争与适应过程,以优化MLP的权重和偏置参数,提升预测性能。完整程序无水印,适用于机器学习和数据预测任务。
|
6天前
|
人工智能 Docker 容器
AI思维导图工具跨领域学习的好帮手
AI思维导图工具跨领域学习的好帮手
|
9天前
|
算法 安全 数据安全/隐私保护
基于BBO生物地理优化的三维路径规划算法MATLAB仿真
本程序基于BBO生物地理优化算法,实现三维空间路径规划的MATLAB仿真(测试版本:MATLAB2022A)。通过起点与终点坐标输入,算法可生成避障最优路径,并输出优化收敛曲线。BBO算法将路径视为栖息地,利用迁移和变异操作迭代寻优。适应度函数综合路径长度与障碍物距离,确保路径最短且安全。程序运行结果完整、无水印,适用于科研与教学场景。
|
8天前
|
算法 数据可视化 调度
基于NSGAII的的柔性作业调度优化算法MATLAB仿真,仿真输出甘特图
本程序基于NSGA-II算法实现柔性作业调度优化,适用于多目标优化场景(如最小化完工时间、延期、机器负载及能耗)。核心代码完成任务分配与甘特图绘制,支持MATLAB 2022A运行。算法通过初始化种群、遗传操作和选择策略迭代优化调度方案,最终输出包含完工时间、延期、机器负载和能耗等关键指标的可视化结果,为制造业生产计划提供科学依据。
|
10天前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
13天前
|
机器学习/深度学习 资源调度 算法
基于入侵野草算法的KNN分类优化matlab仿真
本程序基于入侵野草算法(IWO)优化KNN分类器,通过模拟自然界中野草的扩散与竞争过程,寻找最优特征组合和超参数。核心步骤包括初始化、繁殖、变异和选择,以提升KNN分类效果。程序在MATLAB2022A上运行,展示了优化后的分类性能。该方法适用于高维数据和复杂分类任务,显著提高了分类准确性。
|
11天前
|
人工智能
一场静默的教育革命正在发生:AI如何重塑学习与教学
生成式人工智能(Generative AI)正深刻改变教育领域,从学生到职场人士,AI逐渐成为必备技能。文章探讨了AI在教育中的应用与挑战,如认知卸载现象及批判性思维能力下降,并提出通过GAI认证提升AI技能的标准化途径。未来教育将形成“师、机、生”三元结构,强调人与AI协作共进。掌握AI技术不仅是职业发展的关键,更是教育革命中的核心推动力。
|
4天前
|
机器学习/深度学习 数据采集 算法
基于WOA鲸鱼优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本内容介绍了一种基于CNN-LSTM-SAM网络与鲸鱼优化算法(WOA)的时间序列预测方法。算法运行于Matlab2022a,完整程序无水印并附带中文注释及操作视频。核心流程包括数据归一化、种群初始化、适应度计算及参数更新,最终输出最优网络参数完成预测。CNN层提取局部特征,LSTM层捕捉长期依赖关系,自注意力机制聚焦全局特性,全连接层整合特征输出结果,适用于复杂非线性时间序列预测任务。
|
6天前
|
算法 数据安全/隐私保护 异构计算
基于LSB最低有效位的音频水印嵌入提取算法FPGA实现,包含testbench和MATLAB对比
本项目展示了一种基于FPGA的音频水印算法,采用LSB(最低有效位)技术实现版权保护与数据追踪功能。使用Vivado2019.2和Matlab2022a开发,完整代码含中文注释及操作视频。算法通过修改音频采样点的最低有效位嵌入水印,人耳难以察觉变化。然而,面对滤波或压缩等攻击时,水印提取可能受影响。该项目运行效果无水印干扰,适合实时应用场景,核心逻辑简单高效,时间复杂度低。
|
6天前
|
算法 数据安全/隐私保护
基于GA遗传算法的拱桥静载试验车辆最优布载matlab仿真
本程序基于遗传算法(GA)实现拱桥静载试验车辆最优布载的MATLAB仿真,旨在自动化确定车辆位置以满足加载效率要求(0.95≤ηq≤1.05),目标是使ηq尽量接近1,同时减少车辆数量和布载耗时。程序在MATLAB 2022A版本下运行,展示了工况1至工况3的测试结果。通过优化模型,综合考虑车辆重量、位置、类型及车道占用等因素,确保桥梁关键部位承受最大荷载,从而有效评估桥梁性能。核心代码实现了迭代优化过程,并输出最优布载方案及相关参数。

热门文章

最新文章