实现一个简单的循环神经网络(RNN)及其基于时间的反向传播(BPTT)算法。该RNN将用于处理序列数据,通过隐藏状态捕捉时序依赖关系。 网络结构包含: 1. 输入层 2. 隐藏层(使用tanh激活函数) 3. 输出层(线性输出)
输入描述:
需要实现SimpleRNN类,包含以下方法:1. `__init__(self, input_size, hidden_size, output_size)`:- input_size:输入维度- hidden_size:隐藏层神经元数量- output_size:输出维度2. `forward(self, x)`:- x:输入序列- 返回:预测输出序列3. `backward(self, x, y, learning_rate)`:- x:输入序列- y:目标序列- learning_rate:学习率


输出描述:
forward方法返回一个numpy数组,表示网络对输入序列的预测结果。
示例1

输入

[[1], [2], [3], [4]]
[[2], [3], [4], [5]]

输出

[[[-0.00023671]]

 [[-0.0004766 ]]

 [[-0.00071622]]

 [[-0.00095562]]]

备注:
1.对应的输入、输出已给出,您只用实现核心功能函数即可。2.支持numpy、scipy、pandas、scikit-learn库。
加载中...