Makine öğrenimi dengesiz veri kümeleri sorununu çözmek için fikirler ve yöntemler

Tekrarlayan bir örnek

Şirkette, kullanabileceğiniz çeşitli ölçüm sonuçlarına dayalı olarak bir ürünün kusurlu olup olmadığını tahmin eden bir model oluşturmak için size bir görev verildiğini varsayalım. En sevdiğiniz sınıflandırıcıyı kullanmaya, veriler üzerinde çalışmaya ve doğruluk oranının% 96,2'ye ulaştığını görmeye karar veriyorsunuz! Lideriniz şaşırır ve daha fazla test yapmadan modelinizi kullanmaya karar verir. Birkaç hafta sonra ofisinize girer ve modelinizin işe yaramaz olduğunu vurgular.

Aslında, Oluşturduğunuz model üretimde kullanıldığında kusurlu ürün bulunamadı . Biraz araştırdıktan sonra, şirket tarafından üretilen ürünlerin yalnızca% 3,8'inin kusurlu olduğunu ve modelinizin her zaman% 96,2 doğruluk oranıyla "kusur yok" yanıtını verdiğini gördünüz. Elde ettiğiniz "saf" sonuçlar, kullandığınız dengesiz veri kümesinden kaynaklanmaktadır.

Bu makalenin amacı, dengesiz sınıflandırma problemini çözmek için kullanılabilecek farklı yöntemleri özetlemektir.

"Saf davranışı" keşfedin

İlk bölümde, her türlü "saf davranışın" bulunmasını sağlamak için iyi eğitilmiş bir sınıflandırıcıyı değerlendirmenin farklı yollarını hatırlatmak istiyoruz. Doğruluk önemli ve kaçınılmaz bir gösterge olsa da yanıltıcı olabilir, bu nedenle dikkatli ve diğer göstergelerle birlikte kullanılmalıdır. Başka hangi araçların mevcut olduğunu görelim.

Karışıklık matrisi: kesinlik ve geri çağırma arasındaki denge

Sınıflandırma problemleriyle uğraşırken her zaman kullanılması gereken iyi ve basit bir ölçü, kafa karışıklığı matrisidir. Bu gösterge, modelin çalışması hakkında iyi bir genel bakış sağlayabilir. Bu nedenle, herhangi bir sınıflandırma modeli değerlendirmesi için iyi bir başlangıç noktasıdır. Karışıklık matrisinden türetilebilecek göstergelerin çoğunu aşağıdaki şekilde özetledik.

Karışıklık matrisi ve bundan türetilebilecek metrikler

Bu göstergeleri kısaca tanıtın:

  • Model doğruluğu , Toplam doğru tahmin sayısının toplam tahmin sayısına bölümüdür.
  • Sınıf hassasiyeti , Model bir puanın bu kategoriye ait olduğunu yanıtladığında sonucun güvenilirliğini tanımlayın.
  • Sınıf geri çağırma oranı , Modelin bu sınıfı ne ölçüde algılayabildiğini ifade eder.
  • Bir kategori F_1 puanı , Sınıfın hassasiyetini ve geri çağırma oranını tek bir metrikte birleştiren, hassasiyet ve geri çağırmanın harmonik ortalaması (2 × kesinlik × geri çağırma oranı / (kesinlik + geri çağırma oranı)) ile verilir.

Belirli bir sınıf için, farklı hatırlama ve kesinlik kombinasyonları aşağıdaki önemli anlamlara sahiptir:

· Yüksek geri çağırma oranı ve yüksek hassasiyet: Bu sınıf, model tarafından mükemmel bir şekilde ele alınır.

· Düşük geri çağırma oranı ve yüksek hassasiyet: Model kategoriyi iyi tespit edemez, ancak belirli durumlarda çok güvenilirdir

· Yüksek geri çağırma oranı ve düşük hassasiyet: Bu sınıf iyi tespit edilmiştir, ancak model aynı zamanda diğer sınıfların noktalarını da içerir

