Boyutsallığın lanetini anlamakta zorlanıyorum. Özellikle, scikit-learnpython öğretici yaparken onunla karşılaştım . Birisi aşağıdakileri daha basit bir şekilde açıklayabilir mi? Üzgünüm en uzun süredir anlamaya çalışıyorum ve verimli bir KNN tahmincisi elde etmek için eğitim örneklerinin sayısının nasıl hesaplandığını anlayamıyorum?
İşte açıklama:
Bir tahmincinin etkili olabilmesi için, komşu noktalar arasındaki mesafenin, probleme bağlı olan d değerinden daha az olması gerekir. Bir boyutta, bu ortalama n ~ 1 / d puan gerektirir. Yukarıdaki KNN örneği bağlamında, eğer veriler 0 ila 1 arasında değişen değerlere ve n eğitim gözlemine sahip sadece bir özellik tarafından tanımlanırsa, yeni veriler 1 / n'den daha uzak olmayacaktır. Bu nedenle, sınıflar arası özellik varyasyonlarının ölçeğine göre 1 / n küçük olduğunda en yakın komşu karar kuralı etkili olacaktır.
Özellik sayısı p ise, şimdi n ~ 1 / d ^ p noktasına ihtiyacınız vardır. Bir boyutta 10 noktaya ihtiyacımız olduğunu varsayalım: Şimdi [0, 1] boşluğunu açmak için p boyutlarında 10 ^ p noktası gerekiyor. P büyüdükçe, iyi bir tahminci için gerekli olan eğitim noktalarının sayısı katlanarak artar.
EDIT: Ayrıca tilde ( ~) bu örnekte yaklaşık temsil etmek gerekiyor mu? ya da python tilde operatörü?