(作业)深度学习笔记-bp神经网络

啊啊啊啊啊啊啊啊啊只是作业啊啊啊啊啊啊,写的西撇

参考:
版权声明:本文为CSDN博主「-麦_子-」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014182497/article/details/70226056

文章目录


概述

       BP神经网络是一种多层前馈神经网络,特点是:信号向前传播,误差反向传播。通俗理解就是,BP神经网络通过层与层向前传播,得到最终实际输出后,与期望输出做对比,通过“梯度下降”策略,逐层调节权重和阈值,最终得到与期望输出在误差允许范围内的神经网络模型。

一.基础知识

1.1 M-P神经元模型

      x_{i}是输入的原始数据,w_{i}是权重(权重决定x_{n}数据在输出被处理过程中的占比程度——对应公式y=f(\sum_{i=1}^{n}w_{i}x_{i}-\theta)w_{n}就是个系数,第一回自定) 

       \theta是神经元的激活阈值,函数被称为激活函数。(ps.激活函数咋选深度学习必备小知识之激活函数的区别_running鸿的博客-CSDN博客_激活函数区别

       函数f(\cdot )可以用一个阶跃方程表示,大于阈值激活,否则则抑制。理想中的激活函数阶跃函数,然而阶跃函数具有不连续、不光滑等不好的性质,因此我们更常用的方法是用sigmoid函数来表示。

1.2 多层网络与感知机

       神经网络由三部分组成,分别是输入层(i)、隐藏层(h)和输出层(o),其中输入层与输出层只有一层,而隐藏层则可以是多层的(隐藏层节点数:h=\sqrt{i+o}+b,b\in[1,9])。每一层都有一定数量的神经元,不同层之间的神经元用线连接起来,每条线都有一定的权重w_{i}

       如图第一层为输入层,最后一层为输出层,第2到l层都为隐藏层,图中只画了一层隐藏层。其中的+1,为偏置。x_{1}x_{2}...x_{n}为输入单个样本的输入。w_{ij}^{l}表示从第l-1层的第i个神经元指向第l层的第j个神经元的线的权重。b_{j}^{l}表示第l层第j个神经元的偏置。z_{j}^{l}表示第l-1层神经元到第l层的第j个神经元的加权和。a_{j}^{l}表示第l层的第j个神经元的加权和z_{j}^{l}经过激活函数计算后得到该神经元的输出值。除了输入层,其他层的神经元都会有一个前一层神经元的加权和z作为激活函数的输入,然后得到输出a

1.3BP神经网络

       利用输出后的误差来估计输出层前一层的误差,如此获取所有各层误差估计。这里的误差估计可以理解为某种偏导数,我们就是根据这种偏导数来调整各层的连接权值w,再用调整后的连接权值重新计算输出误差。直到输出的误差达到符合的要求或者迭代次数溢出设定值。

        BP利用处处可导的激活函数来描述该层输入与该层输出的关系,常用S型函数δ来当作激活函数。

BP神经网络学习算法流程大致如下:

1、正向传播得到输出层误差e

=>输入层输入样本=>各隐藏层=>输出层

2、判断是否反向传播

=>若输出层误差与期望不符=>反向传播

3、误差反向传播

=>误差在各层显示=>修正各层单元的权值,直到误差减少到可接受程度

二.浅推一下

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
神经网络的实验步骤详细分析具体-神经网络大作业(一).doc 本人做的神经网络的实验,步骤详细,分析具体,适合做入门学习用-I do neural network experiments, the steps detailed analysis of specific, suitable for entry to study 截取某些内容,方便参考: 用BP网络识别雷达测速的三类信号 一.数据来源      此信号来自一部测速雷达获得的三种目标的回波信号,三种目标分别是行人W、自行车B和卡车T,信号中包含目标的速度信息。 二.信号的分析与处理      根据所给的三类信号的样本,每一个样本中均包含1024个数据,由于每一个样本的数据量较大,不可能将所有1024个数据全都作为神经元的输入,计算量太大,所以必须首先对信号进行分析,提取最有价值的特征信息。      首先可以看看每一个样本中的数据图,以各类信号中的第一个样本为例,如图1所示。 (1)                                       (2)                                        (3) 图1 (1)行人数据图  (2)自行车数据图  (3)卡车数据图              从上图的时域数据基本上观察不出规律,因此我们要对数据进行傅立叶变换,从频域分析数据的特征,如下图2所示。 图2 行人数据频谱图 从上图中看到行人的数据的频谱的幅度很小,原因是因为信号在零点处的值特别大,所以要将在零点处的值去掉,得到如图3所示。 图3 行人数据去掉零点后的频谱图 这时可以观察到信号的一些特征,从图中发现信号的频谱图是基本对称分布的,而且信号的峰值也很大,可以对它首先进行归一化,如下图4所示。 图4 (1)行人数据归一化后的频谱图 (2)取绝对值后的频谱图 同时将自行车和卡车的频谱图来做比较如图5,6所示 图5 (1)自行车数据归一化后的频谱图        (2)取绝对值后的频谱图 图6 (1)卡车数据归一化后的频谱图              (2)取绝对值后的频谱图 从上面三幅图中,可以观察到信号都有明显的峰值,但是出现的位置不同,另外,信号的均值和方差明显不同。但是考虑到雷达所测数据中,会有一些速度反常规的游离数据,所以考虑采用受游离数据影响小的平均绝对值偏差来代替样本方差作为输入特征。同时,以数据的样本中位数来作为输入特征来减少游离数据的影响。根据这些特征进行提取来作为输入。 三.特征提取 1.取信号归一化后的均值作为一个特征量。 2.取信号归一化后的平均绝对值偏差作为一个特征量。 3.取信号归一化后的样本中位数作为一个特征量。 4.由三幅图的比较可以发现,信号的每两点之间的起伏程度也不尽相同,所以可以设定一个特征量,来纪录信号两点间的起伏程度的大小。 5.信号在经过归一化后,可以将信号全部的值加起来,用这个总的值来作为一个特征量。 除了上述的特征,还有很多特征可以提取,但是特征越多,需要的输入神经元越多,依照隐层神经元约为输入神经元的两倍的原则,隐层的神经元也将越多。则网络训练的时间将花费很大。所以,本实验只提取了上述特征中的1,2,3。 四.算法与实现 根据提取的特征的维数,来决定输入神经元的个数。因为提取的三个特征的维数分别为8,1和1,所以输入神经元的个数为10。输出神经元的个数定为3个,考虑到被识别的三种信号分别对应三个输出,虽然用两个神经元就可以表示三种输出状态,但是用三个神经元能更好地分辨,减少出错的概率。至于隐层的神经元个数则按照约为输入神经元个数的两倍的原则,设为20个。当然还可以在调试过程中根据输出的识别率来找到一个一个较为合适的个数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值