· Düşük hatırlama oranı ve düşük hassasiyet: Model bu sınıfı kötü bir şekilde ele alıyor

Örneğimizde, 10.000 ürün için aşağıdaki karışıklık matrisini sağlıyoruz.

Örnek kafa karışıklığı matrisi, "hatalı" doğruluğu hesaplayamıyor

Daha önce de belirtildiği gibi, doğruluk oranı% 96,2'dir. Kusur olmayanların doğruluğu% 96,2'dir ve kusurların doğruluğu hesaplanamaz. Geri çağrılan kusurlu olmayan kategori 1.0'dır ve bu mükemmeldir (kusurlu olmayan tüm ürünler bu şekilde işaretlenmiştir). Ancak kusurlu geri çağırma 0.0'dır, bu daha kötü bir durumdur (kusurlu ürün tespit edilmemiştir). Bu nedenle, modelimizin Bu sınıfta Zayıf performans. Kusurlu ürünlerin F1 puanı hesaplanmaz ve kusurlu olmayan ürünlerin puanı 0,981'dir. Bu örnekte, kafa karışıklığı matrisine bakmak, modelimizin veya hedeflerimizin yeniden değerlendirilmesine yol açabilir, bu da işe yaramaz modellerin kullanımını engelleyebilirdi.

ROC ve AUROC: Hassasiyet ve geri çağırma arasındaki denge

Bir diğer önemli gösterge ROC eğrisidir (alıcı çalışma karakteristik eğrisi).

Verilen bir x noktası için, noktanın C: P (C | x) sınıfına ait olma olasılığını veren bir modelimiz olduğunu varsayalım. Bu olasılığa dayanarak, bir karar kuralı tanımlayabiliriz, yani ancak ve ancak P (C | x) T, x, C sınıfına ait olduğunu gösterirse, burada T, karar kuralımızı tanımlayan belirli bir eşiktir. T = 1 ise, o zaman nokta sadece model% 100 emin olduğunda C'ye ait olarak işaretlenir.T = 0 ise her nokta C'ye ait olarak işaretlenir.

T eşiğinin her bir değeri bir nokta oluşturur (yanlış pozitif, gerçek pozitif) , Daha sonra, ROC eğrisi, T 1'den 0'a değiştiğinde oluşturulan noktalar kümesi tarafından tanımlanan eğridir. Eğri (0,0) noktasında başlar ve (1,1) noktasında biter. İyi bir model, 0'dan 1'e hızla yükselen bir eğriye sahip olacaktır (bu, yüksek geri çağırma elde etmek için biraz doğruluğun feda edilmesi gerektiği anlamına gelir).

Olası ROC eğrisi, modelin geçerliliğine bağlıdır. Solda, model yüksek bir geri çağırma elde etmek için çok fazla hassasiyetten fedakarlık etmelidir; sağda, model çok etkilidir: yüksek doğruluğu korurken yüksek bir geri çağırma sağlayabilir.

ROC eğrisine dayanarak, modeli değerlendirmek için kullanımı daha kolay olan başka bir metrik oluşturabiliriz: AUROC, ROC eğrisinin altındaki alandır . AUROC, tüm ROC eğrisini özetleyen skaler bir değer olarak hareket eder. AUROC'un en iyi durumda 1,0 ve en kötü durumda 0,5'e eğilimli olduğu görülebilir.

Benzer şekilde, iyi bir AUROC puanı, değerlendirmekte olduğumuz modelin, gözlemlenen sınıfın (genellikle bir azınlık sınıfı) iyi bir geri çağırma oranını elde etmek için çok fazla doğruluktan ödün vermediği anlamına gelir.

Sorunun özü: a priori düşünün

Kategori dengesizliğine bir örnek

