Избегайте перенастройки в регрессии: альтернативы регуляризации

19

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

Когда целью является точность прогноза (не объяснение), есть ли хорошие альтернативы регуляризации, особенно подходящие для больших наборов данных (ми / миллиарды наблюдений и миллионы функций)?

Бенуа Санчес
источник
3
«Большие наборы данных» могут означать множество наблюдений, множество переменных или оба, и ответ может зависеть от количества наблюдений и переменных.
Пер
Почему бы не использовать нормализацию регуляризации? Для нейронных сетей есть отсев
seanv507
4
Преимущество регуляризации состоит в том, что это вычислительно дешево. Методы ансамбля, такие как пакетирование и бустинг (и т. Д.) В сочетании с методами перекрестной проверки для диагностики моделей, являются хорошей альтернативой, но это будет гораздо более дорогостоящим решением.
Дигио
1
Это может представлять интерес: stats.stackexchange.com/a/161592/40604
Дан,
1
Добавим к комментарию Digio: регуляризация обходится дешево по сравнению с упаковкой / повышением, но все же стоит дороже по сравнению с альтернативой «без регуляризации» (см., Например, этот пост Бена Рехта о том, как регуляризация затрудняет глубокое обучение ). Если у вас огромное количество сэмплов, никакая регуляризация не может работать намного дешевле. Модель все еще может обобщать, как указывает @ hxd1001 )
Берк У.

Ответы:

11

Два важных момента, которые не имеют прямого отношения к вашему вопросу:

  • Во-первых, даже целью является точность, а не интерпретация, во многих случаях по-прежнему необходима регуляризация, поскольку она обеспечит «высокую точность» в реальном наборе данных испытаний / производства, а не данных, используемых для моделирования.

  • Во-вторых, если существует миллиард строк и миллионов столбцов, возможно, регуляризация не требуется. Это потому, что данные огромны, и многие вычислительные модели имеют «ограниченную мощность», т. Е. Переоснащение практически невозможно. Вот почему некоторые глубокие нейронные сети имеют миллиарды параметров.


