机器学习(5):神经网络学习

概述

M-P神经元模型:神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将于神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。

实际常用Sigmoid函数作为激活函数sigmoid(x)=\frac{1}{1+e^{-x}}

把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络。

事实上,从计算机科学的角度看,我们可以先不考虑神经网络是否真的模拟了生物神经网络,只需将一个神经网络视为包含了许多参数的数学模型,这个模型是若干个函数,例如yy_{i} = f(\sum_{i}\omega_{i}x_{i}-\theta_{j} )嵌套代入而得。有效的神经网络学习算法大多以数学证明为支撑。

反向传播算法

反向传播算法使用梯度下降算法作为核心学习机制。开始给定随机的权重,反向传播算法计算网络的权重,做出细小调整,并逐渐根据网络产生的效果和预期结果之间的误差做出调整。

该算法从输出向输入传播误差,并且逐渐精细地调整网络权重,来让使用梯度下降法计算的误差总和最小化。学习过程的每个周期被称为一个epoch。

基本算法步骤如下:

  • 第一步——网络初始化:确定权重的初始值。通常神经网络使用随机权重进行初始化。
  • 第二步——前向反馈:通过节点激活函数和权重,信息在网络中从输入层前向传递到隐藏层和输出层。
  • 第三步——误差评估:评估误差是否足够小到能够满足需求,或者迭代次数是否已经达到预设的上限。如果满足任何一种情况,训练结束。反之,学习进程迭代地持续。
  • 第四步——传播:使用输出层的误差来重新调整权重。算法在网络中反向传播误差,并计算相对于权重值变化的误差变化的梯度。
  • 第五步——调整:以降低误差为目标,使用变化梯度对权重作出调整,根据激活函数的导数,网络输出和实际目标结果之间的差异,以及神经元输出,调整每个神经元的权重和偏差。网络通过该过程进行“学习”。

公式:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值