所以我有一个大约140,000个样本的数据集,有5个输入,汽车的速度,汽车的加速度,用雷达收集的领先汽车的速度,领先汽车的距离和领先汽车的加速度。输出范围为0到1,0表示最大制动,1表示最大加速度。
我是神经网络的初学者,所以我在优化我的模型以获得此数据的最佳精度/损失时遇到了困难。我一直在尝试改变优化器,激活函数,隐藏层的数量,层中的节点数量,等等,但随着时间的推移,似乎没有什么能降低损失。
这是我目前的模型:
opt = keras.optimizers.Adam(lr=0.001, decay=1e-6)
model = Sequential()
model.add(Dense(5, activation="tanh", input_shape=(x_train.shape[1:])))
for i in range(40):
model.add(Dense(60, activation="relu"))
model.add(Dense(1))
我现在并不太担心过度拟合我的数据,因为我可以在以后的工作中工作,我只是试图基本上记住数据,看看我可以得到多低的损失,只是看看我是否可以改善它。并对经过训练的数据进行预测,以确保它可以返回正确的输出。然而,我得到的验证损失最低的是0.015
,它在我的测试中肯定不会返回当前的输出,它大约有90%的准确率。
我有什么地方做错了吗?我应该增加模型大小,还是减小模型大小?我尝试过的似乎都不起作用。我还确保独立地标准化我的5个输入和1个输出。在几个时代之后,它似乎永远不会学到任何东西。
如果有人决定在这个非常具体的问题上帮助我,谢谢。
发布于 2019-06-04 05:23:25
我很想帮忙,但是那里没有太多的信息。
首先,网络的目的是什么?很难说你在试图减少的损失。你的损失函数是什么?你的标签是什么?这似乎是一个经典的强化学习问题,而不是传统的监督学习问题。数据是如何组织的?我猜他们是带着某种分数的“跑动”?
一个毯子的东西,那可能太多层了。
大多数时候,网络最大的改进来自于清理你的数据(我们假设这是很好的)和处理你的损失函数。最好从一个简单的模型开始,然后找出是否需要更多模型。
这也是强化学习,但它是一个很好的例子https://github.com/lexfridman/deeptraffic
https://stackoverflow.com/questions/56434404
复制相似问题