Нейронные сети, многослойная сеть, практика
Добрый день.
Теорию ИНС (по крайней мере бызовое понимание, простые сети, и смысл для чего оно все нужно) вполне представляю. Однако ни разу не делал расчет в matlab. Решил попробовать. Т.к. материала огромное количество, систематизировать все это самому проблемно.
Возникшие вопросы:
1. Приложение nnstart, в частности Fitting app (nftool) и Pattern Rec.app (nprtool) имеют однослойную структуру, где можно задать количесво входов, выходов и кол-во нейронов внутреннего слоя. Верно? Других вариаций по структуре тут невозможно сдлеать?
2. При обучении в этих приложениях не видно способа обратного распространения ошибки. Есть только
- Levenberg Marquardt
- Bayesian Regularization
- Scaled Conj. Gradient
3. ПРиобучении наборы данных Validation и Testing минимум по 5% от общего числа. Почему нельзя меньше? И до конца не понимаю особой разницы между ними?
4. Как создать многослойную сеть прямого распространения?
Прочитал пару методических пособий, и кучу статей и статеек в интернете. Подходы и используемые матлабовские ф-ции совершенно разные и их такое дикое количество, что . . . .
Единственное что нашел , в чем как с первого взгляда кажется можно потихоньку разобраться, это вот это. Но тут как я понял все свое. Даже ф-ция активации.
Основной общий вопрос: Как создать многослойную сеть прямого распространения? Какой подход правильный и каким тулбоксом/инструментарием пользоваться для этого или еще чем . . .
Ответы
Привет!
3. Валидация используется во время обучения, тестовые данные, в свою очередь используются только при тестировании.
4. Если тебе надо создать сеть прямого распространения, используй Deep Network Designer. Или можешь в коде:
Layers = [sequenceInputlayer(input_size)
fullyConnectedLayer(num_hidden_units_1),
reluLayer(),
fullyConnectedLayer(num_hidden_units_2),
reluLayer(),
fullyConnectedLayer(outpu_size),
RegressionLayer()]
Спасибо, буду пробовать.