基于LSTM神经网络的股票预测(Python+pytorch) |
您所在的位置:网站首页 › python实现股票预测 › 基于LSTM神经网络的股票预测(Python+pytorch) |
👨🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥a 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭:行百里者,半于九十。 📋📋📋本文目录如下:🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Python代码实现 💥1 概述 为了解决循环神经网络存在的梯度消失等问题,专家学者经过研究提出了长短期记忆(Long-Short Term Memory , LSTM )神经网络。 LSTM 神经网络从本质上来说是一种特殊的循环神经网络,能够用来处理长期依赖问题。经过大量的研究结论证明 LSTM 神经网络已经解决了循环神经网络无法解决的许多问题,在时间序列预测问题上获得了更进一步的成功 [54] 。 LSTM 神经网络增加了一个信息存储记忆单元,可以维持一个持续信息流,使得梯度不会消失或爆炸。同时构造了遗忘门(Forget Gate ),输入门( Input Gate ),输出门( Output Gate )分别对该记忆单元进行控制。这三个门就像滤波器一样,遗忘门控制记忆单元状态信息的舍弃与保留,输入门更新记忆单元状态,输出门控制 LSTM 单元输出。 LSTM 神经网络拥有着与循环神经网络相似的结构,不同之处在于它是通过内部的各个模块协同工作的[55] 。 LSTM 神经网络结构图如下。📚2 运行结果 # 归一化,便与训练 train_data_numpy = np.array(train_data) train_mean = np.mean(train_data_numpy) train_std = np.std(train_data_numpy) train_data_numpy = (train_data_numpy - train_mean) / train_std train_data_tensor = torch.Tensor(train_data_numpy) # 创建 dataloader train_set = TrainSet(train_data_tensor) train_loader = DataLoader(train_set, batch_size=10, shuffle=True) for i in range(DAYS_BEFORE, len(all_series)): x = all_series[i - DAYS_BEFORE:i] # 将 x 填充到 (bs, ts, is) 中的 timesteps x = torch.unsqueeze(torch.unsqueeze(x, dim=0), dim=2) if torch.cuda.is_available(): x = x.cuda() y = rnn(x) if i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |