使用Keras实现回归神经网络时预测值趋近单一值的问题排查
CPFNN转Keras版本后预测效果异常问题
我尝试将CPFNN实现转为Keras版本,但预测效果极差——预测值几乎始终趋近单一数值。无论增加网络层数、神经元数量,还是改用卷积神经网络,情况都未改善。但使用对应模型在同一数据集上训练可得到良好结果。
实现代码
data1_file_path = 'GSE106648_data1.csv' data2_file_path = 'GSE106648_data2.csv' #read in training data train = np.loadtxt(data1_file_path, skiprows=1, delimiter=',') print("Finish read training set") #read in test data test = np.loadtxt(data2_file_path, skiprows=1, delimiter=',') print("Finish read test set") #separate training/testing input features and labels x_train = train[:,1:] y_train = train[:,0].reshape(-1,1) x_test = test[:,1:] y_test = test[:,0].reshape(-1,1) # define base model def baseline_model(): # create model model = Sequential() model.add(Dense(200, input_shape=(x_train.shape[1],),activation='LeakyReLU')) model.add(Dense(1)) # Compile model model.compile(loss='mse', optimizer=tf.keras.optimizers.Adam(learning_rate=0.0001)) return model baseline_model().fit(x_train,y_train,batch_size=20,epochs=500) y_pred = baseline_model().predict(x_test)
结果展示
- 预测结果:

- 损失函数随epoch变化曲线:

内容的提问来源于stack exchange,提问作者Caterina
相关产品推荐
相关产品推荐

