神经网络MATLAB编程

来源:互联网 发布:吉首大学网络自助中心 编辑:程序博客网 时间:2024/06/05 16:01

感知器模型入门:

感知器由美国计算机科学家罗森布拉特于1957年提出,其基本模型如下:

NN
单层感知器结构

无数博客中已对神经网络的基本知识做了详尽的介绍,在此不赘述。

感知器的学习过程

单层神经网络中有:

X=j=1rwjpj+b

Y=f(X)

简单起见,规定感知器的输出根据X来分类,X>0Y=1,否则Y=0

则学习的过程可以理解为,已知输入,不断调整加权参数wi以及阈值b,使感知器的输入输出满足上述关系。感知器的学习是一种有教师的学习方式,学习规则为δ规则。

下面说明学习的具体过程。记W(k)为迭代第k次时的权值向量,e=ta,其中e为偏差向量,t为目标输出向量,a为实际输出向量。b为阈值向量。则有:

W(k+1)=W(k)+epT

b(k+1)=b(k)+e

单层感知器网络只针对线性可分的模型。在一定步骤之后可收敛。另:若p中的输入向量取值范围比较大,可以先对输入进行归一化处理p||p||

BP神经网络

BP网络结构:

如图所示,不加赘述。

这里写图片描述

BP学习规则

BP学习规则基于BP算法,其属于δ算法,一种梯度下降LMS算法。具体推导略(坑)。

MATLAB使用BP神经网络

1. 创建函数

newcf(P,T,[S1 S2…S(N-1)],{TF1 TF2…TFN},BTF,BLF,PF,IPF,OPF,DDF)

P - RxQ1 矩阵, Q1组包含R个元素的输入矩阵
T - SNxQ2 矩阵,Q2组包含SN个元素的输出矩阵
Si - 第i层的长度,默认[]
TFi - 传函,默认tansig。具体在后文解释

这里写图片描述

原创粉丝点击