神经网络原理及应用(看完就理解了)

神经网络的定义

神经网络,是机器学习的一个分支,学名应该叫人工神经网络,与之相对应的是生物神经网络(Biological Neural Networks, BNN),我们将模拟生物神经网络的数学模型统称为人工神经网络模型,简称人工神经网络或者神经网络。

 

生物神经网络

大脑的学习过程包括以下三个基本步骤或系统。
(1)信息输入。
(2)模式加工。
(3)动作输出。

 

生物意义上的神经元

“神经元”(Neuron)事实上就是“神经细胞”(Nerve Cell)的别称。

 

神经元的构成

                                             图1-1

细胞轴突是一条长长的纤维,它把细胞体的输出信息传导到其他神经元。树突用来接收其他神经元的输入信号。细胞体接收所有树突的输入,并通过细胞体内复杂的化学变化,确定细胞体是否需要对轴突产生输出。(如上图蓝字

神经元具有两个最主要的特性,即兴奋性传导性。神经元的兴奋性具有一种很特殊的现象,当刺激强度未达到某一阈限值时(限值的概念为人工神经元模仿提供了理论依据,传输函数中大多数函数都是依据此原则来输出得),神经冲动不会发生,而当刺激强度达到该值时,神经冲动发生并能瞬时达到最大强度,此后刺激强度即使再继续加强或减弱,已诱发的冲动强度也不再发生变化。请大家深刻理解这个特性,兴奋性的原理解释了我们为什么需要传输函数,通过了解神经元的构造也可以推出传输函数的数学构成。

神经元的功能表现多种多样,神经元之间会因为某种因素互相建立联系。

 

组成神经网络

生物神经网络是由很多神经元相互连接的。

神经元有自组织特性。所谓自组织,就是每个神经元都自己决定和另外哪些神经元链接,甚至不链接,没有从一个“领导”的角色去安排大家的工作,而这种自己决定的特性构成了神经元的自主学习(对应于神经网络模型的训练),不存在外部教师的示教。

还需指出:

-输入(树突)输出(轴突)部分是可以由链接强度来表示的,这直接决定了神经元A在传递信号给神经元B时,信号是有强度的。

-功能的分区定位并不是机械一对一关系(某一部分功能的损伤不至于导致整个功能的丧失)。

 

构造神经网络

构造一个神经元

如图2-1所示,这里用p代表树突,多个输入信号源,多个树突,分别是p1开始到pn;用w代表树突的强度权重。

          图2-1神经元的输入部分:树突

         图2-2树突将信号传往信息处理机构

 

这种强度可以用以下简单公式来表示:

 

                                                               图2-3传递函数

 

什么叫传递函数?

在信号处理这端,我们假设有一个输出结果s(n),这个结果有可能是 0 到 1这个区间的一个数字,也可以是任意一个可能大于0或者小于0的整数,然而对于一个分类运算来说,大多数时候,我们需要输出一个 0 或 1,代表是或否,怎么处理呢?如果大于 0,我们就把它作为 1,如果小于 0,我们就把它输出为 0,这是最简单的传递函数的一种用法,你可以把它看作格式化输出结果,将结果变成我们可以使用 的一种符号或数字

 

上面只是几乎模拟了一个神经元的功能。

神经元细胞的处理用s模拟,我们只是简单地将信号做了一个加权处理,而神经元本身的特性我们没有模拟出来,我们给s加个内置的处理输入源,并用b模拟这种内部的强度,如图2-4

                                                            图2-4构造神经元

以上成功的模拟了生物神经元。它其实就是感知机----最简单的神经网络。

常用的传递函数

 

举些例子

 

此分类有一个关键的问题,所有的结果都是基于设定好的相关参数w1, w2和b这些神经元关键权重参数。

这时候就需要使用感知机的一套学习规则,保证我们随意取个权重参数也能使输出的值是正常的。

感知机的学习规则也是一种训练方法,目的是修改神经网络的权值和偏置

w(new) = w(old) + ep
b(new) = b(old) + ep

其中e表示误差,e=t-a,t期望输出a实际输出

香蕉判断也正确,误差为0,学习结束。

这里利用了感知机的(有监督)学习规则进行误差纠正,并把新的权值带入公式计算输出得到我们期望的值。

在有监督的学习规则中,我们能通过期望值不断修正权重,最终得到一个可用权重并用已经训练好的感知机去做一些事情。

但是

线性不可分,即不能用一条直线分类。

这时候就要用新的学习规则了。

 

多层神经网络

 

BP算法:神经网络训练

什么是BP算法?BP的全称是Back Propagation,也称为Error Back Propagation,意思是误差反向传播,也算说明了BP算法的特点。

-BP算法用于BP网的权值和阈值学习。
-BP算法实质求均方误差函数的最小值问题。这种算法采用非线性规划中的最速下降法,按误差函数的负梯度方向修改权系数。
-BP算法的基本思想是:由信号正向传播和误差反向传播。

BP神经网络的原理及方法

构成BP神经元模型的三要素是:
(1)具有一组突触或连接。常用wij表示神经元 i 和神经元 j 之间的连接强度,即权值。
(2)具有反映生物神经元时空整合功能的输入信号累加器。
(3)具有一个激励函数用于限制神经元输出。通常神经元的输出范围在 [0, 1] 或 [-1, 1] 间。一个典型的人工神经元模型如下图所示。

 

                           图-BP神经元模型

其中Xj (j=1,2,…,N)为神经元 j 的输入信号,Wij为连接权重。ui是输入信号线性组合后的输出,也是神经元 i 的净输入。ɵi为神经元的阈值,vi为经阈值调整后的值,f(▪)为神经元的激活函数。输入信号在单层感知器传递的数学模型如下:

f(.)是BP神经元的激励函数,最常用的形式是Sigmoid函数,数学表达式如下:
 
BP神经网络与学习算法

 

设输入为x=(x1,x2,...,xn);隐层有r个神经元;输出层有m个神经元,输出为y=(y1,y2,...,ym);输入层到隐层的权为wij,阈值为ɵj;隐层到输出层的权为wjk,阙值为ɵk。

于是隐层各神经元的输出为:

于是输出层各神经元的输出为:

 

参考资料
BP算法分析与改进   贾丽会,张修如(中南大学信息科学与工程学院,湖南长沙410075)

BP神经网络的改进研究及应用 东北农业大学 刘天舒 硕士学位论文

《神经网络与深度学习》  吴岸城 电子工业出版社 2016年06月01日

 

关于梯度下降法,有想了解的,可看这个【深入浅出--梯度下降法及其实现】

 

 

 

 

 

 

 

 

 

 

 

 

  • 25
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

留在风中的巧克力

今天天气很好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值