我正在使用Matlab的神经网络工具箱,我已经使用genFunction生成了一个神经网络函数。
我想知道 mapminmax_apply函数做什么,这些变量用于及其在神经网络中的含义:
% Input 1
x1_step1_xoffset = [0.151979470539401;-89.4008362047824;0.387909026651698;0.201508462422352];
x1_step1_gain = [2.67439342164766;0.0112020512930696;3.56055585104964;4.09080417195814];
x1_step1_ymin = -1;
这是mapminmax_apply函数:
% Map Minimum and Maximum Input Processing Function
function y = mapminmax_apply(x,settings_gain,settings_xoffset,settings_ymin)
y = bsxfun(@minus,x,settings_xoffset);
y = bsxfun(@times,y,settings_gain);
y = bsxfun(@plus,y,settings_ymin);
end
这里是对上述变量的函数的调用:
% Input 1
Xp1 = mapminmax_apply(X{1,ts},x1_step1_gain,x1_step1_xoffset,x1_step1_ymin);
答案 0 :(得分:1)
我想:
mapminmax函数也可以返回它使用的设置(其中包括偏移,增益和ymin)。由于某些原因,在NN函数的代码吐出中,这些设置在文件的开头,在Input1下以x1_step1_xoffset等形式给出。
mapminmax(' apply',X,PS)会将PS中的设置应用于mapminmax算法。
所以,我认为这里生成的代码比你需要的步骤更多。你可以摆脱Input1步骤,只使用一个简单的xp1 = mapminmax(x1'),而不是mapminmax_apply
干杯
答案 1 :(得分:0)
Matlab NN工具箱会自动规范化数据集的特征。
mapminmax_apply 和 mapminmax_reverse 功能与功能标准化有关。
函数 mapminmax_apply 精确地将输入范围转换/归一化为-1到1。
由于输出也将以归一化的向量/值形式出现(介于-1到1之间),因此需要使用 mapminmax_reverse 函数将其反向归一化。
欢呼