当前位置:首页 >> 物理 >>

MATLAB 神经网络工具箱_图文

MATLAB神经网络工具箱

神经元模型
Neuron Model: 多输入,单输出,带偏置
?输入:R维列向量

p ? [ p1,? pR ]T
阀值:标量 b

?权值:R维行向量 w ? [w11 ,? w1R ] ?求和单元 n ? ? p w ?b i 1i
i ?1 R

?传递函数 f ?输出

a ? f ( wp ? b)

常用传递函数
? 阈值函数
?1 (n ? 0) MATLAB函数: hardlim a ? f (n) ? hardlim(n) ? ? ?0 (n ? 0)

a 1 -1

-b

Wp

? 1 (n ? 0) a ? f (n) ? hard lim s(n) ? ? ??1 (n ? 0)

MATLAB函数: hardlims

线性函数
?

Purelin Transfer Function :

a ? f (n) ? n

a

n

MATLAB函数: purelin

Sigmoid函数
? Sigmoid
? 特性:

Function :

?值域a∈(0,1) ?非线性,单调性 ?无限次可微 ?|n|较小时可近似线性 函数 ?|n|较大时可近似阈值 函数

对数Sigmoid函数 1 a ? f (n) ? 1 ? e? n

正切Sigmoid函数
1 ? e? n a ? tanh(n) ? 1 ? e? n

MATLAB函数: logsig(对数), tansig(正切)

单层神经网络模型
R维输入, S个神经元的单层神经网络模型

? w11 ?w W ? ? 21 ?? ? ? wS 1

w12 ? w1R ? w21 ? w2 R ? ? ? ? ?? ? wS 1 ? wSR ?

? b1 ? ?b ? b ? ? 2? ??? ? ? ?bS ?

a ? f (Wp + b)

多层神经网络模型

前馈神经网络
? 前馈神经网络(feed

forward NN):各神经元 接受前级输入,并输出到下一级,无反馈, 可用一有向无环图表示。 ? 前馈网络通常分为不同的层(layer),第i层的 输入只与第i-1层的输出联结。 ? 可见层:输入层(input layer)和输出层(output layer) ? 隐藏层(hidden layer) :中间层

感知器
? 感知器(perceptron):单层网络, 传递函数为阀值函数

? 主要功能是模式分类

感知器的生成
函数newp用来生成一个感知器神经网络
net = newp( pr, s, tf, lf ) ? net: 函数返回参数,表示生成的感知器网络

? pr: 一个R×2矩阵, 由R维输入向量的每维最小值和最
大值组成 ? s: ? tf: ? lf: 神经元的个数 感知器的传递函数, 默认为hardlim, 可选hardlims 感知器的学习函数,默认为learnp, 可选learnpn

net = newp([-2,+2;-2,+2],2) %生成一个二维输入,两个神经元的感知器

感知器的权值和阀值初始化
? newp默认权值和阀值为零(零初始化函数initzero). net = newp([-2,+2;-2,+2],2); W=net.IW{1,1} %显示网络的权值 b=net.b{1} %显示网络的阀值 W= 0 0 b= 0

0 0

0

? 改变默认初始化函数为随机函数rands net.inputweights{1,1}.InitFcn = ‘rands’; net.biases{1}.InitFcn = ‘rands’; net =init(net); %重新初始化

? 直接初始化定义权值和阀值 net.IW{1,1}=[1 2]; net.b{1}=1

感知器学习
? 感知器学习算法
权值增量: 阀值增量: 权值更新: 阀值更新:

?W ? (t ? a) pT ? epT
?b ? t ? a ? e

W new ? W old ? ?W bnew ? bold ? ?b

? 算法改进
(t ? a) pT epT ?W ? ? p p

输入样本归一化

权值和阀值训练与学习函数
设计好的感知器并不能马上投入使用. 通过样本训练, 确定感知器的权值和阀值.

train

net=train(net, P, T)

被训练网络

输入向量

目标向量

net.tranParam.epochs=10 ; %预定的最大训 练次数为10, 感知器经过最多训练10次后停止,

adapt

net=adapt(net, P, T) 自适应训练函数

