在Matlab中由genFunction生成的神经网络中x1_step1_xoffset,x1_step1_gain和x1_step1_ymin是什么?

时间:2014-08-04 11:18:37

标签: networking neural-network matlab

我正在使用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);

2 个答案:

答案 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 函数将其反向归一化。

欢呼