scale_snn.m

来自「神经网络的工具箱, 神经网络的工具箱,」· M 代码 · 共 82 行

M
82
字号
function [y, sc] = scale_snn(x, sc, s)%SCALE_SNN scale values.%% Syntax%%  1.  [y, sc] = scale_snn(x, scaling_name)%  2.  y = scale_snn(x, sc);%% Description%%  1. SCALE_SNN(x, scaling_name) takes%    x            - values which scaling parameters are computed from.%    scaling_name - scaling function. Supported scaling functions are:%                   SC_EXP_SNN      - exp(x)%                   SC_INV_SNN      - 1/x%                   SC_LOG_SNN      - log(x)%                   SC_MEANZERO_SNN - x-mean(x)%                   SC_MONEONE_SNN  - linear mapping on [-1, 1]%                   SC_SQRT_SNN     - sqrt(x)%                   SC_STDONE_SNN   - x/std(x)%                   SC_ZEROONE_SNN  - linear mapping on [0, 1]%  and returns%    y   - scaled values.%    sc  - sc_struct containing scaling information.%%%  2. SCALE_SNN(x, sc) takes%    x   - values to be scaled.%    sc  - sc_struct containing scaling information to be used.%  and reutrns%    y   - scaled values.%% Examples%%  x = [1 2 3; 4 5 6] %  [y(1,:), sc1] = scale_snn(x(1,:), 'sc_meanzero_snn')%  [y(1,:), sc2] = scale_snn(y(1,:), 'sc_sqrt_snn')%  [y(2,:), sc3] = scale_snn(x(2,:), 'sc_sqrt_snn')%%  scale_snn([0 1 2], sc1)%%  xinv = invscale_snn(y, {[sc1 sc2]; sc3})%  %  % See also%%  INVSCALE_SNN%%   NOT DOCUMENTED (use INVSCALE_SNN instead):%   x = scale_snn(y, sc, 'inv')%%#function sc_exp_snn sc_inv_snn sc_log_snn sc_meanzero_snn %#function sc_moneone_snn sc_sqrt_snn sc_stdone_snn sc_zeroone_snn if (nargin == 2)   if isstr(sc)                               % scale_snn(x, scaling_name)      [y, sc] = feval(sc, x);   elseif iscell(sc)      for k = 1:size(x, 1)	  tmp = x(k,:);          for i = 1:prod(size(sc{k}))              tmp = feval(sc{k}(i).name, tmp, sc{k}(i).parameters);	  end          y(k,:) = tmp;      end   else      for i = 1:prod(size(sc))          x = feval(sc(i).name, x, sc(i).parameters);      end      y = x;   endelseif (nargin == 3)   if strcmp('inv', s)      y = invscale_snn(x, sc);   else      error('SCALE_SNN: 3rd argument must be ''inv''.');   endelse   error('SCALE_SNN: incorrect number of input arguments');end

⌨️ 快捷键说明

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