如何在 tflearn 中针对 z = x/(x+y) 编写基本神经网络?

How to write a basic neural network in tflearn for z = x/(x+y)?

作为深度学习领域的新手,在阅读了大量理论之后,我试图了解神经网络如何实际学习,所以我为它提供了简单的数据集,其中输入列为 [[x,x+y ]...] 和输出列 [[x/(x+y)]...] 并使用 tflearn 进行了尝试,但即使经过无数次尝试(2 天),网络也无法将损失降至最低。即使在它最小化之后(在添加 tanh 层之后),网络预测也很遥远。有人可以帮我弄这个吗?下面是代码。

neural_net = tflearn.input_data(shape=[None, 2])

neural_net = tflearn.fully_connected(neural_net, 1, 
activation='linear', bias=True)
neural_net = tflearn.regression(neural_net, optimizer='sgd', 
learning_rate=0.001, loss='mean_square')
# train
model = tflearn.DNN(neural_net,tensorboard_verbose=3)
model.fit(OR, Y_truth, n_epoch=1000, 
snapshot_epoch=False,validation_set=0.1,batch_size=10)
print model.get_weights(neural_net.W)

# prediction
print model.predict([[2,2]])

输出预测为 0.13946463!!

您的网络将无法学习该函数。

网络只有一个神经元。这相当于 ax+by+c 你尝试学习 a,b,c。

您的模型需要更多的非线性。您需要添加更多具有非线性激活的层和神经元,以便模型能够学习您想要的功能。