首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带keras的多维回归

带keras的多维回归
EN

Stack Overflow用户
提问于 2018-06-25 20:40:28
回答 1查看 1.2K关注 0票数 0

我想使用keras根据n个输入来预测x,y坐标。我不清楚为什么我的网络在大约5个时代后不会改善。如果我的输入变量在5-14(x)和5-11(y)之间变化,我不明白为什么会有x=2.9和y=2.1这样的网络值。我怎样才能得到更好的预测?

数据:

代码语言:javascript
运行
复制
input:
[[-92.    0.  -83.    0.    0.    0. ]
[  0.    0.    0.  -82.    0.    0. ]
...
[-65.5 -82.    0.    0.    0.    0. ]]
output:
[[ 5  5]
[ 5  5]
...
[11 14]]
Results:
Predicted:  [4.396636 4.019871]  label:  [11 14]  Difference:  16.583492755889893
Predicted:  [2.9728146 2.1784768]  label:  [11 14]  Difference:  19.848708629608154
Predicted:  [3.9281645 4.2113876]  label:  [11 14]  Difference:  16.860447883605957

网络:

代码语言:javascript
运行
复制
from keras.models import Sequential
from keras.layers import *

model = Sequential()
model.add(Dense(16, input_dim = ipad_test_numpy_input.shape[1], activation='linear'))
model.add(Dense(8, activation='linear'))
model.add(Dense(2, activation='linear'))
model.compile(loss='mean_squared_error', optimizer='adam')

model.fit(ipad_numpy_input, ipad_numpy_labels, epochs=50, batch_size=5)
score = model.evaluate(ipad_test_numpy_input, ipad_test_numpy_labels, batch_size=5)
EN

回答 1

Stack Overflow用户

发布于 2018-06-25 21:05:40

尝试将前两层上的激活更改为

代码语言:javascript
运行
复制
activation='relu'

看看这是否会通过引入非线性来改善事情。您目前只是在执行一系列线性变换,因此您并没有以任何方式真正利用神经网络的力量。还有许多其他原因导致事情可能不像您希望的那样工作,但它们有点超出了堆栈溢出答案的范围。如果你有一个足够大的数据集,那么正则化将是一个好的开始阅读的第一件事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51023739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档