权值和阀值学习函数
learnp
dW=learnp(W,P,Z,N,A,T,E,D,gW,gA,LP,LS) dW:权值或阀值的变化矩阵 W:权值矩阵或阀值向量 P:输入向量 T:目标向量 E:误差向量 其他可以忽略,设为[ ]

learnpn

归一化学习函数

网络仿真函数
sim
a = sim(net, P)

网络输出

输入向量

?分类结果显示绘图函数

plotpv plotpc

plotpv(P,T)

画输入向量的图像

plotpc(W,b)

画分类线

例: 创建一个感知器
根据给定的样本输入向量P和目标向量T, 以及需分类 的向量组Q, 创建一个感知器, 对其进行分类.
P=[-0.5 -0.6 0.7;0.8 0 0.1]; T=[1 1 0]; net=newp([-1 1;-1 1],1); %已知样本输入向量 %已知样本目标向量 %创建感知器

handle=plotpc(net.iw{1},net.b{1});
net.trainParam.epochs=10; net=train(net,P,T); Q=[0.6 0.9 -0.1;-0.1 -0.5 0.5];

%返回划线的句柄
% 设置训练最大次数 %训练网络 %已知待分类向量

Y=sim(net,Q);
figure; plotpv(Q,Y); handle=plotpc(net.iw{1},net.b{1},handle)

%二元分类仿真结果
%新建图形窗口 %画输入向量 %画分类线

实验一 利用感知器进行分类(1)
一个经过训练的感知器对5个输入向量进行分类(2类)。 Step 1 画输入向量的图像
两个长度为5的向量构成输入样本矩阵P,行向量T为目标向量。利用PLOTPV画 出这个向量的图像。例如: P = [-0.5 -0.5 +0.3 -0.1 -4; -0.5 +0.5 -0.5 +1.0 5]; T = [1 1 0 0 1]; plotpv(P,T); % plotpv函数利用感知器的输入向量和目标向量来画输入向量的图像

Step 2

建立神经网络

MATLAB提供函数newp来创建一个指定的感知器。第一个参数指定了期望 的两个输入向量的取值范围,第二个参数指定了只有一个神经元。 net = newp([-40 1;-1 50],1); 注意:这个神经元的传递函数是hardlim函数,也就是阶跃函数。取0,1两个值。 Hardlims函数,取-1,1两个值。

实验一 利用感知器进行分类(2)
Step3
hold on linehandle = plotpc(net.IW{1},net.b{1}); //plotpc函数用来画分类线

添加神经元的初始化值到分类图

初始化的权值被设为0,因此任何输入都会给出同样的输出,并且分类线不会 出现在这个图中,不用害怕,我们会继续训练这个神经网。

Step4

训练神经网络

Matlab提供了adapt函数来训练感知器,adapt函数返回一个新的能更好的执 行分类、网络的输出、和误差的神经网络,这个划线函数允许网络从3个角度去调 整,画分类线一直到误差为0为止。 E = 1; //E为误差 net.adaptParam.passes = 3; //决定在训练过程中重复次数 while (sse(E)) //sse函数是用来判定误差E的函数

[net,Y,E] = adapt(net,P,T); //利用输入样本调节神经网net
linehandle = plotpc(net.IW{1},net.b{1},linehandle);/ /画出调整以后的分类线 drawnow; //延迟一段时间

end

实验一 利用感知器进行分类(3)
Step 5 模拟sim
sim函数能被用来划分任何别的输入向量,例如划分一个输入向量[0.7; 1.2].这个新点的图像为红色,他将用来显示这个感知器如何把这个新点从 最初的训练集取分开来。 p = [0.7; 1.2]; a = sim(net,p); //利用模拟函数sim计算出新输入p的神经网络的输出 plotpv(p,a);

circle = findobj(gca,'type', 'line');
set(circle,'Color','red'); 打开hold,以便于以前的图像不被删除。增加训练装置和分类线在图中。 hold on; plotpv(P,T); plotpc(net.IW{1},net.b{1}); hold off; axis([-2 2 -2 2]); 这个感知器正确的区分了我们的新点(用红色表示)作为”zero”类(用圆圈表示), 而不是”one”类(用+号表示),尽管需要比较长的训练时间,这个感知器仍然适当的进 行了学习。最后放大感兴趣的区域


