У мене виникають проблеми з розумінням прокляття розмірності. Зокрема, я натрапив на це, виконуючи scikit-learnпідручник з пітона. Може хтось, будь ласка, пояснить нижче простішим способом? Вибачте, що я намагаюся розібратися довгий час і не можу зрозуміти, як вони придумали підрахунок кількості навчальних прикладів для досягнення ефективного оцінювача KNN?
Ось пояснення:
Щоб оцінювач був ефективним, потрібно, щоб відстань між сусідніми точками було менше деякого значення d, що залежить від проблеми. В одному вимірі для цього потрібно в середньому n ~ 1 / d балів. У контексті вищенаведеного прикладу KNN, якщо дані описуються лише однією ознакою зі значеннями від 0 до 1 та з n навчальними спостереженнями, нові дані будуть не далі 1 / n. Отже, правило рішення найближчого сусіда буде ефективним, як тільки 1 / n буде невеликим порівняно зі шкалою варіацій між класовими варіантами.
Якщо кількість функцій p, то зараз вам потрібні n ~ 1 / d ^ p балів. Скажімо, нам потрібно 10 балів в одному вимірі: Тепер для розміщення пробілу [0, 1] потрібно 10 ^ p точок у розмірах p. Коли p стає великим, кількість навчальних балів, необхідних для хорошого оцінювача, зростає експоненціально.
EDIT: також чи тильда ( ~) повинна бути приблизною у цьому прикладі? чи оператор пітонного тильди?