我有一个输入数组 X,它的形状是(38000,32,1)
; 输出数组 Y 是(38000,1)
, Y 的元素可以是0
或 一个数值,如0.040139
或1.075341
,或其他一些数值等。 X 中的一个典型向量如下所示
我想建立一个模型来基于 X 预测 Y。这是模型,两个卷积层,然后是最大池化,然后是一个卷积层,一个池化,然后是一个全连接层。详细架构如下。
outX = conv_filter(20, 50, strides=1, activation='relu')(inputs)
outX = conv_filter(5, 60, activation='relu')(outX)
outX = MaxPooling1D(2)(outX)
outX = conv_filter(2, 70, activation='relu')(outX)
outX = MaxPooling1D(2)(outX)
outX = Dense(300, activation='relu')(outX)
outX = Flatten()(outX)
predictions = Dense(1,activation='linear')(outX)
model = Model(inputs=[inputs],outputs=predictions)
损失函数是'mean_squared_error'。结果看起来不太好。我能想到的原因之一是输入向量的数值,它往往非常小。它会导致任何数字问题吗?有什么建议可以对它们进行预处理吗?另外,网络架构有什么可以改进的地方吗?任何建议将不胜感激。