神经网络-多层前馈神经网络

神经网络是将许多个神经元按一定的层次结构连接起来的网络结构。不同的层次结构会产出不同类型神经网络,比如前馈神经网络和递归神经网络。

神经元

神经元是神经网络最重要的组成部分,下图为一个神经元的示意图,箭头的方向就是数据运行的方向。(a_1,a_2,...,a_n)为神经元接受的输入向量a,(w_1,w_2,...,w_n)为输入向量各个分量的权重w;b为偏置项bias,该条连接的输入固定为1。它可以让建模能力更强,更灵活。红色圆圈内为一个神经元处理信息的过程,里面又包括了SUM和f两部分。SUM为一个线性函数,将输入向量和权重向量的内积,输出的结果再传入激活函数f,最后输出结果t。

一个神经元的功能是求得输入向量与权重向量的内积后,经过一个非线性函数也就是激活函数得到一个标量结果。

                                                                                         t = f(aw+b)

它会把一个n维向量空间用一个超平面分割成两部分,给定一个输入向量,神经元可以判断出这个向量位于超平面的哪一边。所以一个神经元就相当于做了一个二分类。(做回归任务的时候,神经元也相当于一个二分类吗?)

我们主要讲多层前馈神经网络。

多层前馈神经网络

多层前馈神经网络是由输入层,若干个隐藏层和输出层组成的全连接网络,不存在环或回路。。每一层都由多个神经元组成,神经元和输入向量全连接,但是神经元和神经元之间没有连接,也不存在跨层连接。每一层的输出结果会作为下一层的输入向量,比如hidden layer1的输出向量为hidden layer2的输入向量。输入层不会对数据进行处理,只是代表整个神经网络最开始的输入向量,也就是样本的特征向量。神经网络的输入为向量,最后的输出也是向量。输出向量的维度取决于输出层神经元的个数。

多层前馈神经网络可以看作是非线性复合函数,它的学习过程就是将输入沿着网络结构的方向一层,一层的正向传播直到输出层,然后再通过反向传播算法 (BP) 对权重和偏置项进行跟更新。然后循环整个过程,直到满足最大迭代次数或者在验证集上的错误率变化不大。

当问题是回归问题时,损失函数为均方误差:

                                                                               L(y,\widehat{y})=\frac{1}{2}\sum_{i}^{n}(\widehat{y_i}-y_i)^2

当问题是分类问题时,损失函数多为交叉熵,最后一层的激活函数为softmax函数:

                                                                                 \widehat{y}=softmax(z), z为上一层神经元的输出

                                                                                 L(y,\widehat{y})=-y^Tlog\widehat{y}

参考链接:https://zh.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C

                  https://blog.csdn.net/qq_22690765/article/details/75050943

                  https://www.leiphone.com/news/201711/MWEDFvRMdOyN7Evm.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值