MATLAB神经网络---trainingOptions

 trainingOptions用于设置神经网络的训练策略以及超参数

options = trainingOptions('adam', ...       % Adam 梯度下降算法
    'MaxEpochs', MaxEpochs, ...                  % 最大训练次数
    'MiniBatchSize',miniBatchSize, ...           %运行多次次更新一次权重
    'InitialLearnRate', InitialLearnRate, ...           % 初始学习率
    'LearnRateSchedule', 'piecewise', ...   % 学习率下降 每当经过一定数量的时期时,学习率就会乘以一个系数。
    'LearnRateDropFactor', LearnRateDropFactor, ...         % 学习率下降因子
    'LearnRateDropPeriod', LearnRateDropPeriod, ...         % 经过 DropPeriod 次训练后 学习率为 0.005 * 0.1%     'Shuffle', 'every-epoch', ...           % 每次训练打乱数据集
    'Plots', 'none', ...       % 画出曲线training-progress
    'Verbose', false);                      %如果将其设置为true,则有关训练进度的信息将被打印到命令窗口中。默认值为true。
%%

主要超参数解释

1:优化器。机器学习训练的目的在于更新参数,优化目标函数,常见优化器有SGD,Adagrad,Adadelta,RMSprop,Adam等。
Adam优化器结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点,能够自动调整学习速率,收敛速度更快,在复杂网络中表现更优。

2:最大迭代次数(maxEpochs)∶这是训练过程中的最大迭代次数。可以根据训练误差和验证误差的变化情况来确定合适的值。

3、MiniBatchSize:运行多次次更新一次权重

4、InitialLearnRate学习速率。学习速率决定了每次步进的大小。学习速率太大会导致不收敛,速率太小收敛速度慢。

5、LearnRateDropFactor学习率下降因子:

6、LearnRateDropPeriod:经过 DropPeriod 次训练后 学习率为 0.005 * 0.1

7、‘Plots’:选择参数'training-progress'画出训练曲线;'none'不画出训练曲线

8、'Verbose':如果将其设置为true,则有关训练进度的信息将被打印到命令窗口中。默认值为true。

Adam优化器

结合AdaGrad和RMSProp两种优化算法的优点。对梯度的一阶矩估计(First Moment Estimation,即梯度的均值)和二阶矩估计(Second Moment Estimation,即梯度的未中心化的方差)进行综合考虑,计算出更新步长。


主要包含以下几个显著的优点:

  1. 1、实现简单,计算高效,对内存需求少
  2. 2、参数的更新不受梯度的伸缩变换影响
  3. 3、超参数具有很好的解释性,且通常无需调整或仅需很少的微调
  4. 4、更新的步长能够被限制在大致的范围内(初始学习率)
  5. 5、能自然地实现步长退火过程(自动调整学习率)
  6. 6、很适合应用于大规模的数据及参数的场景
  7. 7、适用于不稳定目标函数
  8. 8、适用于梯度稀疏或梯度存在很大噪声的问题
  9. 综合Adam在很多情况下算作默认工作性能比较优秀的优化器。
  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值