В общем, проклятие размерности значительно усложняет задачу поиска в пространстве и влияет на большинство алгоритмов, которые «учатся» путем разделения своего векторного пространства. Чем выше размерность нашей задачи оптимизации, тем больше данных нам нужно, чтобы заполнить пространство, которое мы оптимизируем.
Обобщенные линейные модели
Линейные модели очень страдают от проклятия размерности. Линейные модели разделяют пространство на одну линейную плоскость. Даже если мы не хотим напрямую вычислять
β^=(X′X)−1X′y
Поставленная проблема все еще очень чувствительна к коллинеарности и может считаться «плохо обусловленной» без какого-либо регуляризации. В пространствах с очень большой размерностью существует более одной плоскости, которую можно подогнать к вашим данным, и без надлежащего типа регуляризации модель может вести себя очень плохо. В частности, регуляризация пытается заставить одно уникальное решение существовать. И L1, и квадрат L2 регуляризации пытаются минимизировать веса, и их можно интерпретировать, выбирая модель с наименьшими весами как наиболее «правильную» модель. Это можно рассматривать как математическую формулировку бритвы Оккама.
Деревья решений Деревья
решений также страдают от проклятия размерности. Деревья решений непосредственно разделяют выборочное пространство на каждом узле. По мере увеличения выборочного пространства расстояния между точками данных увеличиваются, что затрудняет поиск «хорошего» разбиения.
Случайные леса
Случайные леса используют набор деревьев решений для своих прогнозов. Но вместо того, чтобы использовать все функции вашей проблемы, отдельные деревья используют только подмножество функций. Это минимизирует пространство, которое оптимизирует каждое дерево, и может помочь в борьбе с проблемой проклятия размерности.
Алгоритмы повышения Boosted Tree, такие как AdaBoost, страдают от проклятия размерности и имеют тенденцию перегружаться, если регуляризация не используется. Я не буду вдаваться в подробности, потому что пост AdaBoost менее или более склонен к переоснащению?
объясняет причину, почему лучше, чем я мог.
Нейронные сети
Нейронные сети странны в том смысле, что они оба подвержены проклятию размерности, зависящему от архитектуры, активаций, глубины и т. Д., И на него не оказывает влияния, поэтому повторение проклятия размерности - это проблема, которая требует большого количества точек в размеры, чтобы покрыть пространство ввода. Один из способов интерпретации глубоких нейронных сетей состоит в том, чтобы думать о том, что все слои ожидают, что самый последний слой будет выполнять сложную проекцию многомерного многообразия на низкоразмерное многообразие, где тогда последний слой классифицируется поверх. Так, например, в сверточной сети для классификации, где последний уровень является слоем softmax, мы можем интерпретировать архитектуру как выполнение нелинейной проекции на меньшее измерение, а затем выполнение полиномиальной логистической регрессии (слой softmax) для этой проекции. Таким образом, в некотором смысле сжатое представление наших данных позволяет нам обойти проклятие размерности. Опять же, это одна из интерпретаций, на самом деле проклятие размерности действительно влияет на нейронные сети, но не на том же уровне, что модели, описанные выше.
SVM
SVM имеют тенденцию не перегружать столько, сколько обобщенные линейные модели из-за чрезмерной регуляризации, которая происходит. Проверьте этот пост SVM, Переоснащение, проклятие размерности для более подробной информации.
K-NN, K-Means
На К-среднее и К-НН большое влияние оказывает проклятие размерности, так как они оба используют меру квадрата расстояния L2. По мере увеличения количества измерений увеличивается расстояние между различными точками данных. Вот почему вам нужно большее количество точек, чтобы покрыть больше места в надежде, что расстояние будет более наглядным.
Не стесняйтесь спрашивать о моделях, так как мои ответы довольно общие. Надеюсь это поможет.