Boyutsallığın makine öğrenmesi laneti açıklandı mı?


14

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.

buraya link ver

EDIT: Ayrıca tilde ( ~) bu örnekte yaklaşık temsil etmek gerekiyor mu? ya da python tilde operatörü?


2
Tilde "orantılı" anlamına gelir
2013'te

@mbatchkarov Ha teşekkür ederim. yaklaşık ve orantılı çok farklı sonuçlar lol

Yanıtlar:


11

Bu paragrafın çevirisi:

Bir veri noktasını tanımlayan bir dizi özellik olsun. Belki havaya bakıyorsun. Bu özellik kümesi sıcaklık, nem, günün saati vb. Şeyleri içerebilir. Bu nedenle, her veri noktasının bir özelliği olabilir (yalnızca sıcaklığa bakıyorsanız) veya 2 özelliğine (sıcaklığa bakıyorsanız) sahip olabilir. ve nem) vb. Bu paragrafın söylediği, verilerinizin sahip olduğu boyutların sayısına (kaç özelliğe sahip olduğu) dayanarak, bir tahmin edici yapmak daha zordur. Bunun nedeni, sadece bir veri özelliği veya 1 boyutlu verileriniz varsa, bu verileri grafiğe gönderdiğinizde, bir çizgi grafiği alırsınız ve diyelim ki 0-50 derece C arasında bir çizgi grafik hayal ediyorsanız, Her veri noktasından önce 50 rastgele nokta, diğer herhangi bir veri noktasından yaklaşık 1 derecedir. Şimdi izin ver' nem ve sıcaklıktan bahsederken 2 boyutu düşünün, şimdi tüm noktaların birbirinin "d" birimleri içinde olacağı şekilde bulmak daha zordur. Sıcaklığın hala 0-50 arasında olduğunu düşünün, ancak şimdi nem de% 0-100 arasında. Birbirinin 1 veya 2'sindeki tüm noktaları elde etmek için kaç tane rastgele puan gerekir? Şimdi 100 * 50 veya ~ 5.000! Şimdi 3 boyut hayal edin, vb. Hayatınızı kolaylaştırmak için "d" nin 1 olduğunu varsaymayı deneyin ve ne olduğunu görün. Umarım yardımcı olur! Birbirinin 1 veya 2'sindeki tüm noktaları elde etmek için kaç tane rastgele puan gerekir? Şimdi 100 * 50 veya ~ 5.000! Şimdi 3 boyut hayal edin, vb. Hayatınızı kolaylaştırmak için "d" nin 1 olduğunu varsaymayı deneyin ve ne olduğunu görün. Umarım yardımcı olur! Birbirinin 1 veya 2'sindeki tüm noktaları elde etmek için kaç tane rastgele puan gerekir? Şimdi 100 * 50 veya ~ 5.000! Şimdi 3 boyut hayal edin, vb. Hayatınızı kolaylaştırmak için "d" nin 1 olduğunu varsaymayı deneyin ve ne olduğunu görün. Umarım yardımcı olur!


2
Bu iyi bir açıklama, ama sağladıkları denklem ne olacak? Tahmincinin 1 derece uzakta olmasını istediğim 1 özellik örneğinde (yani d = 1) denklemleri n~1/dn'nin yaklaşık 1 olması gerektiği anlamına gelir. Bu pek mantıklı değil mi?

Hayır, eğer özellik 0-1 aralığına sahipse (benimki 0-50 aralığına sahipse), her biri diğerinden yaklaşık d olacak şekilde 1 / d puan yapacağınızı söylüyorlar. Bu benim örneğim için işe yarar çünkü 1'in "d" olduğu yaklaşık 50/1 puana ihtiyacınız olacaktır. Maalesef bu denklemleri yazmak kafa karıştırıcı ama bence bu yardımcı olmalı

12

matty-d zaten çok iyi bir cevap verdi, ancak Quora kullanıcısı Kevin Lacker'den bu sorunu da aynı şekilde açıklayan başka bir cevap buldum:

Diyelim ki 100 metre uzunluğunda düz bir çizginiz var ve üzerinde bir yere bir kuruş bıraktınız. Bulmak çok zor olmazdı. Hat boyunca yürüyorsunuz ve iki dakika sürüyor.

Şimdi diyelim ki her iki tarafta 100 metre kare var ve üzerinde bir yere bir kuruş bıraktın. Birbirine yapışmış iki futbol sahasında arama yapmak gibi oldukça zor olurdu. Günler alabilir.

Şimdi 100 metre ötedeki bir küp. Bu bir futbol stadyumu büyüklüğünde 30 katlı bir bina aramak gibi. Ugh.

Uzayda arama yapmanın zorluğu, daha fazla boyuta sahip olduğunuz için çok daha zorlaşıyor. Matematiksel formüllerde belirtildiği zaman bunu sezgisel olarak gerçekleştiremeyebilirsiniz, çünkü hepsinin aynı "genişliği" vardır. Boyutsallığın laneti budur. Bir isme sahip olur, çünkü sezgisel olmayan, kullanışlı ve yine de basittir.


-1

Bu örnek, sorunun bazı sezgilerini verebilir, ancak aslında kesin bir kanıt değildir: bu, yalnızca "iyi" bir alan kapsamı elde etmek için birçok örneğin gerekli olduğu bir örnektir. Düzenli bir ızgaradan çok daha verimli kapsama alanları olabilir (ve aslında 2B'de altıgenler zaten vardır) ... (düşük tutarsızlık dizilerinin karmaşık alanı buna ayrılmıştır) ... ve bunu daha iyi kaplamalarla bile kanıtlıyor boyutsallığın bir başka laneti hala var. Aslında bazı fonksiyon alanlarında bu görünür problemi atlatmanın bile yolları 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.