神经网络的训练

在了解了信息是如何在神经网络中的传递,并知道了如何设计输出层之后,那么神经网络的询问操作就已经基本上学习完了。
但是,训练该如何进行呢?

神经网络训练的基本思路

单个数据独立训练

具体步骤:

1.将训练的数据输入神经网络,并得到一个输出的结果。
2.将正确的结果与当前输出结果作比较,计算出误差。
3.对这个误差进行学习。

其实第一步就是神经网络的询问操作,而第二步在输出层的设计中也有所提及。
当输出层的损失函数与激活函数为特定的函数,这里的误差就为输出结果与正确结果的差分,非常容易计算。
一般情况下,我们都会选择这些特定的函数,避免带来复杂的计算。

而第三步才是关键,也是接下来需要学习的东西,不过在此之前先了解一下另一种训练方式。

批量数据训练方式

顾名思义,这与前面一种训练方式的不同点就在它不是只有一个数据来训练,而是将一些数据打包在一起,进行训练。
具体步骤:

1.从全部的训练数据中,随机选取一小部分数据。
2.将这些数据输入神经网络,并得到输出的结果。
3.将正确的结果与当前输出结果作比较,计算出误差,并将这一些数据误差的平均值作为本次训练的误差。
4.对这个误差进行学习。

与上一种训练方式的不同点在于,它并非对每一个误差都进行学习,而是对平均误差进行学习。
这样这么多数据才进行一次学习,相比每一个数据都进行学习,高效了不是。

误差的来源

还是先回归到最初的计算公式:信息如何在神经网络中传递的
u y = ∑ i = 1 n w i , y × v i u_y=\displaystyle\sum_{i = 1}^n w_{i,y}\times v_i uy=i=1nwi,y×vi
考虑输出层的一个结点 x x x,上一层结点的权值和对于边权的成绩之和,
显然上一层的权值应该不完全正确,存在误差,而边权也是有误差的。

上一层结点的误差

这一部分就通过误差的反向传递,将输出层是误差传递给上一层,然后再通过上一层传递给前一层,这样也就实现了误差一层一层地向前传递。

边权的误差

这一部分就需要通过学习来减小误差。

训练的具体实现

1.误差的反向传播
2.边权的更新

  • 学习至此,神经网络的基本内容就已经学习完毕了,接下来就是实战了!
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值