资源简介

这是用matlab实现的一个多层感知机,由三个全连接层组成,压缩包中的脚本可直接运行。 运行顺序为: 1.data_gen.m (在工作空间生成数据集 data.mat ,因为压缩包本来已经有数据集了,这一步可以跳过, 画出数据集的分布) 2.mlp_relu.m (训练网络,会在工作区生成网络权重的参数 variable.mat ,工作空间已经有这个了,也可以跳过, 耗时大概2,3秒,电脑性能决定,画出损失函数变化曲线) 3.valuate_variable (测试第二步的网络的性能,画出可视化图形)

资源截图

代码片段和文件信息

clear
class1_total = 150;
class2_total = 250;

r1 = 5*rand(1 class1_total);
theta1 = 2*pi*rand(1 class1_total);

r2 = 7+3*rand(1 class2_total);
theta2 = 2*pi*rand(1 class2_total);

x1 = r1.*cos(theta1);
y1 = r1.*sin(theta1);
x2 = r2.*cos(theta2);
y2 = r2.*sin(theta2);

X1 = [x1; y1];
X1 = X1‘;
X2 = [x2; y2];
X2 = X2‘;
labels1 = [ones(class1_total 1) zeros(class1_total 1)];
labels2 = [zeros(class2_total 1) ones(class2_total 1)];

save(‘data.mat‘ ‘X1‘ ‘X2‘ ‘labels1‘ ‘labels2‘)

plot(X1(:1) X1(:2) ‘+r‘ X2(:1) X2(:2) ‘*b‘)
title(“数据集“)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-11-06 05:24  BP\
     文件         566  2019-11-06 05:23  BP\data_gen.m
     文件         340  2019-10-14 12:38  BP\next_batch.m
     文件         153  2019-10-14 04:18  BP\m_sigmoid.m
     文件        6633  2019-11-06 05:24  BP\data.mat
     文件         748  2019-11-06 05:24  BP\variable.mat
     文件        4157  2019-10-27 06:55  BP\mlp_relu.m
     文件         253  2019-10-14 03:32  BP\m_cross_entropy.m
     文件         213  2019-10-14 03:32  BP\m_softmax.m
     文件         861  2019-11-06 05:11  BP\valuate_variable.m
     文件         266  2019-10-14 09:43  BP\m_relu.m
     文件        4013  2019-10-27 07:09  BP\mlp_sigmoid.m

评论

共有 条评论