İki sınıfımız olduğunu varsayıyoruz: C0 ve C1. C0 sınıfından alınan noktalar, ortalama 0 ve varyans 4 ile tek boyutlu bir Gauss dağılımını takip eder. C1 kategorisindeki noktalar, ortalama 2 ve varyans 1 ile tek boyutlu bir Gauss dağılımını takip eder. Bizim problemimizde, C0 sınıfının veri setinin% 90'ını temsil ettiğini varsayalım (böylece C1 sınıfı kalan% 10'u temsil eder). Aşağıdaki şekilde, 50 noktayı ve iki sınıfın doğru oranlarının teorik dağılımını içeren temsili bir veri seti tasvir ediyoruz:

Noktalı çizgiler, her bir kategorinin olasılık yoğunluğunu gösterir. Düz çizgi, oran dikkate alındıktan sonra koşullu olasılık yoğunluğudur. C0'ın katı eğrisi her zaman C1'in katı eğrisinden daha yüksektir (koşullu olasılık) , Herhangi bir nokta için, C0'dan noktayı çıkarma olasılığı her zaman C1'den çıkarma olasılığından daha büyüktür. C1 kategorisi, Bayes teoremine göre elimizde:

Orada öncekinin etkisini ve bir sınıfın her zaman diğerinden daha yüksek bir olasılığa sahip olduğu bir duruma nasıl yol açtığını açıkça görebiliriz.

Bütün bunlar, mükemmel bir teorik bakış açısından bile, bu veriler üzerinde sınıflandırma eğitmek zorunda kalırsak bildiğimiz anlamına gelir. Sınıflandırıcının doğruluğu, her zaman C0'a cevap verirken en yüksek olacaktır . Bu nedenle, amaç sınıflandırıcıyı en iyi doğruluk için eğitmekse, bu bir sorun olarak görülmemeli, bir gerçek olarak görülmelidir: Bu özelliklerle, yapabileceğimizin en iyisi (doğruluk açısından) her zaman C0 yanıtını verir .

Ayrılabilirlik hakkında

Yukarıdaki örnekte, bu iki sınıfın çok yakın olduğunu ve iyi ayrılamayacağını görebiliriz. Ancak, dengesiz bir veri seti, iki sınıfın iyi ayrılamayacağı anlamına gelmez, yani sınıflandırıcı azınlık sınıfı üzerinde iyi bir performans gösteremez. Örneğin, hala iki C0 (% 90) ve C1 (% 10) sınıfımız olduğunu düşünün. C0'daki veriler, ortalama 0 ve varyans 4 ile tek boyutlu bir Gauss dağılımını takip ederken, C1'deki veriler ortalama 10 ve varyans 1 ile tek boyutlu bir Gauss dağılımını takip eder.

Gauss örneğinde, ortalama varyanstan yeterince farklıysa, dengesiz sınıflar bile iyi bir şekilde ayrılabilir.

Önceki durumun aksine, C0 eğrisi her zaman C1 eğrisinden daha yüksek değildir Bu nedenle, bazı noktaların C0 yerine C1'den çıkarılması daha olasıdır. Bu durumda, iki sınıf, dengesizliği telafi etmek için yeterince ayrılır: sınıflandırıcı her zaman C0'ı yanıtlamayabilir.

Teorik minimum hata olasılığının sezgisel performansı

Son olarak, sınıflandırıcının teorik olarak minimum hata olasılığına sahip olduğunu hatırlamalıyız. Bu sınıflandırıcı için (bir özellik, iki sınıf), grafiksel olarak, Teorik minimum hata olasılığı, iki eğrinin minimumunun altındaki alan tarafından verilmektedir. .

İki Farklı Ayrılabilirlik Derecesinin Teorik Minimum Hatalarının Açıklaması

Bu sezgiyi matematiksel yöntemler kullanarak geri yükleyebiliriz. Aslında, teorik bir bakış açısından, en iyi sınıflandırıcı, her nokta için en olası iki x sınıfını seçecektir. Doğal olarak, belirli bir x noktası için, en iyi teorik hata olasılığının bu iki sınıfın daha az olasılıklı sınıfı tarafından verildiği anlamına gelir.

Ardından, genel hata olasılığını ifade edin

Bu, yukarıda gösterilen iki eğrinin minimumunun altındaki alandır.

Veri kümesini yeniden işlemek her zaman çözüm değildir

