Yalnızca pozitif ve etiketlenmemiş verilerle bir ikili sınıflandırıcı oluşturun


11

2 veri setim var, biri tespit etmek istediğim şeyin pozitif örneklerine sahip, diğeri ise etiketlenmemiş örneklere sahip. Hangi yöntemleri kullanabilirim?

Örnek olarak, birkaç yapılandırılmış e-posta özelliğine dayalı olarak spam e-postasını algılamayı anlamak istediğimizi düşünelim. 10000 spam e-postasının bir veri kümesine ve spam olup olmadığını bilmediğimiz bir 100000 e-posta veri kümesine sahibiz.

Bu sorunu nasıl çözebiliriz (etiketlenmemiş verileri manuel olarak etiketlemeden)?

Etiketlenmemiş verilerdeki spam oranı hakkında ek bilgilerimiz varsa ne yapabiliriz (örneğin, 100000 etiketlenmemiş e-postanın% 20-40'ının spam olduğunu tahmin edersek)?


1
Gönderi, yarı denetimli ve pu-öğrenme etiketleri eklenmelidir. Bu etiketler hala mevcut değil ve şu anda bunları oluşturamıyorum.
DaL

@DanLevin Evet, [tag: yarı denetimli-öğrenme] mantıklı. Eklendi :) Pu-öğrenme bölümünden emin değilim (en azından farkında değilim), böylece başka biri yapabilir!
Dawny33

1
PU-öğrenme yarı denetimli öğrenmenin özel bir örneğidir. Bu sorunun PU olması (etiketli veri kümesi yalnızca pozitiftir) daha az yaygındır (Google'da 7K sonuç) ve ardından yarı denetlenir (Google'da 298K sonuç). Konu akademide tartışılırken (örneğin, cs.uic.edu/~liub/NSF/PSC-IIS-0307239.html ) bu sorunun bu etiketle bir süre yalnız kalması mümkündür.
DaL

Yanıtlar:


7

Benim önerim, etiketlenmemiş verilerinizde bir şekilde etiketlenmiş bir veri kümesine yaklaşan bir tür küme oluşturmaya çalışmak olacaktır. Gerekçe aşağı yukarı aşağıdaki gibidir:

  • Belgelerinizi temsil etmek için bazı özellik vektörünüz var
  • Bu özellik vektörüne dayanarak, bulanık, kaba veya sınıf tabanlı kümeleme yöntemleriyle bir dizi farklı kümeleme oluşturabilirsiniz
  • Olumlu bir örneğin neye benzediğini bilerek, bir kümenin pozitif kümenize genel benzerliğini hızlı bir şekilde değerlendirebilirsiniz
  • Gerçekten sadece iki küme olması gerektiğini bilerek, kümeleme yönteminizdeki hiperparametreleri ayarlayabilirsiniz; böylece yukarıdaki iki metrik memnuniyeti daha yakın ve daha yakın hale getirir
  • İki kümede, daha sonra modelinizi gerçekten eğitmek için gümüş standartlı bir tür topluluk olarak kullanabileceğiniz etiketli bir veri kümesinin yakın bir yaklaşımı olması muhtemel olan şeylere sahipsiniz.

Özellikle kümelenme algoritmaları arıyorsanız, bu senaryoda iyi olabilecek kişisel olarak hoşlandığım birkaç tanesi FLAME ve tsne'dir . Alternatif olarak, python'daki muhteşem gensim kütüphanesine bakmak, aradığınız kümelenmeye doğru uzun bir yol alacaktır.

Umarım yardımcı olur ve mantıklıdır, herhangi bir sorunuz varsa yorum bırakın.


Cevabınız için teşekkürler. Doğru mu anlıyorum: başlangıç ​​noktanız 2 veri kümesini birleştirmek mi?
nassimhddd

@ cafe876 Bu kesinlikle başlamak için bir yol ve daha sonra temelde orijinaline çok yakın bir kümeleme yeniden yaratmaya çalışıyor.
indico

3

Sorununuz PU öğrenme çerçevesine aittir (sadece pozitifler, çok fazla etiketsiz).

Yarı denetimli öğrenmenin daha yaygın çerçevelerine de yakındır (az sayıda pozitif ve negatif, bir sürü etiketlenmemiş).

Sahada arayabileceğiniz birçok anket belgesi vardır.

Ayrıca olduğu gibi spam test edildi alanda klasik yöntem vardır eş-eğitim iki bağımsız öğrenenler inşa ko eğitimde (örneğin gönderme şemasına dayalı posta içerik ve birine dayalı bir) ve kullandığınız biri diğerini eğitmek ve tersi sonuçları.


2

Her veri kümesi için bir tane (yalnızca spam, spam artı jambon) olmak üzere 2 üretken modeli eğiterek size eğitim verilerinin aynı olasılık dağılımından bir veri noktasının çizilme olasılığını verir. Belgeyi eğitmek için kullanılan eğitim verilerinden kaynaklanan en yüksek olasılığı veren e-postaları hangi modele bağlı olarak spam veya ham olarak atayın. Örnek oluşturucu modeller RBM'ler, oto-kodlayıcılardır (bu durumda, hangi model en düşük yeniden yapılandırma hatasına sahiptir). Bazı eğitim verilerine dayanarak bir veri noktasına olasılık atayacak bazı bayes üretici modeller de vardır.

Ancak en iyi seçenek, sadece jambon içeren ikinci bir veri kümesini hazırlamak için zaman ayırmak olacaktır. Bu size daha yüksek sınıflandırma doğruluğu verecektir. Jambon e-postalarına spam oranının daha düşük olduğunu varsayarsak, bu çok zor olmamalıdır. Zaman veya kaynak (veya stajyerler / mezunlar öğrencileri veya diğer ucuz işçilik) eksikliği varsa Mekanik Türk'ü bile kullanabilirsiniz.


Cevabınız için teşekkürler. Ayırt edici modellerin yapamayacağı üretken modellerin neler yapabileceğinin harika bir örneği.
nassimhddd
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.