1

Я немного изучал нейронные сети и недавно узнал об алгоритме обучения отсева. Там есть отличные документы, чтобы понять, как это работает, в том числе и от авторов.Выбор модели с нейронной сетью отсева обучения

Таким образом, я построил нейронную сеть с тренировкой отсева (это было довольно легко), но я немного смущен тем, как выполнять выбор модели. Из того, что я понимаю, похоже, что выпад - это метод, который будет использоваться при обучении конечной модели, полученной путем выбора модели.

Что касается тестовой части, бумаги всегда говорят об использовании полной сети с уменьшенными весами, но они не упоминают, как использовать ее в части обучения/валидации (по крайней мере, те, которые я читал).

Я думал об использовании сети без отсечения для части выбора модели. Скажите, что заставляет меня понять, что сеть хорошо работает с N нейронами. Затем, для окончательной подготовки (той, которую я использую для обучения сети для тестовой части), я использую 2N нейроны с вероятностью отсева p = 0,5. Это заставляет меня иметь в среднем ровно N нейронов, поэтому большую часть времени вы пользуетесь сетью в нужной емкости.

Правильно ли это?

Кстати, я знаю, что отброс может быть не лучшим выбором с небольшими наборами данных. Проект, над которым я работаю, имеет академические цели, поэтому мне не нужно, чтобы я использовал лучшую модель для данных, если я придерживаюсь хороших практик в обучении машинам.

ответ

2

Использование различной модели для выбора модели и другое для окончательного обучения никогда не будет хорошим подходом. Вы должны использовать ту же самую процедуру (с выпадением, с той же вероятностью и т. Д.) Во время выбора модели. На самом деле эта вероятность - это еще один гиперпараметр, который вам нужно подбирать при выборе модели. Фактически нет никакой разницы между выбором модели с и без dorpout, поэтому никто не пишет об этом в своих документах - просто замечая изменения.

+0

Прямо к делу. Мне это нравится :) – mp85

0

Прежде всего, выбор модели и обучение конкретной модели - это совершенно разные проблемы. Для выбора модели вам обычно нужен набор данных, который полностью не зависит от обоих наборов тренировок, используемых для построения модели и набора тестов, используемых для оценки его производительности. Поэтому, если вы делаете, например, кросс-валидацию, вам потребуется внутренняя перекрестная проверка (для обучения моделей и оценки производительности в целом) и внешняя перекрестная проверка для выбора модели.

Чтобы понять, почему, рассмотрите следующий мысленный эксперимент (бесстыдно украденный с this paper). У вас есть модель, которая делает совершенно случайное предсказание. Он имеет ряд параметров, которые вы можете установить, но не имеет никакого эффекта. Если вы достаточно долго пытаетесь использовать различные параметры, вы, в конечном итоге, получите модель, которая имеет лучшую производительность, чем все остальные, просто потому, что вы производите выборку из случайного распределения. Если вы используете такие же данные для всех этих моделей, это модель, которую вы выберете. Если у вас есть набор тестов , он быстро скажет вам, что реального эффекта нет, потому что производительность этого параметра, которая обеспечивает хорошие результаты на этапе построения модели, не лучше в отдельном наборе.

Теперь вернемся к нейронным сетям с отсева. Вы не ссылались на какую-либо конкретную статью; Я предполагаю, что вы имеете в виду Srivastava et. и др. «Отключение: простой способ предотвратить перенапряжение нейронных сетей». Я не эксперт по этому вопросу, но метод для меня, похоже, похож на то, что используется в случайных лесах или мешках, чтобы смягчить недостатки, которые может проявить отдельный ученик, неоднократно применяя его в несколько разных контекстах.Если бы я правильно понял метод, в основном то, что вы в конечном итоге, это среднее по нескольким возможным моделям, очень похожее на случайные леса.

Это способ сделать индивидуальную модель лучше, но не для выбора модели. Выпадение - это способ настройки ученого веса для одной модели нейронной сети.

Чтобы сделать выбор модели на этом, вам нужно будет обучать и тестировать нейронные сети с различными параметрами, а затем оценивать их на совершенно разных наборах данных, как описано в документе, на который я ссылался выше.

+0

Вы правы во всем, я, вероятно, не очень хорошо себя объяснил. Я знаю, как использовать данные для обучения, проверки и тестирования (я также знаю об этом эксперименте, хотя и представлен немного по-другому), речь шла только о том, как применить модель к части проверки (но я думаю, что я не хорошо объясняя себя даже этим предложением). Но спасибо за ресурс, я прочитаю его и, конечно, узнаю от него что-то новое. – mp85

Смежные вопросы