Az örnekleme, yüksek hızda örnekleme ve sentetik veri oluşturma

Bu yöntemler genellikle, veri kümesine bir sınıflandırıcı uydurmadan önce veri kümesini dengelemek için iyi bir yol olarak kullanılır. Kısaca bu yöntemlerin veri seti üzerindeki etkileri şu şekildedir:

  • Alt örnekleme, çoğu sınıfta örnekleme, böylece bu noktaların yalnızca bir kısmı tutulur
  • Yüksek hızda örnekleme, tabanını artırmak için azınlık grubundaki bazı noktaları kopyalamak
  • Sentetik veri oluşturmak, tabanını artırmak için bir azınlık sınıfından yeni sentetik veri noktaları oluşturmayı içerir.

Tüm bu yöntemler veri setini yeniden dengelemeyi amaçlamaktadır. Bununla birlikte, her iki sınıf için de veri elde etmek için veri setini yeniden dengelemeli miyiz? Veya çoğu sınıfta en çok örnek var mı? Eğer öyleyse, ne oranda yeniden dengelemeliyiz?

Model karar vermede değişen derecelerde az örneklemenin etkisi

Yeniden örnekleme yöntemlerini kullanırken (örneğin, C0'dan C1'den daha fazla veri elde edilir), Eğitim sırasında iki sınıfın sınıflandırıcıya hata oranını gösteriyoruz . Daha sonra, bu şekilde öğrenilen sınıflandırıcı, gelecekte gerçek test verileri üzerinde, değişmemiş veri seti üzerinde eğitilen sınıflandırıcıdan daha düşük bir doğruluğa sahip olacaktır. Aslında, sınıfın gerçek oranı, yeni noktaları ve veri setini yeniden örneklerken kaybedilen bilgileri sınıflandırmak için çok önemlidir.

Veri setini benzer bir yeniden örnekleme yönteminde değiştirmenin gerçekliği değiştirdiğini varsayarsak, bunun sınıflandırıcımızın çıktısı için ne anlama geldiğini hatırlamamız gerekir.

Diğer özellikleri edinin

Veri setini zenginleştirmek için ek özellikler kullanarak, doğruluk açısından daha iyi sonuçlar almaya devam edebilirsiniz. Sınıfların birbirinden ayrılamaz olduğu ilk örneğimize geri dönelim: belki iki sınıfı birbirinden ayırmaya yardımcı olabilecek ve böylece sınıflandırıcının doğruluğunu artırabilecek yeni bir özellik bulabiliriz.

Diğer özellikleri bulmak, başlangıçta ayrılmaz olan iki sınıfı ayırmaya yardımcı olabilir.

Yukarıda bahsedilen verilerin gerçekliğini değiştirme yöntemi ile karşılaştırıldığında, bu yöntem mümkün olduğunda verileri gerçeklikten daha fazla bilgi ile zenginleştirmeyi içerir.

Sorunu çözmek daha iyi bir çözümdür

Yukarıda belirtilen başa çıkma yöntemlerinin hepsi beceriklidir ve temel çözümler ararız. Sorunun kendisine geri dönersek, sorunumuz iyi ifade edilmemiştir. Daha tatmin edici sonuçlar elde etmek için yeniden tasarlamalıyız.

Maliyete dayalı sınıflandırma

Sonucun iyi olmadığı hissi, amaç işlevinin açıkça tanımlanmamasından kaynaklanabilir. Şimdiye kadar sınıflandırıcıyı yüksek hassasiyetle bulduğumuzu varsaydık, Ayrıca, iki tür hatanın ("yanlış pozitifler" ve "yanlış negatifler") aynı maliyete sahip olduğunu varsayalım . Bu, gerçek etiket C1 olduğunda C0'ı tahmin etmenin, gerçek etiket C0 olduğunda C1'i tahmin etmek kadar kötü olduğunu varsaydığımız anlamına gelir. O zaman hata maliyeti eşittir.

