Kısmen “bilinmeyen” verilerle sınıflandırma


11

Bir sayı vektörü girdi olarak alan ve çıktı olarak bir sınıf etiketi veren bir sınıflandırıcı öğrenmek istediğimizi varsayalım. Egzersiz verilerim çok sayıda girdi-çıktı çiftinden oluşuyor.

Ancak, bazı yeni veriler üzerinde test yapmaya geldiğimde, bu veriler genellikle sadece kısmen tamamlanır. Örneğin, giriş vektörü 100 uzunluğundaysa, elemanların sadece 30'una değerler verilebilir ve geri kalanı "bilinmiyor" olabilir.

Bunun bir örneği olarak, görüntünün bir kısmının tıkalı olduğu bilindiğinde görüntü tanımayı düşünün. Veya, verilerin bir kısmının bozuk olduğu bilinen bir anlamda sınıflandırmayı düşünün. Her durumda, veri vektöründeki hangi öğelerin bilinmeyen parçalar olduğunu tam olarak biliyorum.

Bu tür veriler için işe yarayan bir sınıflandırıcıyı nasıl öğrenebileceğimi merak ediyorum? "Bilinmeyen" öğeleri rastgele bir sayıya ayarlayabilirdim, ancak genellikle bilinenden daha fazla bilinmeyen öğe olduğu için bu iyi bir çözüm gibi gelmiyor. Ya da, eğitim verilerindeki öğeleri rastgele olarak "bilinmeyen" olarak değiştirebilir ve tüm veriler yerine bunlarla çalışabilirim, ancak bu, bilinen ve bilinmeyen öğelerin tüm kombinasyonlarının kapsamlı bir şekilde örneklenmesini gerektirebilir.

Özellikle sinir ağlarını düşünüyorum ama diğer sınıflandırıcılara da açığım.

Herhangi bir fikir? Teşekkürler!


en.m.wikipedia.org/wiki/Missing_data başlamak için bir yer olabilir.
Hatshepsut

Yarı denetimli öğrenmenin, eğitim verilerinin tam olarak etiketlenmediği durumda olduğunu düşünüyorum. Benim durumumda, tüm eğitim verilerim etiketlendi, ancak test verilerinin ayrı bölümleri "bilinmiyor".
Karnivaurus

Merdiven Ağları ile Yarı Denetimli Öğrenme: github.com/CuriousAI/ladder
itdxer

Yanıtlar:


2

Bence Sinir Ağları ile çalışmanın makul bir yolu var.

Bilinmeyen için değerinizin 0 olmasına izin verin. Şimdi eğitimde bir girdi seçiyorsunuz ve değerlerini rasgele olarak 0 olasılığına koyuyorsunuz ; burada p, test zamanında eksik girdilerin beklenen kısmıdır. Farklı yinelemelerde aynı girdinin farklı konumlarda 0s olacağını unutmayın.p

Daha önce yapıldığını görmedim, ancak bu , gizli nöronlar yerine giriş nöronlarınızda Bırakma (Sinir Ağlarında iyi bilinen bir düzenleme yöntemi) yapmaya çok benzer . Genel olarak yapmanın iyi bir fikir olduğunu sanmıyorum, ancak (davanız gibi) zorlanıyorsanız, en azından teorik olarak çalıştığı bilinen bir şeye yeterince yakın.


1

Herhangi bir sınıflandırıcı ile çalışan bazı seçenekler olduğunu düşünüyorum:

  • Eksik değerleri, eğitim setinden ortalama veya medyan veya girdinin gözlenen bölümlerinden tahmin edilen bir değer gibi tek bir değerle ifade edin veya sadece rastgele bir sayı veya sabit kullanın.
  • Bilinmeyenler için birkaç farklı değer kullanın ve sonuçları toplayın, örneğin ortalama

Bunun dışında ağaç tabanlı sınıflandırıcılar (örneğin rastgele ormanlar) kullanabilirsiniz ve bir ağacın eksik bir özellikteki ayrımı değerlendirmesi gerekiyorsa, verileri her iki alt düğüme de geçirebilir.

Üçüncü bir seçenek de, tam eklem dağılımını modelleyen üretken bir sınıflandırıcı kullanmaktır; burada , girdilerinizdir ve , sınıflandırma etiketidir. Bunun üzerine, ideal olarak bilinmeyen bölümlerini üzerinde marjinalize , yani denemek istiyorum herhangi bilinmeyen kısımları için değer ve o töhmet olasılığı ile ağırlıklandırılmış sonuçları ortalamasını alırız. Bu, analitik olarak bazı sınıflandırıcılar, örneğin bir Doğrusal Diskriminant Analiz modeli için kapalı formda veya yaklaşık olarak bilinmeyenleri örnekleyerek, örneğin bir Sınırlı Boltzmann Makinesi veya bunların derin varyantları (ileri sinir sinir ağları ile ilgili) için yapılabilir.p(x,y)xyxx


İşe yarayacağını sanmıyorum. Bilgisayar görüşünden tipik bir örnek kullanın, görüntünün her pikseli bir nesnenin farklı bölümüyle ilişkilendirilebilir. Örnek olarak, görüntü 1'in pikseli (50,50) bir kedinin gözüdür, ancak kedi resim 2'de biraz hareket ettirilmiştir, bu nedenle (50, 50) sadece arka planın bir pikseli olur. NAs yeri, yani. rastgele oklüzyon, gözleme göre değişir, impütasyonunuz işe yaramaz.
horaceT
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.