https://www.bilibili.com/video/BV1B7411L7Qt?spm_id_from=333.999.0.0
CNN注意事项
tf.keras.layers.Conv1D()
输入数据结构一定要是(数据条数,每条数据的个数,1)
法一
X = np.expand_dims(X, axis=2)
# 给数据增加一个维度,使数据和网络结构匹配
法二
tensorflow.keras.layers.Conv2D()
输入数据结构一定要是(数据条数,每条数据的长度,每条数据的宽度,1)
x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)
# 给数据增加一个维度,使数据和网络结构匹配
RNN注意事项
Embedding编码
使x_train符合Embedding输入要求:[送入样本数, 循环核时间展开步数] ,
相比于one_hot 形式,神经网络模型增加了一层Embedding(x,y) 层,先对输入数据进行编码,这里的x 表示词汇量,这里的y 表示每个单词用2 位数值编码
one_hot编码
使x_train符合SimpleRNN输入要求:[送入样本数, 循环核时间展开步数, 每个时间步输入特征个数]。
输入60个开盘价,预测出第61天的开盘价,循环核时间展开步数为60;
每个时间步送入的特征是某一天的开盘价,只有1个数据,故每个时间步输入特征个数为1
例如: x_train = np.reshape(x_train, (x_train.shape[0], 60, 1))
注意:
- 每个循环核有多个记忆体
- 记忆体的个数可以改变记忆容量
- 记忆体的个数可以随便设定