3种最简单神经网络的结构及学习算法

更新时间:2023-03-08 16:39:34 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1 单层感知器

1.1 结构

单层感知器的结构如图1所示

x1ω1x2ω2ω3ω4x41(偏置)图1 单层感知器结构图

Σfyx3

最后的到的结果为y?f[(?xi?i?1)],其中f函数一般为sgn函数用于二值分类。 1.2学习算法

单层感知器通常采用纠错学习规则得学习算法。一般将偏置作为一个固定的输入,这样输入矩阵是长度为N+1的向量,权值矩阵也是长度为N+1的向量。

设输入为x(n)、权值矩阵为ω(n)、偏置为b(n)、实际输出为y(n)、期望输出为d(n)、η为学习率。所以y(n)=sgn(ωT(n)x(n))。更新权值的算法为

?(n?1)??(n)??(d(n)?y(n))x(n)

一般认为设定收敛条件,例如:两次权值查小于0.01时收敛。

2 线性神经网络

2.1 结构

线性神经网络的结构与单层感知器很相似,只不过是线性神经网络的激励函数可以是线性函数,进而使输出可以为任意值,二单层感知器的激励函数为sgn(符号函数),输出量为二值量。

x1ω1x2ω2ω3ω4x4b

图2 线性神经网络结构图

Σsgnyax+bx32.2 学习算法

线性神经网络的NB处在于其使用了LMS(Least Mean Square)算法进行学习网络。网络学习的最终目的是要得到一个最优的ω值即权值矩阵,使输出值与期望值之间的误差最小。误差最小的标准就是均方差最小。 设某次迭代的误差为e(n),则e(n)为下式

e(n)?d(n)?xT(n)?(n)

其中x(n)?[1,x1(n),x1(2),...xN(n)], 望输出。均方差为

?(n)?[b(n),?1(n),?2(n),...?N(n)],d(n)为期

1Q2mse??e(k)

Qk?1为了使均方差最小,就要对mse对ω求导,然后领导数为0,导数为0的ω值就是

是mse最小的ω。但是为了解决权值ω维数过高。往往通过调节权值来逼近ω的最优质。使mse从空间中的某一点开始,沿着斜面向下滑行,最终达到最小值,梯度反方向有是滑行最快的方向。所有求出mse的梯度,让其负数成为调整权值的增量,这样就可以以最快的速度逼近最优权值。

在实际计算中往往不用mse计算,而是用

1E(?)?e2(n)

2对其求导结果就是梯度。推导如下

?E(?)?e(n)?e(n) ?????e(n)??xT(n) ???E(?)??xT(n)e(n) ??又?(n?1)??(n)??(??),???xT(n)e(n)

即?(n?1)??(n)??x(n)e(n)

最后确定其收敛的方法可自行设定,例如误差小于某个设定的值、两次迭代权值变化小于某个设定的值、设置最大迭代次数等。

T3 BP神经网络

3.1结构

BP神经网络是一种多层前馈神经网络,该网络的主要特点是:信号前向传递,误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理,直至输出层,每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP神经网络预测输出不断逼近期望输出。BP神经网络的拓扑结构如下图1所示

输入层x1x2ωij隐含层ωjk输出层y1y2......xm...yn

图1 BP神经网络的拓扑结构

其中ωij为输入层到隐层的权值矩阵,ωjk为隐层到输出层的权值矩阵。 BP神经网络的激励函数一般为sigmod函数或者线性函数。 3.2学习算法

BP神经网络采用的是最速下降法(梯度下降法)进行误差的反相传播,最速下降法本质上与LMS算法相同,如果将最速下降法的目标函数定义为均方差,那么最速下降法就等同于LMS算法。

本文来源:https://www.bwwdw.com/article/a3g6.html

Top