Makine Öğreniminde Taraflı Veriler


18

Zaten veri seçimi tarafından (ağırlıklı olarak) önyargılı verilerle bir Makine Öğrenimi projesi üzerinde çalışıyorum.

Bir dizi sabit kodlu kuralınız olduğunu varsayalım. Kullanabileceği tüm veriler zaten bu kurallara göre filtrelenmiş veriler olduğunda, bunun yerine bir makine öğrenme modeli nasıl oluşturulur?

Her şeyi açıklığa kavuşturmak için en iyi örnek Kredi Riski Değerlendirmesi olacaktır : Görev, ödeme yapamayan tüm müşterilere filtre uygulamaktır.

  • Şimdi, sahip olduğunuz tek (etiketli) veriler, kurallar dizisi tarafından kabul edilen istemcilerden alınmıştır, çünkü yalnızca kabul ettikten sonra birisinin ödeme yapıp yapmadığını (açıkça) göreceksiniz. Kurallar kümesinin ne kadar iyi olduğunu ve ücretli - ödenmemiş dağıtımı ne kadar etkileyeceklerini bilmiyorsunuz. Ayrıca, yine kurallar kümesi nedeniyle reddedilen istemcilerden etiketlenmemiş verileriniz var. Yani bu müşteriler kabul edilmiş olsaydı ne olurdu bilmiyorsun.

Örneğin kurallardan biri şu olabilir: "Eğer müşterinin yaşı 18 yaşından küçükse kabul etmeyin"

Sınıflandırıcı, bu kurallar tarafından filtrelenen istemcilerin nasıl ele alınacağını öğrenmenin bir yolu yoktur. Sınıflandırıcının burada kalıbı nasıl öğrenmesi gerekiyor?

Bu sorunu göz ardı etmek, modelin daha önce hiç karşılaşmadığı verilere maruz kalmasına yol açacaktır. Temel olarak, x burada [a, b] dışında olduğunda f (x) değerini tahmin etmek istiyorum.


8
Bu genellikle kredi riski değerlendirmesinde ele yolu gereğidir değil kurallara göre başvuru sahiplerinin belli bir oranda filtreleme. Az sayıda başvuran rastgele kabul edilmiş ve bu şekilde işaretlenmiştir.
Matthew Drury

Bunu bilmek gerçekten çok iyi. Belki de aynı şeyi yapmak için bir şeyler ayarlayabilirim.
Laksan Nathan

1
Bu sorunu uzman olmayanlara açıkladığımda, bir bulut (gerçeklik) ve buluta (model) yaklaşan bir çokgen çiziyorum. Yanlış pozitif hataları ve yanlış negatif hataları gösteriyorum. Modeli iyileştirmek için her iki hataya da ihtiyacım olduğu görsel olarak açıktır, böylece buluta daha iyi yaklaşmak için.
MSalters

Sunumumu şimdi hazırlıyorum. Bu benzetme gerçekten işe yarıyor, teşekkürler!
Laksan Nathan

Buna keşif-sömürü ikilemi denir.
seanv507

Yanıtlar:


12

Endişelenmeye hakkınız var - eğer örnek dışı verilerin dağılımı, modelin eğitildiği / test edildiği verilerin dağılımından önemli ölçüde farklıysa, en iyi modeller bile muhteşem bir şekilde başarısız olabilir.

Yapabileceğiniz en iyi şey, sahip olduğunuz etiketlenmiş veriler hakkında bir model eğitmek, ancak modeli yorumlanabilir tutmaya çalışmaktır. Bu muhtemelen sadece basit modellerle sınırlı olmak anlamına gelir. Ardından, modelinizin filtrelenmemiş popülasyonda ne kadar iyi çalışabileceğini tahmin etmek için modeliniz tarafından öğrenilen kuralların önceki kurallarla nasıl etkileşime girebileceğini düşünmeye çalışabilirsiniz.

Örneğin - varsayalım, modeliniz etiketli veri kümenizde, müşteri ne kadar gençse, varsayılan olma olasılıklarının o kadar yüksek olduğunu bulur. Ardından, "İstemcinin yaşı 18 yaşından küçükse kabul etmeyin" ön filtresini kaldırırsanız, modelinizin iyi çalışacağını varsaymak makul olabilir.


4

Bu soruyu tamamen anladığımdan emin değilim, ama anladığım kadarıyla, daha önce gördüğü örneklerin alanı dışında yatan örnekleri tahmin etmek için bir sınıflandırıcıyı nasıl eğiteceğinizi soruyorsunuz. Bu genel olarak konuşur ve bildiğim kadarıyla mümkün değildir. Makine öğrenimi teorisi, eğitim setinizin numuneler ve etiketler üzerindeki gerçek dağılımınıza iyi bir yaklaşım olduğunu varsayarak "ampirik risk minimizasyonu" fikrine dayanır. Bu varsayım ihlal edilirse, gerçekte herhangi bir garanti yoktur.