Kusurlu (C1) ve kusurlu olmayan (C0) ürün örneklerini ele alalım. Bu durumda tespit edilemeyen kusurlu bir ürünün hata yerine daha pahalıya (müşteri hizmet maliyetleri, olası hukuki maliyetler, tehlikeli kusurlar varsa ...) mal olacağını düşünebiliriz. Kusurlu olmayan ürünleri kusurlu olarak işaretleyin (üretim maliyeti kaybı). Şimdi, gerçek etiket C1 olduğunda, C0'ı tahmin etmek, gerçek etiket C0 olduğunda C1'i tahmin etmekten çok daha kötüdür. Hataların maliyeti artık eşit değil.

O zaman daha spesifik olarak, aşağıdaki maliyetlere sahip olduğumuzu düşünün:

  • Gerçek etiket C1 olduğunda, C0 maliyetini tahmin edin P01
  • Gerçek etiket C0 olduğunda, C1'in tahmini maliyeti P10'dur (0 < S10 < < P01)

Ardından, hedef işlevimizi yeniden tanımlayabiliriz: en iyi doğruluğu hedeflemek yerine, daha düşük tahmin maliyetleri ararız.

Teorik minimum maliyet

Teorik bir bakış açısıyla, beklenen tahmini maliyet

C (.) Sınıflandırıcı işlevini tanımlar. Bu nedenle, beklenen tahmin maliyetini en aza indirmek istiyorsak, teorik olarak en iyi sınıflandırıcı C (.) En aza indirmektir:

Veya eşdeğer olarak, x, C (.) Yoğunluğuna bölünmesi en aza indirir:

Bu nedenle, bu amaç işlevi ile teorik açıdan en iyi sınıflandırıcı şöyle görünecektir:

Olasılık eşiği

Bir sınıflandırıcının maliyetini değerlendirmenin ilk olası yolu, bunu eğitimden sonra yapmaktır. Her şeyden önce, fikir, aşağıdaki olasılıkları çıkarmak için bir sınıflandırıcıyı eğitmenin temel yöntemidir:

Maliyet dikkate alınmaz. Ardından, aşağıdaki durumlarda tahmin edilen sınıf C0 olacaktır:

Aksi takdirde, C1'dir.

Burada, her bir sınıfın belirli bir noktadaki olasılığı çıktı olduğu sürece, hangi sınıflandırıcıyı kullandığımız önemli değildir. Ana örneğimizde, verilerimize bir Bayes sınıflandırıcı yerleştirebiliriz ve ardından sınıflandırıcıyı açıklanan maliyet hatasına göre ayarlamak için elde edilen olasılıkları yeniden ayarlayabiliriz.

Olasılık eşiği yöntemi: Çıktı olasılığı, maliyetin nihai karar kuralında dikkate alınması için yeniden ağırlıklandırılır.

Sınıf yeniden ağırlıklandırma

Sınıf yeniden ağırlıklandırma fikri, sınıflandırıcı eğitimi sırasında maliyet hatalarının asimetrisini doğrudan dikkate almaktır. Bunu yaparken, her sınıfın çıktı olasılığı gömülü maliyet hata bilgisine sahip olacaktır ve bu daha sonra basit bir 0.5 eşikli bir sınıflandırma kuralı tanımlamak için kullanılabilir.

Bazı modeller için (sinir ağı sınıflandırıcıları gibi), eğitim sırasında maliyeti dikkate almak, amaç işlevini ayarlamayı içerebilir. Hala sınıflandırıcı çıktımızı istiyoruz

Ancak bu durumda, eğitim aşağıdaki maliyet işlevini en aza indirir:

Bazı diğer modeller için (Bayes sınıflandırıcıları gibi), yeniden örnekleme yöntemi, sınıf oranını saptırmak için kullanılabilir, böylece maliyet hatası bilgileri sınıf oranı içinde girilebilir. P01 ve P10 maliyetini düşünürsek (P01 gibi > P10), sonra:

  • Azınlık kategorileri için yüksek hızda örnekleme faktörü P01 / P10 (azınlıkların ana sayısı P01 / P10 ile çarpılmalıdır)
  • Çoğu kategori P10 / P01 faktörleriyle örneklenir (çoğu kategorinin temeli P10 / P01 ile çarpılmalıdır)

