LSTM调参经验

0、开始训练之前先要做些什么?

在开始调参之前,需要确定方向,所谓方向就是确定了之后,在调参过程中不再更改

1、根据任务需求,结合数据,确定网络结构。

例如对于RNN而言,你的数据是变长还是非变长;输入输出对应关系是many2one还是many2many等等,更多结构参考如下

 

非RNN的普通过程,从固定尺寸的输入到固定尺寸的输出(比如图像分类)
输出是序列(例如图像标注:输入是一张图像,输出是单词的序列)
输入是序列(例如情绪分析:输入是一个句子,输出是对句子属于正面还是负面情绪的分类)
输入输出都是序列(比如机器翻译:RNN输入一个英文句子输出一个法文句子)
同步的输入输出序列(比如视频分类中,我们将对视频的每一帧都打标签)

2、确定训练集、验证集和测试集,并尽可能的确保它们来自相同的分布,并且训练集与测试集的划分通常是7:3,然后在训练集中在进行验证集的划分,验证集的划分可以是交叉验证,也可以是固定比例。

一旦确定了数据集的划分,就能够专注于提高算法的性能。如果能够保证三者来自相同的分布,对于后续的问题定位也会有着极大的意义。

例如,某个模型在训练集上效果很好࿰

  • 6
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我无法打开你提供的引用链接,因此无法提供关于LSTM的Matlab指南。但是,通常来说,LSTM模型需要考虑以下几个方面: 1. 网络结构:包括隐含层的数目和每层的神经元数目。增加隐含层和神经元数目可以提高模型的容量,但也可能导致过拟合问题。 2. 学习率:学习率决定了模型在每次迭代中更新权重的步长。较大的学习率可以加快收敛速度,但可能导致不稳定性。较小的学习率可以提高模型的稳定性,但可能收敛较慢。 3. 优化算法:LSTM模型通常使用Adam、RMSprop或者SGD等优化算法来更新权重。不同的优化算法在不同的问题上可能表现不同,因此需要进行实验比较。 4. 正则化:可以通过添加L1或L2正则化项来控制模型的复杂度,防止过拟合问题。此外,还可以使用dropout技术来随机舍弃一部分神经元以减少过拟合。 5. 批量大小:批量大小决定了每次迭代中使用的训练样本数量。较大的批量大小可以提高计算效率,但可能导致模型收敛到次优解。较小的批量大小可以提高模型的泛化能力,但也会增加计算开销。 为了LSTM模型,你可以尝试使用交叉验证来评估不同数组合下模型的性能,并选择表现最好的数组合。此外,还可以尝试使用网格搜索等自动工具来寻找最佳数。记住,是一个迭代的过程,需要不断尝试和数以找到最优的模型配置。如果你需要更具体的指导,请提供更多关于你的问题和数据集的信息,我将尽力帮助你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值