神经网络入门

启发式算法,和图论还没有更新,我又来写神经网络了。以我浅薄的理解,简单介绍下,神经网络的入门。
  神经网络的构成:从层级结构上讲,分为输入层,隐藏层和输出层。
层级结构
细化结构:包含了神经元,神经元之间连接方式。
神经元结构:
神经元结构  在神经网络中,神经元接受输入并通过加权求和,经过激活函数得到输出。神经网络是要找到合适的权值,使得预测结果和真实结果之间的误差最小。权重矩阵,在网络训练的过程中是可学习的,也就是可以不断更改的。激活函数有:sgn,sigmoid,relu等。
  另一种比较特殊的节点是—偏置节点。它的值永远是1,除了输出层中,其余层结构中,都含有偏置节点。
在这里插入图片描述

  权值的更新,可以通过反向传播。接下来,举个例子介绍下前向和反向传播的流程,暂时不考虑偏置节点。)一个简单的三层神经网络,输入层,隐藏层,输出层。如上图:
  前向传播:输入层由向量表示,a(1)=[x1,x2,x3].。对于隐藏层最上面的神经元来说,输入层神经元都与它相连接,权重表示为W(1)=[w1,w2,w3]。激活函数采用sigmoid。此时,输出表示为:a(2)=sigmoid(a(1)*W(1)+b(1))。其余节点类似的,完成前向传播。最终在输出层得到输出结果。两层的神经网络,已经可以解决了非线性分类任务。
  接着,是反向传播。目的在于:更新网络中的参数,也就是进行权重更新。首先,定义误差loss=(y_pre-y)^2。而y_pre是权重的函数,因此,loss是权重的函数,此时的问题,也就是寻找一组参数,使得loss的取值最小。简单的说,求导。但是,不适用于复杂的函数。因此,有了耳熟能详的经典算法-梯度下降算法。每次,沿着梯度的反方向更新参数。因此,反向传播指的是:首先计算输出层的梯度,接着计算前一层的梯度,直到计算到输入层的梯度。其中的关键,是链式求导法则。
  上面的过程,是训练过程。对于测试阶段,为了防止过拟合,也就提出了泛化,可以采用的有:正则化等手段。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值