MATLAB BP神经网络工具箱

05-28 1147阅读

1. 原理

BP神经网络结构:

MATLAB BP神经网络工具箱

Matlab神经网络工具箱:

BP神经网络定义:

net=newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)

其中:

PR --输入元素的最小值和最大值的Rx2矩阵R

SI -- 第 i 层的大小,对于Nl层,N个隐藏层需要定义n个层神经元的个数

TFI--第 i 层的传递函数,默认 = ' tansig'

BTF-- 反向传播网络训练函数,默认 = ' traingdx'

BLF-- 反向传播权重/偏差学习函数,默认 = ' learngdm'

PF -- 性能函数,默认 = ' mse'

训练函数:train(net,traindata), net为神经网络,traindata为训练集数据

仿真函数:sim(net,test),传入测试的值通过仿真返回预测值

2. 过程

2.1 训练集数据可视化

导入两类训练集数据(格式为txt文本,内容为身高 体重),并绘制其数据分布,如下:

MATLAB BP神经网络工具箱

图1 训练集数据分布

2.2 数据处理

将两类训练集样本合并到一起并且给定它们已知的类别标签,1为男性,2为女性

MATLAB BP神经网络工具箱

2.3 通过神经网络工具箱设置相应的参数进行训练和仿真

设置相关神经网络参数后首先对训练集进行仿真

MATLAB BP神经网络工具箱

训练如下:

MATLAB BP神经网络工具箱

图2 神经网络训练

MATLAB BP神经网络工具箱

图3 性能指标

MATLAB BP神经网络工具箱

图4 训练状态

MATLAB BP神经网络工具箱

图5 回归分析

训练完成后通过sim函数对训练集数据进行预测,将输出结果中大于1.5的归为2类,小于等于1.5的归为1类

MATLAB BP神经网络工具箱

MATLAB BP神经网络工具箱

图6 训练集精度

得到训练集精度为90%

2.4 用测试样本数据对模型进行测试

MATLAB BP神经网络工具箱

图7 测试集分布

仿真并预测:

MATLAB BP神经网络工具箱

MATLAB BP神经网络工具箱

图8 测试集精度

得到测试集精度达到97%,说明分类器模型较好。

3. 结果与分析

本文实验通过神经网络工具箱成功构造了简单的神经网络,并且通过测试集测试的准确率达到了97%大于训练集的90%精确度,通过对数据以及样本分布进行分析,可以看出训练集的样本个数不够多且有很多数据点分布不均匀而测试集分布较为均匀。但从最后的结果上依然可以看出该神经网络分类模型在该问题上可以很好的通过身高体重特征对性别进行分类。

使用matlab神经网络工具箱可以简单的构造一个完整的BP神经网络并使用它进行分类预测,并且通过观察训练过程中的性能以及一些状态,能够更加清晰地了解到相关参数对神经网络训练地影响。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]