Плато нейронной сети, несмотря ни на что - PullRequest
0 голосов
/ 15 июня 2019

У меня есть набор данных ~ 400 000 образцов автомобилей, и цель состоит в том, чтобы создать регрессор, который будет выводить цену данного автомобиля. Помимо некоторых деталей, набор данных имеет около десятка различных функций (марка автомобиля, модель, комплектация, год выпуска, пробег, объем двигателя, литры, состояние салона и кузова, тип заголовка, дата, указанная для продажи и т. Д.). Я пробовал десятки различных архитектур NN с различными комбинациями функций. В конце концов, топ-10 лучших моделей работают лишь немного лучше, чем в среднем. Наряду с десятками и десятками различных архитектур моделей, я также провел гипер-настройку методом грубой силы, где было обучено ~ 10 000 моделей. Опять же, они в основном плато на тех же показателях.

Потеря тренировочного набора (~ 320 000 образцов): enter image description here

Проверка достоверности RMSE (~ 80 000 образцов): to

Мой вопрос

Почему большинство (почти все) модели плато имеют примерно одинаковую потерю тренировки и ошибку валидации? На что это указывает?

1 Ответ

0 голосов
/ 15 июня 2019

Нейронная сеть, которая «не может обучаться», может означать что угодно.Может быть, вы используете неправильное целевое значение?Вы, вероятно, не перегружаете, но это все, что можно сказать из вашего графика.Вам необходимо тщательно отладить это, установить простые базовые показатели и т. Д.

Убедитесь, что вы нормализовали все свои входы и выходы до нулевого среднего и 1,0 стандартного отклонения.Сверьтесь с базовой линией, такой как Случайный лес или с простой линейной моделью.

И, прежде всего, прочитайте Рецепт обучения нейронных сетей от Andrej Karpathy.Действительно отличный совет для этой ситуации.

...