Влияет ли проклятие размерности на некоторые модели больше, чем на другие?

15

Места, которые я читал о проклятии размерности, объясняют его в первую очередь в связи с kNN и линейными моделями в целом. Я регулярно вижу топ-рейтингов в Kaggle, использующих тысячи функций в наборе данных, который вряд ли имеет 100 тыс. Точек данных. Они в основном используют Boosted деревья и NN, среди других. Многие функции кажутся слишком высокими, и я чувствую, что на них повлияет проклятие размерности. Но, похоже, это не так, поскольку эти модели делают их лидерами соревнований. Итак, вернемся к моему первоначальному вопросу - проклятие размерности влияет на некоторые модели больше, чем на другие?

В частности, меня интересуют следующие модели (только потому, что это те, которые мне известны / используются):

  • Линейно-логистическая регрессия
  • Деревья решений / RandomForest / Усиленные деревья
  • Нейронные сети
  • SVM
  • Knn
  • К-среднее кластеризация
Дилип Кумар Патчиголла
источник
Короткий ответ определенно да, но, может быть, вы хотите модели, которые вам действительно интересны? Я уверен, что сообщество CV могло бы рассказать вам о тысячах различных типов моделей, на которые повлияло проклятие размерности. Таким образом, сужение вашего внимания к определенному типу моделей может помочь с ответом на этот вопрос.
@RustyStatistician - я добавил несколько моделей, которые мне интересны.
Дилип Кумар Патчиголла
Я довольно заинтересован в этом вопросе, но он остался без ответа. Как я могу показать это наглядно, чтобы получить ответы?
Дилип Кумар Патчиголла

Ответы:

17

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

Обобщенные линейные модели

Линейные модели очень страдают от проклятия размерности. Линейные модели разделяют пространство на одну линейную плоскость. Даже если мы не хотим напрямую вычислять

β^=(XX)1Xy
Поставленная проблема все еще очень чувствительна к коллинеарности и может считаться «плохо обусловленной» без какого-либо регуляризации. В пространствах с очень большой размерностью существует более одной плоскости, которую можно подогнать к вашим данным, и без надлежащего типа регуляризации модель может вести себя очень плохо. В частности, регуляризация пытается заставить одно уникальное решение существовать. И L1, и квадрат L2 регуляризации пытаются минимизировать веса, и их можно интерпретировать, выбирая модель с наименьшими весами как наиболее «правильную» модель. Это можно рассматривать как математическую формулировку бритвы Оккама.

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

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


Алгоритмы повышения Boosted Tree, такие как AdaBoost, страдают от проклятия размерности и имеют тенденцию перегружаться, если регуляризация не используется. Я не буду вдаваться в подробности, потому что пост AdaBoost менее или более склонен к переоснащению? объясняет причину, почему лучше, чем я мог.

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

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

K-NN, K-Means

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

Не стесняйтесь спрашивать о моделях, так как мои ответы довольно общие. Надеюсь это поможет.

Армен Агаджанян
источник
Привет, аминь! Отличное краткое объяснение всех моделей, которые я задал. Проблемы с линейными моделями все еще не ясны для меня: линейные модели работают лучше или хуже, чем модели k-NN и k-Means для того же количества размеров? И когда вы сказали, что коллинеарность является проблемой для линейных моделей, подразумеваете ли вы, что при отсутствии (или минимальной) коллинеарности большие размеры не являются проблемой с линейными моделями?
Дилип Кумар Патчиголла
Трудно дать количественную оценку, если линейные модели будут работать лучше, чем k-nn или k-средних для произвольной задачи. Если ваша задача линейно отделима, я бы сделал ставку на линейную модель, а если ваше пространство немного сложнее, я бы выбрал k-nn. Коллинеарность ухудшает проблему проклятия размерности, даже без коллинеарности проклятие размерности все еще применяется. K-средства должны страдать в той же степени, что и k-nn, поскольку они оба управляются соседями и обычно используют одну и ту же функцию расстояния. В действительности трудно определить, насколько плоха ХПК. Надеюсь это поможет!
Армен Агаджанян
Каково ваше определение проклятия размерности (CoD)? Ваш ответ предполагает, что линейные модели больше всего страдают от CoD, это вводит в заблуждение: будучи глобальным методом, линейные модели страдают гораздо меньше, чем локализованные методы, такие как KNN.
Матифу