Etiketlenmemiş verilerden bahsediyorsunuz - bunun sorununuzu çözüp çözemeyeceğini bilmiyorum, ancak yarı denetimli öğrenmenin hem etiketlenmiş hem de etiketlenmemiş veriler verilen sınıflandırıcıları öğrenmeye çalışmak için birçok yöntemi vardır ve bunlara bakmayı düşünebilirsiniz (örneğin, transdüktif SVM'ler).


Katılıyorum, benim sorunum için bir "çözüm" yoktur. Ama belki de bu tür sorunlarla nasıl çalışılacağı konusunda bazı pratik tavsiyeler var.
Laksan Nathan

2

Kurallarınız size veri artırımı yapmanın bir yolunu verebilir . Pozitif bir örnek kopyalayın, yaşı 17 olarak değiştirin ve ardından negatif örnek olarak işaretleyin.

Bu yordam, tüm veri kümeleri için önemsiz veya yararlı olmayabilir. NLP verileriyle çalışıyorum ve bu alanda başarılı olmak zor. Örneğin, yaşla ilişkili başka özellikleriniz varsa, gerçekçi olmayan örneklerle karşılaşabilirsiniz. Ancak, sistemi veri kümesine girmeyen örnekler gibi bir şeye maruz bırakmanın bir yolunu sunar .


Verilere gürültü eklemek kesinlikle bu sorunu çözmenin bir yoludur. Ancak yalnızca istemci verilerinin kolayca sınıflandırılabileceği birkaç durumda. Bunu tekrar iddia edilen bilginin retrospektif bir çarpışmasına yol açan bir etki alanı bilgisinin "önyargılı" çıktı - toplayıcı / öznel algısına yol açacak derecede yapmazdım.
Laksan Nathan

2

Bizim için benzer bir durumda işe yaramış olan bir şey, biraz takviye öğrenimi yapmaktır (keşfet ve sömür). Kural tabanlı modelin üstünde, küçük bir olasılıkla modelin yanıtını değiştirecek bir kaşif çalıştırdık, bu yüzden modelin 17 yaşındaki bir karta bir kart önermediği durumlarda, kaşif modelin karar vermek ve bir kart vermek. Bu nadir durumlarda gelecekteki bir öğrenme modeli için öğrenme verileri oluşturacaksınız. Burada, 17 yaşındakilere kaşif tarafından verilenlerin varsayılan olup olmadığına bağlı olarak 17 yaşındakiler için kartlar önermeye karar verebilirsiniz. mevcut modelinizin önyargılarının dışında çalışabilecek sistemler oluşturun.


Bu nadir durumlar belirli bir finansal riske bağlı olduğundan, uzun vadede potansiyel olarak yeni paterni ortaya çıkaran adım adım bir yaklaşım olacaktır. Temel olarak, sizin de bahsettiğiniz gibi bir keşif-istismar ödünleşimi. Bu kesinlikle projede dikkate alınacaktır.
Laksan Nathan

2

Pratik bir bakış açısından, bir modelden mevcut sistemde mümkün olmayan durumlar hakkında bir şey öngörmesini istemek zor / mantıksızdır (ücretsiz öğle yemeği yok).

Bu problemi atlatmanın bir yolu, mevcut (konuşlandırılan) sisteme randomizasyon eklemek, örneğin kuralları küçük, kontrollü bir olasılıkla (ve dolayısıyla öngörülebilir bir maliyetle) atlatma (bazılarını) olasılığını eklemek.

Sistemden sorumlu kişileri bunu yapmaya ikna etmeyi başardıktan sonra, "ne olursa olsun" soruları sormak için önem örnekleme gibi politika dışı değerlendirme yöntemlerini kullanabilirsiniz . Örneğin, kurallara göre bırakılan kişilerin kredi almasına izin verirsek, beklenen kredi riski ne olur? Hatta (önyargılı) tahmin modelinizin bu popülasyon üzerindeki etkisini simüle edebilir. Bu tür yöntemlere iyi bir referans Bottou'nun karşı-öğrenme ve akıl yürütme üzerine yazdığı makaledir .


Güzel referans, teşekkürler. Bunun üzerinden geçmek için zaman ayıracağım.
Laksan Nathan

1

Klasik istatistiksel cevap, eğer seçim süreci verilerdeyse ve model tarafından tanımlanmışsa veya seçim rastgele ise parametrik modelin doğru olduğunu düşünür. Bkz. Donald Rubin makalesi Çıkarım ve Eksik veriler (1976). Modelinize veri seçme mekanizmasını dahil etmeniz gerekir. Bu, parametrik çıkarımın saf makine öğrenmesinden daha iyi yapılması gereken bir alandır.


1

Bu, yaşam sonrası ikileme benziyor: bir ölmeden sonra cennete (sınıf) girmek için hangi iyi ve kötü eylemlerin (veri) oranının cennete ulaşmak için yeterli olduğu (filtre!). Burada ölüm, süzgeç görevi görür ve denetimli bir öğrenme şemasında eksik değerlere yol açar.

Kayıp değer sorunu ile 'taraflı veri' sorunu arasında ayrım yapmak istiyorum. Taraflı veri diye bir şey yoktur, adı geçen verileri açıklayan 'taraflı model' diye bir şey yoktur, ancak verinin kendisi taraflı değildir, sadece eksiktir. Eksik veriler gözlemlenebilir verilerle anlamlı bir korelasyona sahipse, tarafsız bir modelin eğitilmesi ve iyi tahmin sonuçlarının elde edilmesi tamamen mümkündür.

Eksik veriler gözlemlenebilir verilerle tamamen ilgisizse, o zaman 'bilmediğinizi bilmiyorsunuz' durumudur. Ne denetimli ne de denetimsiz öğrenme yöntemlerini kullanabilirsiniz. Sorun, veri bilimi alanlarının dışında.

Bu nedenle, anlamlı bir çözüm uğruna, eksik verilerin gözlemlenebilir verilerle ilişkili olduğunu varsayalım. Sözü edilen korelasyondan yararlanacağız.

Böyle bir sorunu çözmeye çalışan birkaç veri madenciliği algoritması vardır. Bagging-n-Boosting gibi 'Topluluk yöntemlerini' veya Apriori ve FP büyümesi gibi 'sık kalıp madenciliği' algoritmalarını deneyebilirsiniz. Yöntemleri Sağlam İstatistiklerde de keşfedebilirsiniz.

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.