我有以下回声状态网络 (ESN) 超参数:m_GS、k_GS、c_GS、gamma_GS。我想使用我的 ESN 通过网格海找到这四个超参数的最佳值...
我有以下回声状态网络 (ESN) 超参数: m_GS,k_GS,c_GS,gamma_GS
。我想使用我的 ESN 通过 MATLAB 中的网格搜索方法找到这四个超参数的最佳值。我想要最小化的函数是离散时间向量 L2_loss(m)
,其中 M=101
是函数中模拟时间步数 m=1,2,...,M
。因此, L2_loss
是 1
双向 101
量。我的尝试如下所示:
% Grid Search
ndatapoints = 20;
m_GS = linspace(0,1,ndatapoints); % [kg]
k_GS = linspace(0,100,ndatapoints); % [N/m]
c_GS = linspace(0,100,ndatapoints); % [kg/s]
gamma_GS = linspace(100,200,ndatapoints); % [N/m^3]
[m_G,k_G,c_G,gamma_G] = ndgrid(m_GS,k_GS,c_GS,gamma_GS);
fitresult = L2_loss;
[minval, minidx] = min(fitresult);
m_GS_optimal = m_G(minidx);
k_GS_opitimal = k_G(minidx);
c_GS_optimal = c_G(minidx);
gamma_GS_optimal = gamma_G(minidx);
我不确定这是否正确,因为 c_GS_optimal
和 k_GS_optimal
都为零。我需要增加 ndatapoints
还是将其设置为等于 m
?