Matlab学习笔记9.3:Matlab之神经网络模型

提示:来源于 中国大学慕课 西北工业大学 肖华勇老师的数学建模课程

文章目录

  • 前言
  • 一、多层前向神经网络原理介绍
  • 二、Matlab相关函数介绍
    • 1.网络初始化函数
    • 2.网络训练函数
    • 3.网络泛化函数
  • 三、示例
    • 1.函数拟合
    • 2.蠓的分类(MCM89A)


前言

`提示:来源于 中国大学慕课 西北工业大学 肖华勇老师的数学建模课程


来源于: 中国大学慕课 西北工业大学 肖华勇老师的数学建模课程

一、多层前向神经网络原理介绍

多层前向神经网络(MLP)是神经网络中的一种,它由一些基本的神经元即节点组成,如上图。除输入层外,每一节点的输入为前一层所有节点输出值得和。每一节点的激励输出值由节点输入、激励函数及偏置量决定。

Matlab学习笔记9.3:Matlab之神经网络模型_第1张图片
Matlab学习笔记9.3:Matlab之神经网络模型_第2张图片


二、Matlab相关函数介绍

1.网络初始化函数

net = newff([xm,xM],[h1,h2,h3,........,hk],[f1,f2,f3,......,fk])

其中 xm 和 xM 分别为列向量,存储各样本数据的最小值和最大值;
[h1,h2,h3,…,hk] 是一个行向量,输入各层节点数;
[f1,f2,f3,…,fk] 输入变量为字符串,代表该层的传输函数。
常用得传输函数有:
常用传输函数

提示:还可设定参数:Net.trainParam.epochs = 1000 (设定迭代次数);
Net.trainFcn = ‘traingm’ (设定带动量的梯度下降算法);


2.网络训练函数

[net,tr,Y1,E1] = train(net,X,Y)

X 为 nM 矩阵,n 为输入变量的个数, M 为样本数;
Y 为 m
M 矩阵,m 为输出变量的个数, M 为样本数;
net 为返回后的神经网络对象;
tr 为训练跟踪数据;
tr.perf 为各步目标函数值;
Y1 为网络的最后输出;
E1 为训练误差向量。


3.网络泛化函数

Y2 = sim(net,X1)

X1 为输入数据矩阵,各列为样本数据;
Y2 为对应输出值;


三、示例

1.函数拟合

产生函数在 [0,10] 上间隔为0.5的数据,利用神经网络学习。并推广到 [0,10] 上间隔为0.1上个点函数值。分别作图分析。

x = 0:0.5:10;
y = 0.2*exp(-0.2*x)+0.5*exp(-0.15*x).*sin(1.25*x);
plot(x,y)    % 绘制原始数据图

net = newff([0,10],[6,1],{'tansig','tansig'});    % 网络初始化
net = train(net,x,y);    % 网络训练
x1 = 0:0.1:10;
y1 = sim(net,x1);     % 数据泛化
plot(x,y,'*',x1,y1,'r');   % 做对比图

Matlab学习笔记9.3:Matlab之神经网络模型_第3张图片
Matlab学习笔记9.3:Matlab之神经网络模型_第4张图片

2.蠓的分类(MCM89A)

Matlab学习笔记9.3:Matlab之神经网络模型_第5张图片

clc
clear all

x = [1.24 1.36 1.38 1.38 1.38 1.40 1.48 1.54 1.56 1.14 1.18 1.20 1.26 1.28 1.30;
     1.72 1.74 1.64 1.82 1.90 1.70 1.82 1.82 2.08 1.78 1.96 1.86 2.00 2.00 1.96];
y = [1 1 1 1 1 1 1 1 1 0 0 0 0 0 0;
     0 0 0 0 0 0 0 0 0 1 1 1 1 1 1];
xmin = min(x');
xmax = max(x');

net.trainParam.epochs = 2500;   % 设定迭代步数
net = newff([xmin',xmax'],[5,2],{'logsig','logsig'});  % 网络初始化
net = train(net,x,y);   % 网络训练
x1 = [1.24 1.28 1.40
      1.80 1.84 2.04];
y1 = sim(net,x1);    % 数据泛化
plot(x(1,1:9),x(2,1:9),'*',x(1,10:15),x(2,10:15),'o',x1(1,:),x1(2,:),'p')   % 做数据图
grid on

Matlab学习笔记9.3:Matlab之神经网络模型_第6张图片
Matlab学习笔记9.3:Matlab之神经网络模型_第7张图片

你可能感兴趣的:(matlab,学习,神经网络)