Вопрос

Я немного не уверен в оптимизации нейронной сети с 3 или более слоями. Входные данные довольно шумные, и я, кажется, проецирую шум в обучение (сильная предвзятость в данных, 90% принадлежат к одному классу из пяти).

Тем не менее, я хотел бы получить некоторую отзыв о интерпретации (я использую 50/25/8/8/8 neurons с выбросом (geat_prob = 0,9 после первого скрытого слоя):

enter image description here enter image description here

Это было полезно?

Решение

Переоценка логарифмической формы вашего графика оценки F1 указывает на то, что обучение эффективно, и стоимость движется к некоторому минимуму. Это хорошо. Я предполагаю, что шум, на который вы говорите, является нестабильностью графика после примерно 3K итераций: падение затрат и повышение в зигзагообразном манере.

Это часто намекает на то, что уровень обучения слишком большой. Случайное распространение находит правильный градиент, но вы делаете слишком большой шаг и в конечном итоге поднимаются, а не спускаются по краю функции стоимости. Это особенно очевидно, когда график, кажется, колеблется вокруг какого -то среднего значения. Вы не упомянули, какую точную ценность обучения вы используете, но попытайтесь уменьшить ее. Хорошей отправной точкой будет 0,01, но она зависит от многих факторов, поэтому постарайтесь поэкспериментировать.

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

Наименьшей вероятной проблемой может быть кодирующая архитектура вашей сети. И особенно скромное количество 8 нейронов на последних слоях. В этом случае отдельные нейроны могут оказать значительное влияние на конечный результат. И даже небольшие корректировки, возникающие в результате одного этапа распространения спины, могут потенциально изменить признак значения активации этого нейрона, влияя на результаты других примеров. Попробуйте увеличить количество нейронов на последних слоях. Лично я бы посоветовал попробовать архитектуру 50x50x50.

Надеюсь это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top