Первых проверочной ссылки:MATLAB нейронной сеть инициализация веса в нескольких петлях
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
), вставить в них данные выборочной выборки и средние значения между выходами.
Спасибо.
Спасибо за ответ. Таким образом, мы должны сохранять «rng» и называть его при каждом вызове этих кодов алгоритмом оптимизации как функцию затрат или использовать только «rng» перед циклом ourter и иметь как случайные числа во всех циклах и разные в каждом вызове функции стоимости? – user2991243
Мое понимание с rng заключается в том, что он инициализирует генератор случайных чисел для последующего использования с разработкой ваших моделей. Таким образом, вы можете определить конкретные числа для предсказуемой последовательности чисел (повторите один и тот же эксперимент дважды). Надеюсь это поможет! –