【学习记录】《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

相关文章
|
1天前
|
人工智能 编解码 搜索推荐
深度测评-主动式智能导购 AI 助手构建的实现与优化
本文深度测评某平台提供的函数计算应用模板,用于快速搭建集成智能导购的电商网站。通过简洁直观的创建与部署流程,用户只需填写API Key等基本信息,即可完成配置。智能导购AI助手能通过多轮对话引导顾客明确需求,精准推荐商品,提升购物体验和转化率。系统支持自定义设置,具备高效、个性化、灵活扩展的特点。未来可引入更多维度推荐、机器学习及语音识别技术,进一步优化导购效果。
46 15
深度测评-主动式智能导购 AI 助手构建的实现与优化
|
3天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
42 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
1天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a实现时间序列预测,采用CNN-GRU-SAM网络结构。卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征。完整代码含中文注释和操作视频,运行效果无水印展示。算法通过数据归一化、种群初始化、适应度计算、个体更新等步骤优化网络参数,最终输出预测结果。适用于金融市场、气象预报等领域。
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
|
8天前
|
机器学习/深度学习 数据采集 人工智能
AI在用户行为分析中的应用:实现精准洞察与决策优化
AI在用户行为分析中的应用:实现精准洞察与决策优化
54 15
|
6天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
9天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
|
3天前
|
传感器 算法
基于GA遗传优化的WSN网络最优节点部署算法matlab仿真
本项目基于遗传算法(GA)优化无线传感器网络(WSN)的节点部署,旨在通过最少的节点数量实现最大覆盖。使用MATLAB2022A进行仿真,展示了不同初始节点数量(15、25、40)下的优化结果。核心程序实现了最佳解获取、节点部署绘制及适应度变化曲线展示。遗传算法通过初始化、选择、交叉和变异步骤,逐步优化节点位置配置,最终达到最优覆盖率。
|
3天前
|
算法
基于RRT优化算法的机械臂路径规划和避障matlab仿真
本课题基于RRT优化算法实现机械臂路径规划与避障。通过MATLAB2022a进行仿真,先利用RRT算法计算避障路径,再将路径平滑处理,并转换为机械臂的关节角度序列,确保机械臂在复杂环境中无碰撞移动。系统原理包括随机生成树结构探索空间、直线扩展与障碍物检测等步骤,最终实现高效路径规划。
|
12天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
145 80
|
1天前
|
算法
基于龙格库塔算法的锅炉单相受热管建模与matlab数值仿真
本设计基于龙格库塔算法对锅炉单相受热管进行建模与MATLAB数值仿真,简化为喷水减温器和末级过热器组合,考虑均匀传热及静态烟气处理。使用MATLAB2022A版本运行,展示自编与内置四阶龙格库塔法的精度对比及误差分析。模型涉及热传递和流体动力学原理,适用于优化锅炉效率。