En yakın komşunun ne zaman ötesine geçmeliyim


9

Yaptığımız birçok makine öğrenimi projesi için k En Yakın Komşu sınıflandırıcısıyla başlıyoruz. Bu, genellikle tüm mesafeleri hesaplamak için yeterli zamanımız olduğundan ve parametre sayısı sınırlı olduğundan (k, mesafe metriği ve ağırlıklandırma) ideal bir başlangıç ​​sınıflandırıcısıdır.

Bununla birlikte, bu projede daha sonra başka bir sınıflandırıcıya geçmek için yer olmadığı için knn sınıflandırıcısına bağlı kaldığımız etkiye sahiptir. Yeni bir sınıflandırıcıyı denemek için iyi bir neden olabilir. Açık olanlar bellek ve zaman kısıtlamalarıdır, ancak başka bir sınıflandırıcının doğruluğu gerçekten artırabileceği durumlar var mı?


Bu tamamen akademik mi yoksa endüstride mı kullanılacak?
Dr Rob Lang

1
Uygulamalarımızın çoğu endüstride kullanılmaktadır (bu nedenle bellek alanı ve hesaplama süresi sorun

Yanıtlar:


3

k-NN çok kısıtlayıcı bir anlamda genelleme yapar. Sadece düzgünlük önceliklerini (veya süreklilik varsayımını) kullanır. Bu varsayım, özellik alanına yakın desenlerin büyük olasılıkla aynı sınıfa ait olduğu anlamına gelir. Desen dağılımında fonksiyonel bir düzenlilik k-NN ile geri kazanılamaz.

Bu nedenle, özellikle yüksek boyutlu özellik uzaylarında son derece büyük olabilen temsili eğitim örnekleri gerektirir. Daha da kötüsü, bu örnekler mevcut olmayabilir. Sonuç olarak, değişmezleri öğrenemez. Kalıplar etiketlerini değiştirmeden bazı dönüşümlere tabi tutulabiliyorsa ve eğitim örneği kabul edilebilir tüm şekillerde dönüştürülmüş kalıpları içermiyorsa, k-NN eğitim sırasında sunulmayan dönüştürülmüş kalıpları asla tanımayacaktır. Bu, örneğin, k-NN çalıştırılmadan önce bazı değişmez formlarda temsil edilmemişse, kaydırılmış veya döndürülmüş görüntüler için geçerlidir. k-NN alakasız özelliklerden bile soyut olamaz.

Biraz yapay bir örnek daha. Farklı sınıflara ait paternin periyodik olarak dağıtıldığını düşünün (örneğin sinüs uyarınca - 0'dan küçükse, desenler bir sınıfa aittir ve daha büyüktür, o zaman desenler başka bir sınıfa aittir). Eğitim seti sonludur. Böylece, sonlu bir bölgede yer alacaktır. Bu bölgenin dışında tanıma hatası% 50 olacaktır. Bu durumda çok daha iyi performans gösterecek periyodik temel fonksiyonları ile lojistik regresyon düşünülebilir. Diğer yöntemler, desen dağılımındaki diğer düzenleri öğrenebilecek ve iyi tahmin edebilecektir.

Dolayısıyla, mevcut veri kümesinin temsili olmadığından ve bazı desen dönüşümlerine karşı değişmezlik sağlanmasından şüpheleniliyorsa, bu durumda kişinin k-NN'nin ötesine geçmesi gerekir.


Cevabınız için teşekkür ederiz (ve geliştirmeye çalıştığınız için BartoszKP'ye teşekkür ederiz). Knn'ın dönüşüm gerektiren kalıpları bulamadığı doğrudur (garip (ve yanlış) bir mesafe metriği kullanmaya başlamadığınız sürece). Bu başka bir sınıflandırıcı denemek için iyi bir neden, sanırım svm o zaman bariz bir seçim. Svm'ye yeterince aşina değilim, ancak çekirdeği tanımlamak için aradığınız desen hakkında özel bilgi gerektirmez mi?

Evet. Çekirdek seçimi kalıplara bağlı olacaktır. Gauss çekirdeği, k-NN yöntemine benzer özelliklere sahip olacaktır. Diğer standart çekirdekler de uygun görünmeyebilir. Ancak, en azından, bunları kullanmayı deneyebiliriz.

@ Necro0x0Der'de ima edildiği gibi, bu çizgiler boyunca herhangi bir gelişme parametrelerin (sinüs örneğinde periyodiklik) parametrelendirme için doğal olmasına bağlı olacaktır. Yani, parametrelendirme (çekirdek seçimi) temsil alanının yapısını (etkili bir şekilde, metriği) tanımlar. Bazı yöntemlerle uygun bir yapıyı (belki de eğitimli tahminde bulunarak) belirleyebilirseniz, modeli buna göre parametreleştirmeye çalışın. Sonunda, bunun sınıflandırıcınızın belirli türdeki alakalı özellikleri kolayca bulmasına izin verdiğini unutmayın.

3

Yüksek boyut elbette sabit bir sınır değildir, çoğu durumda özelliklerimiz mesafe çalıştığını yeterince ifade eder. Tabii ki bu önemli bir nokta olabilir. Belki bir örnekle açıklığa kavuşturmalıydım. Diyelim ki% 93 doğrulukta bir sınıflandırıcı var, bu kabul edilebilir, ama şimdi sınıflandırıcıyı geliştirmeye çalışabilir veya yeni özellikler bulabiliriz. Her şey yeni olası özelliklere ve verilere bağlı, ancak bu kararla ilgili yönergeler arıyordum.

@Rhand Bana bunun bir proje yönetimi düzeyinde karar olduğu anlaşılıyor. Mevcut çözüm kabul edilebilir durumdaysa, neden bununla uğraşmalısınız? Zaman kaybı. Kabul edilebilir değilse, neyi geliştirmek istediğinizi (hız, doğruluk vb.) Daha kesin olarak tanımlayın.
BartoszKP

Bu sadece proje yönetimi değil, soru nasıl maksimum doğruluk elde edileceğidir (bu benim sorumdur) ve hangi yönün alınacağının en iyisidir. Svm ve rasgele orman önerirsiniz çünkü boyutluluk çok yüksek olabilir, bu doğrulukun iyileşip iyileşmediğini görmek için deneyebileceğim bir olasılıktır ve aradığım cevap budur.

Öte yandan, bu çok geniş bir soru. Sınıflandırıcı X Y. sadece sınıflandırıcılarla bazı dizi deneyin ve sonra gerçekleştirmelisiniz daha iyi olduğunu hiçbir genel kurallar vardır çapraz doğrulama için bir model seçimi örneğin.
BartoszKP

3

kNN büyük veri örnekleri için kullanışlıdır

Ancak dezavantajları:

  1. K değerine göre sapmalı.
  2. Hesaplama Karmaşıklığı
  3. Bellek Sınırlaması
  4. Denetimli öğrenme tembel algoritması olmak
  5. Alakasız özellikler tarafından kolayca kandırılır.
  6. Özellik sayısı arttığında tahmin doğruluğu hızla düşebilir.

Genellikle egzersiz verileri büyükse ve eğitim çok hızlıysa etkilidir.


Kümelenmeye bakmıyorum, ama sınıflandırmaya

@Buraya gidiyoruz, not için teşekkürler iliasfl
Iancovici
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.