首先查看此链接:
http://www.mathworks.com/matlabcentral/newsreader/view_thread/331830#911882
这是一种用train/test/validation
数据集创建神经网络的方法。我有一个优化算法来优化神经网络输入,神经元和层数(最多2个),这个结构在这里呈现:
如您所见,这是主循环结构:
*Position_1(for weight initialization)*
for i=1:num_of_loops
*Position_2(for weight initialization)*
- repeating cross validation
for i=1:num_of_kfolds
*Position_3(for weight initialization)*
- Cross validation loop
end
end
第一个问题:我应该在哪里初始化权重(使用configure
神经网络的patternent
函数(我有二元分类问题)。位置1,位置2或位置3 ?
第二个问题:我应该把rng(0)
放在哪里。在第一个链接中,我们在交叉验证循环之前有这个功能。我为什么要使用这个函数?我应该在哪里为我提出的结构设置它?
Ps。我正在使用外循环(i=1:num_of_loops
)来获得更可靠的输出。在找到最佳模型后,我将使用所有最佳模型结构的神经网络(num_of_loops*num_of_kfolds
),将样本数据插入其中并在输出之间取平均值。
感谢。
答案 0 :(得分:1)
似乎问题在MathsWorks的主题中得到了很好的回答。
问题1:关于第一个问题,您之前的问题here和MathsWorks的问题都表明位置3适合初始化权重。
问题2:如上所述here,' rng在外循环之前只使用一次'