МЛП в керасе: переоснащение или занижение? - PullRequest
0 голосов
/ 21 мая 2018

Я использую keras для проблемы регрессии.Предсказанное значение должно быть положительным и может быть больше 1, поэтому я использую ReLu в качестве функции активации для выходного слоя.Во время обучения я получаю странный MSE сюжет: MSE-график (проверка mse меньше, чем тренировка mse)

Я не мог понять смысл, является ли это чрезмернымподходящая ситуация или неподходящая ситуация, и как я могу справиться с этим?

Ответы [ 3 ]

0 голосов
/ 21 мая 2018

Во-первых, вы должны знать, что перетяжка - это функция с малыми потерями в тренировочном наборе, но функция с большими потерями в тестовом наборе.Во-вторых, вам нужно знать, является ли MSE функцией потерь, которую вы используете, или индикатором оценки для вашей регрессионной задачи.Я думаю, что вы могли нарисовать кривую для индикатора оценки здесь.Вы должны посмотреть на кривую для функции потерь.Наконец, что касается выбора функций активации, верхний этаж совершенно прав.Было бы неплохо использовать линейную функцию активации.

0 голосов
/ 21 мая 2018

Я бы посоветовал вам посмотреть прогнозируемые значения для вашего набора проверки, а также распределение там ваших y меток.

Скорее всего, вы прогнозируете постоянное значение, но это постоянное значениена самом деле дает более низкое значение MSE из-за присутствия смещения в вашем наборе проверки.

Опять же, это гипотеза о том, как вы могли бы в итоге получить такой заговор.

0 голосов
/ 21 мая 2018

Не используйте функцию ReLu для выходного слоя.Единица, которая использует функцию ReLu, становится мертвой, как только входной сигнал становится меньше нуля.Следовательно, это не изменится после этого.Если вы работаете над проблемой регрессии, просто используйте простую линейную функцию в качестве функции активации.

...