nnnwlog.m

来自「《神经网络设计》英文版的配套源代码」· M 代码 · 共 37 行

M
37
字号
function [w,b]=nnnwlog(s,p)
%NNNWLOG Calculates Nugyen-Widrow initial conditions.
%
%  S - Number of neurons.
%  P - Inputs.

[r,q] = size(p);
pmin = min(p')';
pmax = max(p')';

pr = [pmin pmax];

magw = 0.7*s^(1/r);
w = magw*nnnormr(2*rand(s,r)-1);
if (s==1)
  b = 0;
else
  b = magw*linspace(-1,1,s)'.*sign(w(:,1));
end

% Adjust for input range
x = 2./(pr(:,2)-pr(:,1));
y = 1-pr(:,2).*x;

xp = x';
b = w*y+b;
w = w.*xp(ones(1,s),:);

%============================================
function n = nnnormr(m)
[mr,mc]=size(m);
if (mc == 1)
  n = m ./ abs(m);
else
  n = sqrt(ones./(sum((m.*m)')))'*ones(1,mc).*m;
end

⌨️ 快捷键说明

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