Çok sınıflı sınıflandırma

Tamamlandı

Çok sınıflı sınıflandırma , bir gözlemin birden çok olası sınıftan hangisine ait olduğunu tahmin etmek için kullanılır. Denetimli makine öğrenmesi tekniği olarak, eğitilen modeli doğrulamak için eğitim verilerinin bir alt kümesinin gerilendiği regresyon ve ikili sınıflandırma ile aynı yinelemeli eğitme, doğrulama ve değerlendirme sürecini izler.

Örnek - çok sınıflı sınıflandırma

Çok sınıflı sınıflandırma algoritmaları, birden çok sınıf etiketi için olasılık değerlerini hesaplamak için kullanılır ve modelin belirli bir gözlem için en olası sınıfı tahmin etmesini sağlar.

Şimdi her penguenin yüzgeç uzunluğunun (x) kaydedildiği penguenlerle ilgili bazı gözlemlere sahip olduğumuz bir örneği inceleyelim. Her gözlem için veriler, aşağıdaki gibi kodlanmış penguen türlerini (y) içerir:

  • 0: Adelie
  • 1: Gentoo
  • 2: Chinstrap

Not

Bu modüldeki önceki örneklerde olduğu gibi, gerçek bir senaryo birden çok özellik (x) değeri içerebilir. İşleri basit tutmak için tek bir özellik kullanacağız.

Diagram of a measuring ruler. Diagram of three penguins.
Yüzgeç uzunluğu (x) Türler (y)
167 0
172 0
225 2
197 1
189 1
232 2
158 0

Çok sınıflı sınıflandırma modelini eğitma

Çok sınıflı sınıflandırma modelini eğitmek için, eğitim verilerini her olası sınıf için olasılık değerini hesaplayan bir işleve sığdırmak için bir algoritma kullanmamız gerekir. Bunu yapmak için kullanabileceğiniz iki tür algoritma vardır:

  • One-vs-Rest (OvR) algoritmaları
  • Çok terimli algoritmalar

One-vs-Rest (OvR) algoritmaları

One-vs-Rest algoritmaları her sınıf için bir ikili sınıflandırma işlevi eğitir ve her biri gözlemin hedef sınıfın bir örneği olma olasılığını hesaplar. Her işlev, gözlemin diğer sınıflarla karşılaştırıldığında belirli bir sınıf olma olasılığını hesaplar. Penguen türleri sınıflandırma modelimiz için algoritma temelde üç ikili sınıflandırma işlevi oluşturur:

  • f0(x) = P(y=0 | x)
  • f1(x) = P(y=1 | x)
  • f2(x) = P(y=2 | x)

Her algoritma, 0,0 ile 1,0 arasında bir olasılık değeri hesaplayan bir sigmoid işlevi üretir. Bu tür bir algoritma kullanılarak eğitilen bir model, en yüksek olasılık çıkışını üreten işlev için sınıfı tahmin eder.

Çok terimli algoritmalar

Alternatif bir yaklaşım olarak, çok değerli bir çıkış döndüren tek bir işlev oluşturan çok terimli bir algoritma kullanmaktır. Çıkış, tüm olası sınıfların olasılık dağılımınıiçeren bir vektördür (değerler dizisidir) ve her sınıf için toplam 1,0'a kadar olasılık puanı ekler:

f(x) =[P(y=0|x), P(y=1|x), P(y=2|x)]

Bu tür bir işleve örnek olarak softmax işlevi verilmiştir ve bu işlev aşağıdaki örneğe benzer bir çıkış üretebilir:

[0.2, 0.3, 0.5]

Vektördeki öğeler sırasıyla 0, 1 ve 2 sınıflarının olasılıklarını temsil eder; bu durumda en yüksek olasılığı olan sınıf 2'dir.

Hangi algoritma türünün kullanıldığına bakılmaksızın model, belirli bir özellik kümesi (x) için en olası sınıfı belirlemek için sonuç işlevini kullanır ve ilgili sınıf etiketini (y) tahmin eder.

Çok sınıflı sınıflandırma modelini değerlendirme

Her bir sınıf için ikili sınıflandırma ölçümlerini hesaplayarak çok sınıflı bir sınıflandırıcıyı değerlendirebilirsiniz. Alternatif olarak, tüm sınıfları hesaba katan toplam ölçümleri hesaplayabilirsiniz.

Çok sınıflı sınıflandırıcımızı doğruladığımız ve aşağıdaki sonuçları aldığımızı varsayalım:

Yüzgeç uzunluğu (x) Gerçek türler (y) Tahmin edilen türler (ŷ)
165 0 0
171 0 0
205 2 1
195 1 1
183 1 1
221 2 2
214 2 2

Çok sınıflı bir sınıflandırıcının karışıklık matrisi, bir ikili sınıflandırıcınınkine benzer, ancak tahmin edilen (ŷ) ve gerçek sınıf etiketlerinin (y) her birleşimi için tahmin sayısını gösterir:

Diagram of a multiclass confusion matrix.

Bu karışıklık matrisinden, her bir sınıfın ölçümlerini aşağıdaki gibi belirleyebiliriz:

Sınıf TP TN FP FN Doğruluk Geri çek Duyarlık F1 Puanı
0 2 5 0 0 1.0 1.0 1.0 1.0
1 2 4 1 0 0.86 1.0 0.67 0.8
2 2 4 0 1 0.86 0.67 1.0 0.8

Genel doğruluk, yakalama ve duyarlık ölçümlerini hesaplamak için TP, TN, FP ve FN ölçümlerinin toplamını kullanırsınız:

  • Genel doğruluk = (13+6)÷(13+6+1+1) = 0,90
  • Genel geri çağırma = 6÷(6+1) = 0,86
  • Genel duyarlık = 6÷(6+1) = 0,86

Genel F1 puanı, genel geri çekme ve duyarlık ölçümleri kullanılarak hesaplanır:

  • Genel F1 puanı = (2x0,86x0,86)÷(0,86+0,86) = 0,86