发布时间:2024-08-28 15:01
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第六讲第14节的内容,实现GRU型循环神经网络输入60天的价格预测第61天的价格。
RNN这部分的基础知识还是比较复杂的,特别是计算过程,需要深入理解才能掌握数据处理和网络搭建能力。
门控循环单元(Gated Recurrent Unit,GRU)由 Cho 等人于 2014 年提出,是 LSTM 的一种变体,将 LSTM 中遗忘门与输入门合二为一为更新门,模型比 LSTM 模型更简单。
Kyunghyun Cho,Bart van Merrienboer,Caglar Gulcehre,Dzmitry Bahdanau,Fethi Bougares,Holger Schwenk,Yoshua Bengio.Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation.Computer ence, 2014.
与DL with python(20)——tensorflow实现RNN股票预测中的RNN实现代码相比,只有第一步和第三步两处改动,因此在阅读本文之前请先阅读上述文章。
第一步导入相关模块,第三行增加了GRU层的导入。
## 第一步,导入相关模块
import numpy as np
import tensorflow as tf
from tensorflow.keras.layers import Dropout, Dense, GRU
import matplotlib.pyplot as plt
import os
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error, mean_absolute_error
import math
第三步搭建网络结构用GRU层替换RNN层,构建了GRU网络。
## 第三步,搭建网络结构
model = tf.keras.Sequential([
GRU(80, return_sequences=True),
Dropout(0.2),
GRU(100),
Dropout(0.2),
Dense(1)
])
将DL with python(20)——tensorflow实现RNN股票预测中的以上两步代码替换,就可以直接运行GRU进行股票预测,运行结果如下。
loss曲线如下所示:
最后通过三种误差来评价预测结果,误差越小,表示预测越准。
均方误差: 1514.887536
均方根误差: 38.921556
平均绝对误差: 33.726406
在Jetson Nano上学习ROS的记录(版本Ubuntu18.04,课程来源赵虚左老师的《ROS理论与实践》)第十章-第一节 TF坐标变换(内含PyKDL 和PyInit__tf2功能缺失等解决)
2020最新手机百度云不限速教程,下载速度10M/S,比会员还快
二、java版 SpringCloud分布式微服务云架构之Java 开发环境配置
TensorFlow深度学习应用开发实战(深度学习简介和开发环境搭建)
常用类学习(String类和StringBuffer类详解)
Elasticsearch:使用 Elasticsearch Java client 8.0 来连接带有 HTTPS 的集群
python箭头函数_JavaScript 箭头函数究竟是什么?
Vue3.0入门 + Vant3.0移动端实践(三)使用Cordova打包Android App
vue watch报错:Error in callback for watcher “xxx“: “TypeError: Cannot read properties of undefined ...