问题描述
我的模型没有输出我预期的结果。我不太了解 ANN 的方法。在从 https://github.com/albertbup/deep-belief-network 学习如何使用 SuperviseddbnClassification 之后,我决定使用位于 https://raw.githubusercontent.com/Honeson/ANN-qos_qoe/main/QoS/qosqoeNew2 的数据集尝试 SuperviseddbnRegression。在预训练阶段,我得到的误差小于 0.05,但在微调阶段损失高达 1468356。我的输出通常是相同的精确值。我尝试根据此处的解决方案更改学习率,规范日期等,Neural Network Always Produces Same/Similar Outputs for Any Input 但无济于事,我不断从 nan 输出到所有输出相同或在分类问题中的类中。部分代码用于查看我尝试过的内容。
X = df[columns]
Y = df['StartUpDelay'].values
# Splitting data
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.2,random_state=1337)
# Data scaling
min_max_scaler = MinMaxScaler()
X_train = min_max_scaler.fit_transform(X_train)
# Training
regressor = SuperviseddbnRegression(hidden_layers_structure=[100],learning_rate_rbm=0.05,learning_rate=0.1,n_epochs_rbm=20,n_iter_backprop=100,batch_size=16,activation_function='relu')
regressor.fit(X_train,Y_train)
# Test
X_test = min_max_scaler.transform(X_test)
Y_pred = regressor.predict(X_test)
print(Y_pred)
print('Done.\nR-squared: %f\nMSE: %f' % (r2_score(Y_test,Y_pred),mean_squared_error(Y_test,Y_pred)))
我希望得到 Y_pred
,例如 1002,1653,2764,1121,2112,1452,1324,1331,
等,但我宁愿得到 nan,nan,...,nan
或
像 1456,1456,1456
这样的值,或
像 1111,1222,1333,1111,1333
这样的值。
我将感谢详细的帮助,因为我不太了解 ANN。提前致谢。
编辑 1:我再次将学习率从 0.01 更改为 0.00001,我得到了不同的 Y 预测值,但比预期结果大得多。我也得到了荒谬的指标
R 平方:-37862.875097 MSE:56730616135.090736
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)