algorithm #machine-learning #neural-network
#алгоритм #машинное обучение #нейронная сеть
Вопрос:
Я хочу описать вам алгоритм, который я использовал для выбора количества скрытых слоев и количества нейронов в каждом из них (я нигде не смог найти одобрения этого подхода, хотя мне он кажется очень логичным):
- Разделите данные на 60% (обучение), 20% (проверка) и 20% (тестирование) части.
Теперь я хочу проверить все возможности в сети с одним скрытым слоем и двумя скрытыми слоями. Для этого:
- Я буду обучать сеть с одним скрытым слоем и с 1, 2 и 3 нейронами в пределах этого одного слоя (3 разные сети). После этого я вычислю ошибку для набора проверок (RMSE и MAE) для каждой из этих сетей.
- Я сделаю то же самое для сети с 2 скрытыми слоями, т.Е. Я собираюсь оценить сеть с двумя скрытыми слоями со всеми возможностями количества нейронов в каждом слое (но количество нейронов может быть только 1, 2 или 3). Это означает, что у меня будет 9 пар возможных результатов: 1 нейрон в первом скрытом слое, 1 нейрон во втором скрытом слое. 2 нейрона в первом скрытом слое, 1 нейрон во втором скрытом слое и так далее… Для каждой из 9 архитектур я буду вычислять RMSE и MAE между прогнозами для набора проверок и фактическими значениями.
- Из всех этих итераций я выберу архитектуру, для которой ошибка в наборе проверки является наименьшей.
Не могли бы вы сказать мне, имеет ли этот алгоритм какой-либо смысл? Если нет, что еще я могу сделать с набором проверок, чтобы выбрать наилучшую архитектуру для нейронной сети?
Ответ №1:
Это абсолютно стандартный метод выбора гиперпараметра / модели. «Хитрость», на которую полагается, заключается в том, что вы выбираете из очень ограниченного набора моделей (в вашем случае 12), и, следовательно, ваша оценка ошибки будет очень жесткой. Вы можете обратиться к книге Владимира Вапника «Теория статистического обучения», в которой приведены точные оценки того, почему такой подход является отличным.
При этом вы работаете в предположении, что 20% ваших данных «достаточно велики» для оценки вашей производительности, если это не так, вы можете посмотреть на перекрестную проверку