Машинное обучение проклятие размерности объяснил?

14

У меня проблемы с пониманием проклятия размерности. В частности, я сталкивался с этим, когда делал scikit-learnурок по Python. Может кто-нибудь объяснить, пожалуйста, ниже в более простой форме? Извините, я пытался понять дольше всего и не могу понять, как они пришли к расчету количества обучающих примеров, чтобы получить эффективную оценку KNN?

Вот объяснение:

Чтобы оценка была эффективной, необходимо, чтобы расстояние между соседними точками было меньше некоторого значения d, которое зависит от проблемы. В одном измерении это требует в среднем n ~ 1 / d точек. В контексте приведенного выше примера KNN, если данные описываются только одним признаком со значениями в диапазоне от 0 до 1 и с n тренировочными наблюдениями, то новые данные будут не дальше, чем 1 / n. Следовательно, правило принятия решения о ближайшем соседе будет эффективным, как только 1 / n будет небольшим по сравнению со шкалой вариаций между классами.

Если количество объектов равно p, теперь вам нужно n ~ 1 / d ^ p баллов. Допустим, нам требуется 10 точек в одном измерении: теперь 10 p точек требуется в p измерениях для прокладывания пространства [0, 1]. По мере того как p становится большим, количество тренировочных точек, необходимых для хорошей оценки, растет в геометрической прогрессии.

ссылка здесь

РЕДАКТИРОВАТЬ: также должен ли тильда ( ~) представлять приблизительные в этом примере? или оператор тильды питона?

Chowza
источник
2
Тильда означает «пропорционально»
перезагрузка 20.07.13
@mbatchkarov Ха, спасибо. Примерно и пропорционально такому разному выводу LOL

Ответы:

11

Перевод этого пункта:

Пусть будет набор функций, которые описывают точку данных. Может быть, вы смотрите на погоду. Этот набор функций может включать такие вещи, как температура, влажность, время суток и т. Д. Таким образом, каждая точка данных может иметь одну функцию (если вы смотрите только на температуру) или она может иметь 2 функции (если вы смотрите на температуру и влажность) и тд. Этот абзац говорит о том, что исходя из количества измерений, которые имеют ваши данные (сколько у них функций), тем сложнее сделать оценку. Это потому, что если у вас просто есть одна особенность данных или одномерные данные, то, когда вы переходите к графику этих данных, вы получаете линейный график и представляете линейный график, скажем, между 0-50 градусов C, это займет всего лишь 50 случайных точек перед каждой точкой данных находятся примерно на 1 градус от любой другой точки данных. Теперь давайте Подумайте о двух измерениях, говоря о влажности и температуре, теперь сложнее найти, что d такое, что все точки находятся в пределах «d» единиц друг от друга. Представьте, что температура все еще находится в диапазоне 0-50, но теперь влажность также находится в диапазоне 0-100%. Сколько случайных очков нужно, чтобы получить все очки в пределах 1 или 2 друг от друга? Теперь это 100 * 50 или ~ 5000! Теперь представьте 3 измерения и т. Д. И т. Д. Вам нужно больше точек, чтобы каждая точка находилась в пределах d от какой-либо другой точки. Чтобы облегчить вашу жизнь, попробуйте предположить, что «d» равно 1, и посмотрите, что произойдет. Надеюсь, это поможет! Сколько случайных очков нужно, чтобы получить все очки в пределах 1 или 2 друг от друга? Теперь это 100 * 50 или ~ 5000! Теперь представьте 3 измерения и т. Д. И т. Д. Вам нужно больше точек, чтобы каждая точка находилась в пределах d от какой-либо другой точки. Чтобы облегчить вашу жизнь, попробуйте предположить, что «d» равно 1, и посмотрите, что произойдет. Надеюсь, это поможет! Сколько случайных очков нужно, чтобы получить все очки в пределах 1 или 2 друг от друга? Теперь это 100 * 50 или ~ 5000! Теперь представьте 3 измерения и т. Д. И т. Д. Вам нужно больше точек, чтобы каждая точка находилась в пределах d от какой-либо другой точки. Чтобы облегчить вашу жизнь, попробуйте предположить, что «d» равно 1, и посмотрите, что произойдет. Надеюсь, это поможет!


источник
2
Это хорошее объяснение, но как насчет уравнения, которое они предоставили? В вашем примере с 1 объектом, где я хочу, чтобы оценщик находился на расстоянии 1 градуса (то есть d = 1), тогда их уравнение n~1/dбудет означать, что n должно быть приблизительно 1? Это не имеет особого смысла?
Нет, они говорят, что если у объекта есть диапазон 0-1 (у моего был диапазон 0-50), то вы будете получать 1 / d баллов, так что каждый будет приблизительно на расстоянии d от другого. Это работает для моего примера, так как вам нужно около 50/1 баллов, где 1 - это «d». Извините, что вводить эти уравнения в заблуждение непонятно, но я думаю, что это должно помочь
12

matty-d уже предоставил очень хороший ответ, но я нашел другой ответ, который также объясняет эту проблему, от пользователя Quora Кевина Лакера:

Допустим, у вас есть прямая линия длиной 100 ярдов, и вы где-то на нее уронили пенни. Это не было бы слишком сложно найти. Вы идете вдоль линии, и это занимает две минуты.

Теперь предположим, что у вас есть квадратные 100 ярдов с каждой стороны, и вы уронили где-то на это пенни. Это было бы довольно сложно, как поиск по двум слитым футбольным полям. Это может занять несколько дней.

Теперь куб 100 ярдов в поперечнике. Это все равно что искать 30-этажное здание размером с футбольный стадион. Тьфу.

Трудность поиска в пространстве становится намного сложнее, поскольку у вас больше измерений. Вы можете не понимать это интуитивно, когда это просто указано в математических формулах, поскольку все они имеют одинаковую «ширину». Это проклятие размерности. У него есть имя, потому что оно не интуитивно понятно, полезно и все же просто.

chutsu
источник
-1

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

кварцевый
источник