qq_41660047
2018-10-31 08:03
采纳率: 34.2%
浏览 9.3k

BP神经网络模型,如果要预测数据,是每一个数据都迭代N次吗?

比如,以下例子:
某地区20年公路运量数据
年份 人口数量 机动车数量 公路面积 公路客运量 公路货运量
1990 20.55 0.6 0.09 5126 1237
1991 22.44 0.75 0.11 6217 1379
1992 25.37 0.85 0.11 7730 1385
1993 27.13 0.90 0.14 9145 1399
1994 29.45 1.05 0.20 10460 1663
1995 30.1 1.35 0.23 11387 1714
1996 30.96 1.45 0.23 12353 1834
1997 34.06 1.60 0.32 15750 4322
1998 36.42 1.70 0.32 18304 8132
1999 38.09 1.85 0.34 19836 8936
2000 39.13 2.15 0.36 21024 11099
2001 39.99 2.20 0.36 19490 11203
2002 41.93 2.25 0.38 20433 10524
2003 44.59 2.35 0.49 22598 11115

2004 47.30 2.50 0.56 ? ?
2005 52.89 2.60 0.59 ? ?
题目的要求要我们预测2004和2005两年的公路客运量与公路货运量。

首先,我现在已经清楚了BP神经网络的原理,包括正向传播反向传播激励函数等等,我自己也编写了一套BP神经网络的运算程序。现在我只想搞清楚一个简单的问题,对于这个实例,具体的运算步骤,是否是将人口数量、机动车数量以及公路面积作为3个输入层节点,隐藏层节点数就自己定了,输出层节点是公路客运量和公路货运量2个节点。那么我如果设置学习迭代次数为1000次。步骤是否是:对1990年的数据进行迭代1000次的学习,然后再对1991年的数据进行迭代1000次学习,对1991年初始权重值和偏值为1990年迭代1000次后最终更新的各节点的权重值和偏值,然后依次往下,即每年都会迭代1000次学习。
各位一定看懂我的问题,不要答非所问

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • blownewbee 2018-10-31 08:55
    已采纳

    具体要看你的程序,如果你不使用batch,那么通常的做法是把当前的权重在所有数据之上跑一次(正向传播),然后算出梯度,根据梯度修正每个隐层的权重(反向传播),这个整个的过程算一个迭代。
    你说的每年的数据做一个迭代,实际上算迁移学习了,一些情况下,比如又要不断学习,又要部署,那么其实就是用你的类似的思路去计算。

    点赞 评论

相关推荐 更多相似问题