用keras搭建LSTM神经网络的经验

文章强调了神经网络在工作和科研中的重要性,特别是LSTM在网络结构中的应用。作者分享了使用LSTM时的两个关键点:1)数据集的时间连续性和差异性影响模型效果;2)选择合适的步长(input_shape参数)对训练的影响。同时提醒在划分数据集时要保持时间序列的连续性。
摘要由CSDN通过智能技术生成

前言

神经网络作为目前较为流行的一种机器学习模型,在很多领域都发挥着非常重要的作用,个人觉得神经网络也非常重要,无论是你工作还是科研。在工作中可以利用tensorflow等工具快速的搭建一个神经网络模型是一项很必要的技能,在科研中学会使用神经网络模型,熟悉A+B=C的写作套路,会让你写文章贼快。尤其神经网络,其实大部分文章都是这几种常见的网络结构,例如CNN,GNN, GCN, LSTM, RNN等。所以说学会神经网络模型真的是超级无敌重要。

LSTM经验

大家知道LSTM神经网络是处理时间序列的机器学习模型,而且要比RNN要优秀,但是在使用LSTM时要注意什么呢?接下来我就给大家介绍以下自己踩过的坑,因为我主要用的是tensorflow,所以我主要讲的是tensorflow的经验,当然也有一些基础的,供大家参考:
(1)在大家决定用LSTM做预测时,一定要注意数据集和自己的用用场景,当你的数据集里面时间间隔不连续而且数据差别太大的时候,LSTM网络的效果可能不是很好,大家可以看一下下面的数据
在这里插入图片描述
第三列和第四列代表经纬度,当你像预测这些经纬度的时候,用这个数据集就不太好,你设置的步长在稍微大一点(有的同学可能认为,步长越长,数据越多,精度越高)但是数据差别大的时候,就会造成数据质量太差。下面这个数据集的预测效果就会不错,大家可以自行对比一下:
在这里插入图片描述

(2)也就是要适当选取步长,也就是LSTM网络层中的input_shape参数的值
(3) 由于LSTM处理的数据时时间序列,所以不建议大家在划分数据集的时候直接采用python自带的包,因为训练LSTM的时候要保证数据时间的连续性,比如有100个数据,你可以把前90个做训练集,后10个做测试,但是你不能把中间90个做训练,前面5个和后面5个做测试。

结语

目前,本人遇到的坑就这三个,在大家实际应用的时候一定要根据应用场景和数据考虑考虑自己到底该用什么模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值