資源簡介
使用bp神經(jīng)網(wǎng)絡(luò)算法實現(xiàn)異或問題的權(quán)值優(yōu)化,程序模型為:輸入層兩個節(jié)點,中間層兩個節(jié)點,輸出層一個節(jié)點。各層節(jié)點數(shù)可調(diào)。
代碼片段和文件信息
%使用BP網(wǎng)絡(luò)實現(xiàn)異或的權(quán)值修正
%本程序采用的神經(jīng)網(wǎng)絡(luò)模型為:輸入層兩個節(jié)點,中間層兩個節(jié)點,輸出層一個節(jié)點。
%本程序運行的結(jié)果及時間隨、初值的設(shè)置、計數(shù)最大次數(shù)以及精度要求的不同而不同。
%以目前的初值運行的結(jié)果為:
%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
%請使用者根據(jù)神經(jīng)網(wǎng)絡(luò)模型的不同而對各初值及程序進行相應(yīng)更改
clear
clc
tic
k=4;%模式數(shù)為4
A=[0?0;0?1;1?0;1?1];%設(shè)置輸入模式向量
Y=[0?1?1?0];%設(shè)置輸出向量
n=2;%輸入層單元的個數(shù)
p=2;%中間層單元的個數(shù)
q=1;%輸出單元的個數(shù)
w=[0.8?-0.6;-0.6?0.8];%初始化輸入層到中間層的權(quán)值
v=[0.7;0.8];%初始化中間層到輸出層的權(quán)值
theta=[0.50.5];%初始化輸入層到中間層的閾值
gama=0.5;%初始化中間層到輸出層的閾值
max=10000;%設(shè)置最大計數(shù)次數(shù)
precision=0.01;%設(shè)置精度E如果不為0即為0.5(大于0.01的數(shù))
alfa=0.8;%初始化α
beta=0.8;%初始化β
count=1;%設(shè)置計數(shù)器的初始值
y=zeros(14);
x=zeros(1n);
B=zeros(12);%B存儲b與0.5比較之后的修正值
C=0;%C存儲c與0.5比較之后的修正值,由于q=1,所以直接將C設(shè)為一個數(shù)
while?(count<=max)
????cc=1;%用作計模
評論
共有 條評論