Boyut laneti: kNN sınıflandırıcı


11

Kevin Murphy'nin kitabını okuyorum: Machine Learning-O olasılıklı bir Perspektif. İlk bölümde yazar boyutsallığın lanetini açıklıyor ve anlamadığım bir kısım var. Örnek olarak, yazar şöyle diyor:

Girişlerin bir D-boyutlu birim küp boyunca eşit olarak dağıtıldığını düşünün. Diyelim ki, istenen fraksiyonu içerene kadar x etrafında hiper küp oluşturarak sınıf etiketlerinin yoğunluğunu tahmin ediyoruz.fveri noktalarının. Bu küpün beklenen kenar uzunluğu .eD(f)=f1D

Kafamı bulamadığım son formül. Görünüşe göre, kenar uzunluğundan daha fazla noktaların% 10'unu her boyut boyunca 0.1 olması gerektiğini söylemek ister misiniz? Mantığımın yanlış olduğunu biliyorum ama nedenini anlayamıyorum.


6
Önce durumu iki boyutta görüntülemeyi deneyin. Ben kısmında 1 m * kağıdın 1m levha var ve * sol alt köşeye dışına 0.1m kare, ben var bir 0.1m keserse değil kaldırılır kağıt onda biri, ama sadece yüzüncü .
David Zhang

Yanıtlar:


13

Bu, yüksek boyutlardaki mesafelerin beklenmedik davranışıdır. 1 boyut için [0, 1] aralığına sahipsiniz. Noktaların% 10'u 0.1 uzunluğunda bir segmenttedir. Ancak özellik alanının boyutu arttıkça ne olur?

Bu ifade, 5 boyut için noktaların% 10'una sahip olmak istiyorsanız, küp için 0.63, 10 boyutta 0.79 ve 0.98'lik 100 boyut için bir uzunluğa sahip olmanız gerektiğini söylüyor.

Gördüğünüz gibi, boyutları arttırmak için aynı miktarda puan elde etmek için daha uzağa bakmanız gerekir. Dahası, boyutların sayısı arttıkça, noktaların çoğunun küpün sınırında olduğunu söylüyor. Bu beklenmedik.


4

Bence dikkat edilmesi gereken en önemli şey ifadenin

eD(f)=f1D

başlangıçta gerçekten çok dik. Bu, hacminin belirli bir kısmını kapsamak için ihtiyacınız olacak kenar boyutunun, özellikle başlangıçta önemli ölçüde artacağı anlamına gelir. yani ihtiyacınız olan kenar gülünç derecede büyük olacakD artışlar.

Bunu daha da netleştirmek için Murphy'nin gösterdiği planı hatırlayın:

resim açıklamasını buraya girin

fark ederseniz, değerleri için D>1eğim gerçekten büyüktür ve bu nedenle işlev başlangıçta gerçekten dik bir şekilde büyür. Eğer türevi alırsanız bu daha iyi takdir edilebilireD(f):

eD'(f)=1Df1D-1=1Df1-DD

Yalnızca artan boyutu (yani tamsayı değerleridir) düşündüğümüz için, yalnızca tamsayı değerlerini önemsiyoruz D>1. Bunun anlamı şudur ki1-D<0. Kenar ifadesini aşağıdaki gibi düşünün:

eD'(f)=1D(f1-D)1D

Artırdığımız bildirimler f0'dan daha düşük bir güce (yani negatif). Sayıyı olumsuz güçlere yükselttiğimizde, bir noktada karşılıklı (yanix-1=1x). Gerçekten küçük bir sayıya karşılık verme (hatırlamaf<1 çünkü hacmin sadece bir kısmını düşünüyoruz, çünkü KNN yapıyoruz, yani k toplamdan en yakın veri noktaları N-) bu sayının "çok büyüyeceği" anlamına gelir. Bu nedenle, istenen davranışı elde ederiz, yaniD gücü daha da olumsuz hale getirir ve böylece gereken kenar ne kadar büyük olursa D üs değerini artırır.

(dikkat edin f1-D bölünme ile karşılaştırıldığında katlanarak büyür 1D hızla önemsiz hale gelir).


2

Evet, eğer bir birim küpünüz ya da sizin durumunuzda bir birim hattınız varsa ve veriler eşit olarak dağıtılmışsa, verilerin% 10'unu yakalamak için 0.1 uzunluğuna gitmeniz gerekir. Boyutları artırdıkça, gücü ve f'nin 1'den küçük olmasını engelleyen D artar, böylece D sonsuza giderse tüm küpü, e = 1'i yakalamanız gerekir.


0

Sanırım kNN mesafesi daha büyük bir rol oynuyor. (Hiper) bir küpün başına gelenler, noktalar arasındaki mesafeye olanlara benzer. Boyut sayısını artırdıkça, en yakın mesafe ile ortalama mesafe arasındaki oran artar - bu, en yakın noktanın ortalama noktadan neredeyse uzak olduğu anlamına gelir, o zaman ortalama noktadan sadece biraz daha tahmin gücü vardır. Bu makale güzelce açıklıyor

Joel Grus, Scratch Veri Bilimlerinde bu konuyu tanımlamak için iyi bir iş çıkarıyor. Bu kitapta, boyut sayısı arttıkça boyut uzayındaki iki nokta arasındaki ortalama ve minimum mesafeleri hesaplar. Noktalar arasında 10.000 mesafe hesapladı ve boyut sayısı 0 ila 100 arasında değişiyor. Daha sonra iki nokta arasındaki ortalama ve minimum mesafeyi ve en yakın mesafenin ortalama mesafeye oranını çizmeye devam ediyor (Distance_Closest / Distance_Average) .

Bu arazilerde Joel, en yakın mesafenin ortalama mesafeye oranının 0 boyutta 0'dan 100 boyutta ~ 0.8'e yükseldiğini gösterdi. Ve bu, en yakın k komşu algoritmasını kullanırken boyutsallığın temel zorluğunu gösterir; boyutların sayısı arttıkça ve en yakın mesafenin ortalama mesafeye oranı 1'e yaklaştıkça algoritmanın öngörücü gücü azalır. En yakın nokta ortalama noktadan neredeyse uzaktaysa, o zaman ortalama noktadan biraz daha tahmin gücü vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.