如何降低Keras顺序模型的损失

我希望能得到一些指导,关于我接下来应该采取哪些步骤来建模一个特定系统。这个系统包含3个独立变量,24个依赖变量,大约21,000行数据。在我的建模尝试中,我无法将准确率提高到50%以上,或者将损失降低到6500以下。我一直在使用以下代码的变体:

EPOCHS = 30#OPTIMIZER = 'adam'#OPTIMIZER = 'adagrad'BATCH_SIZE = 10OUTPUT_UNITS = len(y.columns)print(f'OUTPUT_UNITS: {OUTPUT_UNITS}')model = Sequential()model.add(Dense(8, activation='relu', input_dim=3)) # 3 X参数,已移除eng_speed#model.add(Dense(8, activation='relu', input_dim=4)) # 4 X参数model.add(Dense(32, activation='relu' ))#model.add(Dense(64, activation='relu' ))#model.add(Dense(12, activation='relu' ))model.add(Dense(OUTPUT_UNITS)) # 预测(y)值(标签)的数量model.summary()adadelta = optimizers.Adadelta()adam = optimizers.Adam(lr=0.001)model.compile(optimizer=adadelta, loss='mse', metrics=['accuracy'])#model.compile(optimizer=opt, loss='mse', metrics=['accuracy'])history = model.fit(x=X_train, y=y_train, epochs=EPOCHS, batch_size=BATCH_SIZE)

我尝试过移除和添加层,改变它们的尺寸,使用不同的优化器,调整学习率等。以下两个图表是我通常看到的——它们都很快就变得平坦,然后不再改进:

enter image description here

enter image description here

显然我是新手,如果有人能指导我正确的方向,我将不胜感激:尝试一种方法,阅读一些资料,或其他任何建议。提前感谢。


回答:

根据你的mse损失和regression标签,你处于回归设置中,准确率是无意义的(它只在分类设置中使用);请查看我在当损失为均方误差(MSE)时,Keras中定义准确率的函数是什么?中的回答

鉴于此,原则上绝对没有理由认为6500的损失是“高”的,因此不需要改进…

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注