2012-04-16 20 views
13

El yazısıyla yazılmış rakamları sınıflandırmak için KNN kullanıyorum. Artık boyutsallığı azaltmak için şimdi PCA'yı uyguladım. 256'dan 200'e gittim. Ama sadece% 0.10 oranında bilgi kaybı olduğunu fark ettim. 56 boyutu sildim. Kayıp daha büyük olmamalı mı? Sadece 5 boyuta düştüğümde ~% 20'lik bir kayıp olur. Bu normal mi?PCA ve KNN algoritması

+0

Pek çok uygulama türünde bu tür bir şey yaygındır. Bu azalan getiriler noktası denir. –

cevap

6

56 boyutu kaldırdıktan sonra neredeyse hiç bilgi kaybetmediğinizi mi söylüyorsunuz? Tabii ki, bu PCA'nın noktası! Principal Component Analysis, ad devletleri olarak, hangi boyutların bilgiyi taşıdığını belirlemenize yardımcı olur. Ve geri kalanını kaldırabilirsin, ki bunun en büyük kısmını yapar.

Bazı örnekler istiyorum, gen analizinde, PCA ile boyutun 40'000'den 100'e düştüğü kağıtları okudum, sonra bazı büyülü şeyler yapıyorlar ve 19 boyutta mükemmel bir sınıflandırıcıya sahipler. Bu, 39'900 boyutlarını kaldırdıklarında neredeyse hiç bilgi kaybetmediklerini söylüyor!

+2

tamam teşekkürler. Makine öğrenmeye yeni başlıyorum –

0

Bu normal, evet (ve Fezvez, yaptığınız şeyin noktasını söyledi). Durumunuz aslında bunun nasıl mümkün olduğunu görebileceğiniz iyi bir örnektir.

Verilerinize bir göz atın (makine öğrenmede her zaman önemlidir, verinizi bildirin). Beyaz üzerine siyah elle yazılmış rakamların görüntüleri varsa, bazı köşelerdeki piksellerin tüm örnekler için beyaz olması ihtimali yüksektir (bir elimde, el yazısıyla yazılmış rakamları öğrenirken bir köşede vardı). Yani aslında bu pikselde hiçbir bilgi yoktur. Bunu KNN veya ANN'niz için girdi olarak bırakırsanız veya aynı sonucu alırsanız, aynı sonuçları elde edersiniz.