資源簡介
使用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;%用作計模
評論
共有 條評論