相关文章:
MATLAB神经网络工具箱的详细使用步奏_图文.doc
神经网络| 工具箱| MATLAB神经网络工具箱的详细使用步奏_计算机软件及应用_IT/计算机_专业资料。详细介绍使用MATLAB神经网络工具箱的方法 在...
MATLAB 神经网络工具箱_图文.ppt
MATLAB 神经网络工具箱 - MATLAB神经网络工具箱 神经元模型 Neu
Matlab神经网络工具箱_图文.ppt
Matlab神经网络工具箱 - MATLAB神经网络工具箱 人工神经网络的特点
MATLAB神经网络工具箱及实验要求_图文.ppt
MATLAB神经网络工具箱及实验要求 - MATLAB神经网络工具箱 介绍及实验
MATLAB神经网络工具箱_图文.ppt
MATLAB神经网络工具箱 - MATLAB神经网络工具箱 介绍及实验要求 神经
Matlab神经网络工具箱使用教程_图文.pdf
Matlab神经网络工具箱使用教程_专业资料。Matlab神经网络工具箱使用教程 您的评论 发布评论 用户评价 Matlab神经网络工具箱使用教程,如何下载 2018-06-25 16:23:06...
MATLAB 神经网络工具箱 神经网络模型_图文.ppt
MATLAB神经网络工 神经网络工 具箱中的神经网络 模型 神经网络工具箱简介 MATLAB 7对应的神经网络工具箱的版本为 Version 4.0.3,它以神经网络理论为基础,利用 ...
Matlab神经网络工具箱(经典教程)_图文.pdf
Matlab神经网络工具箱(经典教程) - Matlab神经网络工具箱应用简介
Matlab-神经网络工具箱_图文.ppt
Matlab-神经网络工具箱 - 神经网络工具箱介绍 2016/12/11 1 MATLAB 2009b的神经网络工具箱neural network toolbox提供了图形用户界面(g...
matlab神经网络工具箱创建神经网络_图文.doc
matlab 神经网络工具箱创建神经网络为了看懂师兄的文章中使用的方法,研究了一
MATLAB神经网络工具箱1_图文.ppt
MATLAB神经网络工具箱1 - BP网络的初始化 newff 函数在建立网络对
MATLAB神经网络工具箱-精选文档_图文.ppt
MATLAB神经网络工具箱-精选文档 - MATLAB神经网络工具箱 介绍及实验
Matlab_神经网络工具箱(GUI界面的使用方法)(看完)_图文.ppt
本部分介绍了MATLAB 神经网络工具箱的 图形用户界面,为尚不熟悉以MATLAB 编程进 行神经网络设计与仿真的用户提供了一个非常 好的交互式图形界,使得神经网络的设计...
Matlab神经网络工具箱资料_图文.ppt
Matlab神经网络工具箱资料 - MATLAB神经网络工具箱 人工神经网络的特
MATLAB神经网络工具箱中的神经网络模型_图文.ppt
MATLAB神经网络工具箱中的神经网络模型 - MATLAB神经网络工 具箱中的神经网络 模型 神经网络工具箱简介 ? ? MATLAB 7对应的神经网络工具箱的版本为 Version ...
Matlab_神经网络工具箱介绍_图文.ppt
Matlab_神经网络工具箱介绍 - 神经网络工具箱介绍 2014-4-26 1 MATLAB 2009b的神经网络工具箱neural network toolbox提供了图形用户界面(...
第9章 MATLAB神经网络工具箱函数-2015_图文.ppt
MATLAB神经网络 工具箱函数 1.1 MATLAB神经网络工具箱函数 1.2 MATLAB神经网络工具箱的图形用户界面 1 利用神经网络能解决许多用传统方法无法解 决的问题。神经...
MATLAB神经网络工具箱_图文.ppt
MATLAB神经网络工具箱 - MATLAB神经网络工具箱 介绍及实验要求 神经
不错的Matlab神经网络工具箱实用指南.pdf
不错的Matlab神经网络工具箱实用指南 - Matlab神经网络工具箱实用
MATLAB 神经网络工具箱 神经网络模型_图文.ppt
MATLAB 神经网络工具箱 神经网络模型_计算机软件及应用_IT/计算机_专业资料。MATLAB MATLAB神经网络工 具箱中的神经网络 模型 神经网络工具箱简介 ? ? MATLAB 7...