• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 语言: Matlab
  • 标签: BP  异或  matlab  

资源简介

使用bp神经网络算法实现异或问题的权值优化,程序模型为:输入层两个节点,中间层两个节点,输出层一个节点。各层节点数可调。

资源截图

代码片段和文件信息

%使用BP网络实现异或的权值修正

%本程序采用的神经网络模型为:输入层两个节点,中间层两个节点,输出层一个节点。
%本程序运行的结果及时间随、初值的设置、计数最大次数以及精度要求的不同而不同。
%以目前的初值运行的结果为:
%errors =0
%w =0.5262   -0.8738
%   -0.9131    0.4869
%v =0.7231
%    0.8200
%Elapsed time is 0.001331 seconds.
%toc计算运行时间:0.0013501
%请使用者根据神经网络模型的不同而对各初值及程序进行相应更改

clear
clc
tic
k=4;%模式数为4
A=[0 0;0 1;1 0;1 1];%设置输入模式向量
Y=[0 1 1 0];%设置输出向量
n=2;%输入层单元的个数
p=2;%中间层单元的个数
q=1;%输出单元的个数
w=[0.8 -0.6;-0.6 0.8];%初始化输入层到中间层的权值
v=[0.7;0.8];%初始化中间层到输出层的权值
theta=[0.50.5];%初始化输入层到中间层的阈值
gama=0.5;%初始化中间层到输出层的阈值
max=10000;%设置最大计数次数
precision=0.01;%设置精度E如果不为0即为0.5(大于0.01的数)
alfa=0.8;%初始化α
beta=0.8;%初始化β
count=1;%设置计数器的初始值
y=zeros(14);
x=zeros(1n);
B=zeros(12);%B存储b与0.5比较之后的修正值
C=0;%C存储c与0.5比较之后的修正值,由于q=1,所以直接将C设为一个数



while (count<=max)
    cc=1;%用作计模

评论

共有 条评论