Daha önceki videolarda ikili program sınıflandırması iki olası seçenekten birini seçebilecek modeller. Örneğin:
- Belirtilen bir e-posta spam değil veya spam değil.
- Tümör kötü huyludur veya iyi huyludur.
Bu bölümde, çok sınıflı sınıflandırma birden fazla olasılık arasından seçim yapabilen modeller. Örneğin:
- Bu köpek av köpeği mi, alçak tazı mı yoksa tazı mı?
- Bu çiçek bir Sibirya İris, Hollanda İris, Mavi Bayrak İris mi? Cüce Sakallı İris mi?
- Uçak Boeing 747, Airbus 320, Boeing 777 veya Embraer 190 mı?
- Bu bir elma, ayı, şeker, köpek veya yumurta resmi mi?
Gerçek dünyada çok sınıflı bazı sorunlar milyonlarca arasından anlamına gelir. Örneğin, çok sınıflı bir sınıflandırma modelimiz vardı.
Bu bölümde, çok sınıflı sınıflandırmanın iki ana varyantı hakkında ayrıntılı bilgi verilmektedir:
- biri-hepsi
- one-vs.-one, yani genellikle softmax
Biri mi, hepsi mi?
One-vs.-all, ikili sınıflandırmayı kullanmanın bir yolunu sunar. evet veya hayır tahmini için kullanabilirsiniz.
N olası çözümü içeren bir sınıflandırma problemi için "bire karşı" çözüm, N ayrı ikili sınıflandırıcıdan (tek bir ikili program) oluşur. sınıflandırıcıları da kullanabilirsiniz. Model, eğitim sırasında bir dizi ikili sınıflandırıcı ile her birini ayrı bir sınıflandırma sorusu.
Örneğin, bir meyve parçası resmi olarak her biri farklı bir evet/hayır yanıtı verecek şekilde farklı tanıyıcılar eğitilebilir. soru:
- Bu resim bir elma mı?
- Bu resim turuncu mu?
- Bu resim muz mu?
- Bu resim bir üzüm mü?
Aşağıdaki resimde, bunun pratikte nasıl çalıştığı gösterilmektedir.
![Şekil 9. 4 farklı alana giriş olarak iletilen armut resmi
modellerden yararlanır. İlk model "elma"yı tahmin ediyor veya
elma" olduğunu ve tahmini "elma değil" olduğunu belirtir. İkinci model ise
"turuncu" veya "turuncu değil" olabilir ve tahmini "turuncu değil"dir. İlgili içeriği oluşturmak için kullanılan
üçüncü model "armut" tahminini veya “armut değil” olduğunu ve tahmininin
"armut". Dördüncü model "üzüm" tahmininde bulunur veya "üzüm yemi" ve
"not üzüm"dür.](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/one_vs_all_binary_classifiers.png?authuser=4&hl=tr)
Sınıftaki toplam sınıf sayısı aynı olduğunda bu yaklaşım oldukça küçüktür ancak sınıf sayısı arttıkça verimsiz hale gelir yükseliyor.
Tüm kitlelere kıyasla çok daha verimli bir "tek başına" modeli oluşturabiliriz. her çıkış düğümünün farklı bir temsili temsil ettiği derin sinirsel ağ ile sınıfını kullanır. Aşağıdaki resimde bu yaklaşım gösterilmektedir.
![Şekil 10. Şu mimariye sahip bir nöral ağ: giriş katmanı:
1 düğüm, 3 düğümlü gizli katman, 4 düğümlü gizli katman,
çıkış katmanıdır. Giriş düğümünden bir armut resmi beslenir.
Çıkış katmanına bir sigmoid aktivasyon işlevi uygulanır. Her biri
çıkış düğümü, görüntünün belirtilen bir
meyvedir. 1. çıkış düğümü, "Is apple?" sorusunu temsil eder. ve 0,34 değerine sahiptir.
2. çıkış düğümü, "Turuncu mu?" sorusunu temsil eder. ve 0,18 değerine sahiptir.
3. çıkış düğümü, "Ardışık mı?" sorusunu temsil eder. ve 0,84 değerine sahiptir.
4. çıkış düğümü "Üzüm mü?" sorusunu temsil eder. ve 0,07 değerine sahiptir.](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/one_vs_all_neural_net.png?authuser=4&hl=tr)
Bire karşılık bir (softmax)
Şekil 10’daki çıktı katmanındaki olasılık değerlerinin toplamı 1,0 (veya %100) değildir. (Aslında toplamları 1, 43'tür.) "Bire bir" ayarında yaklaşımında, her bir ikili sonuç kümesinin olasılığı bağımsız olarak yürütülür. Yani, bir riskin olasılığı "elma"nın ile "elma değil" karşılaştırması diğerimizin olasılıklarını meyve seçenekleri: "turuncu", "armut" veya "üzüm".
Peki ya her meyvenin olasılıklarını tahmin etmek nasıl? Bu örnekte, "elma" tahmini yerine "değil" "elma"yı tahmin etmek istiyoruz. ve "turuncu" ve "armut" ve "üzüm" gibi... Bu çok sınıflı sınıflandırmaya bire-bir sınıflandırması denir.
Aynı tür nöral sinir sistemini kullanarak bire bir sınıflandırma yapabiliriz. ağ mimarisi, tek bir önemli değişiklikle birlikte "biri-hepsi" sınıflandırması için kullanılır. Çıkış katmanına farklı bir dönüşüm uygulamamız gerekiyor.
"Biri" ile "hepsi" karşılaştırması için her çıkışa sigmoid aktivasyon işlevini uyguladık. Düğümün her biri için ayrı ayrı 0 ile 1 arasında bir çıkış değeri elde edilmiştir. ancak bu değerlerin toplamının tam olarak 1 olduğunu garanti etmemiştir.
Bire karşılık bir için, bunun yerine softmax adlı bir işlev uygulayabiliriz. çok sınıflı problemlerde her sınıfa ondalık olasılıklar atar. tüm olasılıkların toplamı 1,0’dır. Bu ek kısıtlama eğitimin normalde olduğundan daha hızlı bir şekilde örtüşmesine yardımcı olur.
Aşağıdaki resimde, "bir" ve "hepsi" arasındaki çok sınıflı sınıflandırma yeniden uygulanmaktadır. bire bir görev olarak nitelendirilir. softmax çalışması için gizli çıkış katmanının (softmax katmanı denir) hemen önündeki katmanda çıkış katmanıyla aynı sayıda düğüm vardır.
![Şekil 11. Şu mimariye sahip bir nöral ağ: giriş
1 düğümlü katman, 3 düğümlü gizli katman, 4 düğümlü gizli katman,
çıkış katmanıdır. Giriş düğümünden bir armut resmi beslenir.
Çıkış katmanına bir softmax etkinleştirme işlevi uygulanır. Her biri
çıkış düğümü, görüntünün belirtilen bir
meyvedir. 1. çıkış düğümü, "Is apple?" sorusunu temsil eder. ve 0,19 değerine sahiptir.
2. çıkış düğümü, "Turuncu mu?" sorusunu temsil eder. ve 0,12 değerine sahiptir.
3. çıkış düğümü, "Ardışık mı?" sorusunu temsil eder. ve 0,63 değerine sahiptir.
4. çıkış düğümü "Üzüm mü?" sorusunu temsil eder. ve 0,06 değerine sahiptir.](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/one_vs_one_neural_net.png?authuser=4&hl=tr)
Softmax seçenekleri
Aşağıdaki softmax varyantlarını göz önünde bulundurun:
Full softmax, daha önce bahsettiğimiz softmax'tır. yani softmax mümkün her sınıf için bir olasılık hesaplar.
Aday örnekleme, softmax'ın bir olasılık hesapladığı anlamına gelir yalnızca rastgele bir örneklem grubu için negatif etiketler. Örneğin, bir açılış sayfasının giriş resminin bir beagle veya tazı olması fark etmeksizin, köpek olmayan her örnek için olasılık sağlar.
Sınıf sayısı azken Full softmax oldukça ucuzdur ancak sınıf sayısı arttıkça aşırı derecede pahalı hale geliyor. Aday örnekleme, geniş kapsamlı erişim talepleri içeren problemlerde verimliliği artırabilir sınıf sayısı.
Bir etiket mi yoksa çok sayıda etiket mi?
Softmax her örneğin tam olarak bir sınıfın üyesi olduğunu varsayar. Bununla birlikte, bazı örneklerde aynı anda birden çok sınıfın üyesi olabilir. Bu tür örnekler için:
- softmax kullanamazsınız.
- Çoklu mantıksal regresyonlardan yararlanmanız gerekir.
Örneğin, yukarıdaki Şekil 11'de gösterilen bire bir modelinde her bir girişin bir resim tam olarak bir meyve türünü gösteriyor: elma, portakal, armut veya bir üzüm. Ancak, bir girdi resmi birden fazla meyve türü içeriyorsa; bir bir kasede elma ve portakal kasesi için lojistik süreci regresyonlar olacaktır.