⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mulms.m

📁 內涵模糊理論與類神經網路的程式碼...提供初學者做研究參考
💻 M
字号:
% ==========================================================
% 
%           Neural Networks A Classroom Approach
%                     Satish Kumar
%             Copyright Tata McGraw Hill, 2004
%
%        MATLAB code that implements mu-LMS algorithm
%                  Reference: Page 151
%
% ==========================================================

load data.txt
x=data(:,1)';
d=data(:,2)';
max_points = size(x,2);

R=[1 0.0002;0.0002 1];
P =[ 0.3386;-1.8818];
D =859.5943;

eta = .01;
X = [ones(1,max_points); x];
errormin = D - P'*inv(R)*P;
weiner = inv(R)*P;

shift1 = linspace(-12, 12, 21);
shift2 = linspace(-9, 9, 21);

for i = 1:21
  shiftwts(1,i) =  weiner(1)+shift1(i);
  shiftwts(2,i) = weiner(2)+shift2(i);
end

for i=1:21
  for j = 1:21
      error(i,j) = sum((d - (shiftwts(1,i) + x.*shiftwts(2,j))).^2);
  end
end

error = error/max_points;

figure
plot(weiner(1),weiner(2),'*k')
hold on
[lab,lab1]=contour(shiftwts(1,:), shiftwts(2,:),error,10);
clabel(lab,lab1);
grid on
hold on

w=[-14.096 13.611]';
w0=w;
eps = .5;

for loop = 1:200
  x = (2*rand-1)*2;
  X = [1;x];
  y = 3.*x.^5 - 1.2.*x.^4 - 12.27.*x.^3 + 3.288.*x.^2 + 7.182.*x;
  scatter = (2*rand-1)*eps;
  di = y + scatter;
  w = w + 2*eta*(di -X'*w)*X;
  wts1(loop)=w(1);
  wts2(loop)=w(2);
end
wts1=[w0(1) wts1];
wts2=[w0(2) wts2];

plot(wts1,wts2,'g',wts1(loop),wts2(loop),'ob')   
axis([-12 12 -10 7]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -