У меня проблемы с пониманием проклятия размерности. В частности, я сталкивался с этим, когда делал 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 становится большим, количество тренировочных точек, необходимых для хорошей оценки, растет в геометрической прогрессии.
РЕДАКТИРОВАТЬ: также должен ли тильда ( ~) представлять приблизительные в этом примере? или оператор тильды питона?