反向传播与神经网络

1.反向传播

关于反向传播我的理解是这样的,SVM和SoftMax可以看成一层神经网络,你如果想要调整它的W很简单,只有求导就可以了,但是当神经网络有多层的话,你无法直接求导来更新最开始层的W,于是就出现了反向传播这个工具。至于神经网络为什么需要多层,理由有很多,我先举个例子,比如一个汽车在图片里面可以有各个方向的,而一层神经网络(SVM和SoftMax)只能处理一种方向的情况,当你需要处理所有情况就需要多层神经网络了。

上面是关于为什么需要多层神经网络和反向传播的解释,下面我介绍反向传播的具体做法:

根据每一个神经元进行分离,每个神经元只管它的输入与输出的偏导,这样链式传播回去就能得到最开始的偏导,也就能改变每一层的W了,如下图:

实例为:

上图,线上方的数字代表输入,下面的数字代表反向传播求回来的偏导,在复杂的函数里面也可以这样一步一步求出来,里面的图被称为计算图。

2.神经网络

前面我已经介绍过SVM和反向传播了,你可以将神经网络理解成多层SVM,为什么需要多层上面我也已经说过了,为了处理不同的情况,公式和示意如下图:

上图的x为输入的图片特征向量,h为中间值,W1为第一层的模板向量,W2为第二层模板向量,S为最后输出种类的分数。(比如这个2层神经网络就可以处理车头向左和向右2种情况)

2.1激励函数

前面我还说了一种SVM无法解决情况,比如:

神经网络就出现了一种特别的解决方法—激励函数,什么意思呢,就是可以把线性的函数转换为非线性的,从而更好的分类,举个例子:

sigmoid函数,数学形式很简单,是σ(x)=1/(1+e^(-x)),图像如上图所示,功能是把一个实数压缩至0到1之间。输入的数字非常大的时候,结果会接近1,而非常大的负数作为输入,则会得到接近0的结果,比如上图的第二张图,我们可以把区域的点到原点的距离为sigmoid函数的x变量,那么就可以根据这个结果进行分类的,大于多少或者小于多少为红色,其余为蓝色,就能解决线性不能解决的问题了。

 

转载于:https://www.cnblogs.com/tangmiao/p/8182979.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值