Теперь о вашем вопросе. Как упоминали Бен и Андрей, есть несколько вариантов в качестве альтернативы регуляризации. Я хотел бы добавить больше примеров.

  • Использовать более простую модель (например, уменьшить количество скрытых единиц в нейронной сети. Использовать ядро ​​полинома более низкого порядка в SVM. Уменьшить количество гауссианов в смеси гауссов. И т. Д.)

  • Остановитесь рано в оптимизации. (Например, сократить время обучения нейронной сети, уменьшить количество итераций в оптимизации (CG, BFGS и т. Д.)

  • Среднее по многим моделям (например, случайный лес и т. Д.)

Haitao Du
источник
Большое спасибо. Второй вариант (остановка пораньше) - это то, что мы сейчас пробуем с SGD. Это работает довольно хорошо. Мы хотим сравнить это с регуляризацией в ближайшее время. Вам известна какая-нибудь статья, в которой упоминается этот метод?
Бенуа Санчес
1
Существует намек на геометрическую связь между ранней остановкой с градиентным спуском и регуляризацией. Например, регрессия гребня в ее первичной форме запрашивает параметры, минимизирующие функцию потерь, которые лежат внутри твердого эллипса с центром в начале координат, причем размер эллипса является функцией силы регуляризации. Параметры гребня лежат на поверхности эллипса, если они отличаются от нерегулируемого решения. Если вы начнете восхождение, начиная с начала координат, а затем остановитесь рано, вы окажетесь на границе одного из этих эллипсов ...
Мэтью Друри,
Поскольку вы следовали за градиентами, вы следовали по пути к истинному минимуму, поэтому большую часть времени вы будете приближаться к решению гребня. Я не уверен, насколько строгим вы можете сделать этот ход мыслей, но могут быть отношения.
Мэтью Друри
@BenoitSanchez Эта статья может быть актуальной. Авторы решают другую проблему (переоснащение в вычислениях собственных векторов), но стратегия борьбы с перенастройкой та же (то есть неявная регуляризация путем сокращения вычислений). Стратегия состоит в том, чтобы решить более дешевую проблему, которая дает приблизительное решение (что, я думаю, - то же самое, что остановиться на ранней стадии оптимизации).
Берк У.
@BenoitSanchez Я рекомендую это. Лекции Лоренцо доступны на YouTube, но на этой странице также есть ссылки на несколько статей mit.edu/~9.520/fall17/Classes/early_stopping.html
Дэвид Козак
14

Две альтернативы регуляризации:

  1. Есть много, много наблюдений
  2. Используйте более простую модель

Джефф Хинтон (соавтор обратного распространения) однажды рассказал историю инженеров, которые сказали ему (перефразируя): «Джефф, нам не нужно бросать наши глубокие сети, потому что у нас так много данных». И его ответ был: «Ну, тогда вы должны построить еще более глубокие сети, пока вы не переоснастите их, а затем использовать отсев». Помимо хороших советов, вы можете избежать регуляризации даже с глубокими сетями, если данных достаточно.

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

Бен Огорек
источник
3

Некоторые дополнительные возможности, чтобы избежать переоснащения

  • Уменьшение размерности

    Вы можете использовать алгоритм, такой как анализ главных компонентов (PCA), чтобы получить подпространство пространственных объектов меньшего размера. Идея PCA заключается в том, что вариация вашегом Пространство пространственных объектов может быть хорошо аппроксимировано L<<м пространственное подпространство.

  • Выбор характеристик (также уменьшение размерности)

    Вы можете выполнить раунд выбора объектов (например, используя LASSO), чтобы получить пространство пространственных объектов меньшего размера. Что-то вроде выбора функции с использованием LASSO может быть полезно, если какое-то большое, но неизвестное подмножество функций не имеет значения.

  • Используйте алгоритмы, менее подверженные переобучению, такие как случайный лес. (В зависимости от настроек, количества объектов и т. Д., Они могут быть более дорогими в вычислительном отношении, чем обычные наименьшие квадраты.)

    В некоторых других ответах также упоминались преимущества методов и алгоритмов бустинга и пакетирования.

  • Байесовские методы

    Добавление априора к вектору коэффициентов уменьшает переоснащение. Концептуально это связано с регуляризацией: например. регрессия гребня является частным случаем максимальной апостериорной оценки.

Мэтью Ганн
источник
2

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

Андрей Лукьяненко
источник
1
Этот вопрос ясно задает вопрос о регрессионных (линейных, логистических) моделях.
Мэтью Друри
2
Технически говоря, линейная и логистическая регрессия - это очень простые нейронные сети.
Андрей Лукьяненко
2
Я не думаю, что это меняет мое убеждение, что это не отвечает на вопрос, который задают. Если вы переделаете это, чтобы сказать «если вы подгоните регрессию к некоторой форме градиентного спуска и применили ранний останов», это было бы лучше.
Мэтью Друри
Даже в sklearn есть ряд моделей, которые поддерживают ограничение количества итераций параметров. Это может быть использовано для отслеживания точности. Но я полагаю, что вы правы, что формулировка не совсем правильная.
Андрей Лукьяненко
1

Две мысли:

  1. Я придерживаюсь стратегии «использовать более простую модель», предложенной Беном Огореком .

    Я работаю с очень редкими линейными классификационными моделями с малыми целочисленными коэффициентами (например, максимум 5 переменных с целочисленными коэффициентами от -5 до 5). Модели хорошо обобщают с точки зрения точности и хитрости показателей производительности (например, калибровки).

    Этот метод в этой статье будет масштабироваться до больших размеров выборки для логистической регрессии и может быть расширен для соответствия другим линейным классификаторам с выпуклыми функциями потерь. Он не будет обрабатывать случаи с большим количеством функций (еслиN/d достаточно большой, и в этом случае данные отделимы, и проблема классификации становится легкой).

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

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

Берк У.
источник