rbfderiv.m

来自「The Netlab toolbox is designed to provid」· M 代码 · 共 53 行

M
53
字号
function g = rbfderiv(net, x)%RBFDERIV Evaluate derivatives of RBF network outputs with respect to weights.%%	Description%	G = RBFDERIV(NET, X) takes a network data structure NET and a matrix%	of input vectors X and returns a three-index matrix G whose I, J, K%	element contains the derivative of network output K with respect to%	weight or bias parameter J for input pattern I. The ordering of the%	weight and bias parameters is defined by RBFUNPAK.  This function%	also takes into account any mask in the network data structure.%%	See also%	RBF, RBFPAK, RBFGRAD, RBFBKP%%	Copyright (c) Ian T Nabney (1996-2001)% Check arguments for consistencyerrstring = consist(net, 'rbf', x);if ~isempty(errstring);  error(errstring);endif ~strcmp(net.outfn, 'linear')  error('Function only implemented for linear outputs')end[y, z, n2] = rbffwd(net, x);ndata = size(x, 1);if isfield(net, 'mask')    nwts = size(find(net.mask), 1);    temp = zeros(1, net.nwts);else    nwts = net.nwts;endg = zeros(ndata, nwts, net.nout);for k = 1 : net.nout  delta = zeros(1, net.nout);  delta(1, k) = 1;  for n = 1 : ndata      if isfield(net, 'mask')	  temp = rbfbkp(net, x(n, :), z(n, :), n2(n, :), delta);	  g(n, :, k) = temp(logical(net.mask));      else	  g(n, :, k) = rbfbkp(net, x(n, :), z(n, :), n2(n, :),...	      delta);      end  endend    

⌨️ 快捷键说明

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