利用BP神经网络进行预测的一些问题

casen_xu 2015-04-12 06:12:20
我编写了一个三层的神经网络模型的demo,当我使用的样本数量只有几个的时候,预测结果大致是在正常范围内的。可是当我使用同样的模型进行大量样本数据的学习和训练后,再进行预测,预测结果大多为 1 。使用的函数是Sigmoid函数。请问这个是为什么?是因为我的三层模型过于简单,进行不了过多的样本数据学习吗?
如果我要对上万个样本进行学习,训练规则,然后进行预测。那么我是不是必须得加大神经网络的隐含层层数和其节点数呢?加到什么数量比较合适?
PS:每一个样本向量都是 9 维的,而且所有样本数据都是0~1之间的含有6个左右小数位的小数,差别不是很大。需要预测的结果是输出是 1 维的,同样是0~1之间的含有6位左右小数位的小数。
求解答,多谢。
...全文
711 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
casen_xu 2015-04-13
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
实际上神经网络最初的“数据是一个因果矩阵”的假设都是刻意人为的,因此人为地胡乱清洗数据往往让结果面目全非。 不知道你的数据设计,也就无法理解你的问题。
我的矩阵中的数据来自两幅图像,每个数字都是图像的像元值。目的是对图像的演变进行学习训练,然后进行预测。
casen_xu 2015-04-13
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
实际上神经网络最初的“数据是一个因果矩阵”的假设都是刻意人为的,因此人为地胡乱清洗数据往往让结果面目全非。 不知道你的数据设计,也就无法理解你的问题。
我的数据就是一个矩阵,矩阵的每一行是一个神经网络的输入向量(9维),有多少个样本就有多少行(n行)。预期的结果矩阵是一个只有一列,有 n 行的矩阵。 问题就是,如果我的 n 比较小,则经过学习训练后,我进行预测,得到的预测结果大致是正确的。而当我的 n 变得比较大的时候,预测结果就近似等于1了。 这是为什么?
  • 打赏
  • 举报
回复
实际上神经网络最初的“数据是一个因果矩阵”的假设都是刻意人为的,因此人为地胡乱清洗数据往往让结果面目全非。 不知道你的数据设计,也就无法理解你的问题。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