Sınıf yeniden ağırlıklandırma yöntemi örneği: Çoğu sınıfın az örneklemesi yapılır ve oranları dikkatlice seçilir ve maliyet bilgileri doğrudan sınıf oranlarına dahil edilir.

sonuç olarak

ilk , Makine öğrenimi algoritmalarını kullandığımız her zaman, modelin değerlendirme göstergelerini dikkatlice seçmeliyiz: hedeflerimize ulaşmada modelimizin performansını en iyi şekilde anlamamıza olanak tanıyan göstergeler kullanmalıyız.

ikinci Dengesiz veri kümeleriyle uğraşırken, sınıf verilen değişkenlerden iyi bir şekilde ayrılmamışsa ve amacımız en iyi doğruluğu elde etmekse, o zaman en iyi sınıflandırıcı her zaman en çok yanıt veren sınıf olabilir. Sınıf "saf" sınıflandırıcı.

üçüncü Yeniden örnekleme yöntemleri kullanılabilir, ancak dikkatlice düşünülmelidir: bunlar bağımsız çözümler olarak kullanılmamalıdır, ancak belirli hedeflere ulaşmak için problemin yeniden yapılmasıyla birleştirilmelidir.

dördüncü , Sorunun kendisini yeniden işlemek genellikle dengesiz sorunları çözmenin en iyi yoludur: sınıflandırıcılar ve karar kuralları, hataların maliyetini azaltmak gibi dikkatle seçilmiş hedeflere göre belirlenmelidir.

Bu makalenin amacı, tam olarak ne almak istediğinizi bilmektir, dengesiz veri kümeleri sorununun üstesinden gelmenize ve en iyi sonuçları almanıza yardımcı olacaktır. Hedefi mükemmel bir şekilde tanımlamak, her zaman yapılacak ilk şey ve bir makine öğrenimi modeli oluşturmak için yapılması gereken her seçimin başlangıç noktası olmalıdır.

95 sonrası bu süper yakışıklı küçük taze et, Brigitte Lin'in tacını tasarlamak için New York'taki Times Meydanı'na çıktı.
önceki
Süper çılgın! Telekom, "veri dolaşımını" iptal eder ve yeni ve sınırsız bir paket başlatır: 80 GB hız sınırı
Sonraki
Mira China Bao Jie: Gelecekte Akıllı Bağlantılı Araçların Geliştirilmesinde Yeni Zorluklar LINC 2016
25 yıl, 7 yıl liderlik yaptı ve ilk rolünde beş kişilik oyuncu oldu ve Çin filminin zirvesine ulaştı.
Satıcıların çarpıcı güzelliğini yakalamak için her gün üst geçitte birkaç saat bekledi.
Hella: Arabayı "akıllı bir maskeye" dönüştürün
Huawei ve Xiaomi'den başlayarak, cep telefonu üreticilerinin kendi geliştirdiği çip kompleksini yorumlamak
"Oryantal Van Gogh" ve "ihmal edilen usta" olarak bilinir ve başından beri sanata kendini adamıştır.
Çin Anakarası Li Peng: "Mobil hizmetler" merkezli dijital sürüş teknolojisinin kullanılması LINC 2016
Huawei Q2 Pro anneden çocuğa yönlendirme, gelişen teknoloji, şiddetli tutku
Phoenix OS'nin özelleştirilmiş versiyonu! Android yeni makine Wang Onda V10 Pro işletim deneyimi
111 yaşında, hala makyaj dolu, topuklu ayakkabı giyiyor ve heyecanla dans ediyor, aristokratik tarzın her adımında
Corning Wang Jianbo: Gorilla Glass arabaya nasıl yerleştirilir? LINC2016
İki Huawei telefonu Samsung tarafından çok perişan durumda. Bu aşamada satın almak umutsuz
To Top