神经网络的预测结果一样,请问我应该怎么改进?

  统计/机器学习 回归分析 数据竞赛 人工神经网络 TensorFlow    浏览次数:3153        分享
1

我在预测自行车的练习赛中,定义了这样的一个神经网络,但是我预测的结果都是一样的,请问我该怎么改进!谢谢指导!

net = torch.nn.Sequential(
    torch.nn.Linear(7,100),    # 输入层到隐藏层
    torch.nn.Sigmoid(),
    torch.nn.Linear(100,1),    # 隐藏层到输出层
)
optimizer = torch.optim.Adam(net.parameters(),lr=0.02)
loss_func = torch.nn.MSELoss()
下面是训练过程!
for i in range(60):
    prediction = net(train)
    loss = loss_func(prediction,y_train)
    # 梯度归零
    optimizer.zero_grad()
    # 计算梯度
    loss.backward()
    # 更新结点
    optimizer.step()
    if i % 20 == 0:
        print(loss)

本应该输出的结果:

tensor([15., 48., 21., 11., 39., 12., 11., 67., 77., 2.])

Out

    tensor([[51.4017],

            [49.5164],

            [48.2066],

            [49.3453],

            [49.4258],

            [48.9165],

            [48.8166],

            [49.5939],

            [50.7129],

            [49.8309]], grad_fn=)

 

liuyang   2019-07-25 08:11



   1个回答 
0

我感觉你的预测值就是平均值,没有去进行收敛的。

问题可能是

1)你的输入值没有进行标准化处理

2)你的学习率设置不当,你可以减小试试

SofaSofa数据科学社区DS面试题库 DS面经

whs_ita   2019-07-25 17:07

谢谢了,我发现神经网络在处理这种问题时,效果没有机器学习的回归模型的好。 - liuyang   2019-07-25 17:12


  相关讨论

请教一下:关于融合stack

有大佬可以分享一下竞赛的TOP解决方案吗

模型融合问题

时下最流行的模型

如何在本地判断算法效果得到优化?

随机森林中的predict_proba

用投票融合(VotingClassifier)的过程中出现问题,求帮助?

大数据建模、分析、挖掘技术应用研修

tensorflow 训练的时候输出nan

BatchNormalization

  随便看看

print里的"%.2f"是什么意思?

如何复制一个pandas DataFrame

随机森林(random forest)和支持向量机(SVM)各有什么优劣

pandas把一列日期转换为星期

点击率的95%置信区间该怎么算?