【问题标题】:Approximation with keras用 keras 逼近
【发布时间】:2019-05-19 01:49:54
【问题描述】:

我正在尝试使用 keras 模型来近似函数,该模型只有一个隐藏层,无论我做什么 - 我都无法达到必要的结果。

我正在尝试使用以下代码来实现

from __future__ import print_function
from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import Adam

from LABS.ZeroLab import E_Function as dataset5

train_size = 2000

# 2 model and data initializing
(x_train, y_train), (x_test, y_test) = dataset5.load_data(train_size=train_size, show=True)

model = Sequential()

model.add(Dense(50, kernel_initializer='he_uniform', bias_initializer='he_uniform', activation='sigmoid'))

model.add(Dense(1, kernel_initializer='he_uniform', bias_initializer='he_uniform', activation='linear'))

model.compile(optimizer=Adam(), loss='mae', metrics=['mae'])

history = model.fit(x=x_train, y=y_train, batch_size=20, epochs=10000, validation_data=(x_test, y_test), verbose=1)

It's function that loads from dataset5

It's comparison of model prediction with testing data

我尝试用不同的优化器和神经元数量(从 50 到 300)来拟合这个网络,但结果是一样的。

我应该改变什么?

【问题讨论】:

  • 数据集在某处可用吗?
  • 你应该使用标准神经网络吗?数据看起来像一个时间序列,所以我会使用 RNN 或其他东西,但我只是想确定一下。我对它预测数据的中间部分并不感到惊讶,因为这基本上就是它的优化目标
  • @Ian Quah 是的,我应该使用标准神经网络。我试着用 NN 来近似这个函数,它有 2 个隐藏层,结果要好得多。您可以通过以下链接查看它github.com/DanilaEremenko/NeuralNetwork/blob/demo/LABS/…我的朋友使用matlab,他用1个隐藏层和非常小的损失来近似这个函数,使用与NN相同的结构。
  • @sdcbr 你可以在这里看到数据集的可视化i.stack.imgur.com/VX2f5.png

标签: python tensorflow machine-learning keras approximation


【解决方案1】:

我找到了解决方案!主要问题是火车数据。我忘了在拟合之前洗牌 x_train 和 y_train 。 我成功地用 2 个隐藏层逼近它,但我仍然无法用 1 个隐藏层逼近它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2010-12-25
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    相关资源
    最近更新 更多