← Back to list

Computer Vision 5 Softmax

Softmax sınıflandırıcı (Softmax classifier)

Alper Arık · 2020-03-13 17:01 · 1 claps · 3.3 min read
#softmax-optimization #softmax #makine-öğrenmesi #bilgisayarla-görme #görüntü-i̇şleme
Open on Medium ↗
Wiki topics: MM · Multimodal & Generative Media

Computer Vision 5 Softmax

Softmax sınıflandırıcı (Softmax classifier)

SVM’de kullanılan skor fonksiyonu her sınıf için sınırları belirli olmayan değerlerde skor üretmektedir. Softmax ise her sınıf için sınırları belirli olan, normalize edilmiş değerler üretir. Softmax sınıflandırıcı için f(xi:W) = Wxi fonksiyonumuz aynı kalacak fakat skor değerlerimizi her sınıf için logaritmik olasılık değerleri olarak değerlendireceğiz ve hinge-loss yerine cross-entropy (çapraz entropi) loss kullanacağız.

fj : sınıf skorlarını ifade eden f vektörünün j. elemanı

Logaritma içerisindeki ifadede, skor değerlerinin toplamı kullanılarak normalizasyon yapıldığı için her zaman 0–1 arası değer alacaktır. Bu değer aralığının logaritması her zaman negatif çıkacağından ifadenin başında bir eksi bulunmaktadır.

Bu modelimizde eğitim aşamasında hesaplanan maliyet değeri tüm görüntüler için hesaplanan ortalama Li değeri ve regularization değeri R(W) toplamı olacaktır.

Yukarıdaki maliyet fonksiyonunda logaritma içerisinde yer alan ifade softmax fonksiyonu olarak tanımlanmaktadır. Softmax fonksiyonu girdi olarak aldığı reel sayıları, değer aralığı [0–1] ve toplamları 1 olacak şekilde bir vektör içerisine sıkıştırır(bkz: stretching and squashing vector space).

Cross-entropy loss

Information theory açısından cross-entropy; p gerçek dağılım, q ise tahmin dağılımı olmak üzere aşağıdaki formül ile ifade edilebilir.

Bu durumda softmax sınıflandırıcı q olmak üzere, p gerçek dağılımı ile q tahmin edilen sınıf olasılıkları arasındaki cross-entropy’yi (maliyet değerini) minimize eder. Başka bir deyişle olasılık değerlerini doğru sınıf üzerinde toplar. (p = [0, 0, …. 1, 0, 0] ve sadece j. doğru sınıf 1 olmak üzere)

Olasılık açasından ise doğru sınıfın likelihood(olasılıksal benzerlik) değerinin negatif logaritmasının minimizasyonu şeklinde yorumlanabilir. P likelihood formülü aşağıda görülmektedir. İfadenin payda kısmının normalizasyon işlemi uygulamasından dolayı tüm olasılıkların toplamı 1 çıkmaktadır.

Softmax normalization trick

Softmax içerisindeki eksponansiyel ifadelerden dolayı hesaplama açısından çok büyük sayılar oluşabilir. Bu durumdan kaçınmak için formül normalize edilir. Uygulama adımında ise girdi olarak alınan skor değerleri vektörünün her elemanından, en büyük skor çıkarılır. Örnek olarak f = [234, 345, 657] ise yeni f vektörü = [-423, -312, 0] olacaktır ve en büyük sayının 0 olması garantilenerek hesaplamada çok büyük sayılar oluşması önlenir.

İsimlendirme karmaşası

SVM için kullanılan maliyet fonksiyonu SVM loss, hinge loss ve max-margin loss olarak isimlendirilebilir.

Softmax sınıflandırıcı cross-entropy loss maliyet fonksiyonunu kullanmaktadır, skor fonksiyonu olarak softmax fonksiyonu kullandığından Softmax sınıflandırıcı olarak adlandırılmaktadır. Cross-entropy kendi içerisinde softmax fonksiyonu kullandığından maliyet fonksiyonu bazen softmax loss olarak adlandırılmaktadır.

SVM ve Softmax karşılaştırması

<kaynak>

<kaynak>

Şekildeki SVM için hesaplanan maliyet 1.58 ile Softmax için hesaplanan maliyet 1.04 kullanılarak hangi sınıflandırıcı daha başarılı vs. karşılaştırma yapılamaz. Maliyet değerleri ile karşılaştırma yapabilmek için sınıflandırıcılar ve kullanılan veriler aynı olmalıdır.

SVM her sınıf için skor üretir fakat sınıfların skorları arasında bir ilişki bulunmamaktadır. Softmax te ise skorlar sınıflar için olasılık değerleri olarak üretilir ve her sınıf için bir confidence(güvenilirlik) değeri olarak yorumlanabilir.

Modelimizden elde edilen skor değerlerinin aşağıdaki gibi olduğunu düşünelim, eksponansiyel değerlerini alalım ve negatif logaritmalarını hesaplayalım yani softmax fonksiyonundan geçirelim.

Modelimizin farklı bir aşamasında ise regularization katsayısı/ λ değerini artıralım. Bu işlem sonucu W değerlerimiz ve doğal olarak skor değerlerimiz azalacaktır. Skor değerlerimizi softmax fonksiyonundan geçirelim.

Yukarıda görüldüğü üzere hesaplanan olasılık değerleri sınıflar arasında daha dengeli yayılmıştır. λ değeri ne kadar artarsa W ve skor değerleri o kadar azalacak ve hesaplanan olasılık değerleri uniform(tekdüze) bir yapı alacaktır. Bu tip bir durumda SVM de olduğu gibi skorlar sıralamaya göre anlam ifade etmeye başlayacaktır.

Elde edilen skor değerlerini sırasıyla [20, 19, 19] ve [20, -500, -2000] olarak ve ilk sıradaki skorun doğru sınıf için olduğunu düşünelim. SVM açısından doğru sınıfın skoru en yüksek olduğundan doğru tahmin eder. Diğer sınıfların skorları için aradaki farkın margin kadar olması yeterlidir, çok düşük skorlar alması beklenmez. Softmax ise tahmin için her sınıf skorunu değerlendirmektedir. Bu yüzden ilk örnekteki doğru sınıf ve diğer sınıflar arasındaki skor farkı ikinci örnektekine göre daha az olduğundan ilk örnekteki durum softmax açısından daha kabul edilebilirdir.


메타데이터
post_id
269b7ac6de61
slug
computer-vision-bilgisayarla-görü-5-269b7ac6de61
url
https://medium.com/@alperarik/computer-vision-bilgisayarla-g%C3%B6r%C3%BC-5-269b7ac6de61
canonical_url
https://medium.com/@alperarik/computer-vision-bilgisayarla-g%C3%B6r%C3%BC-5-269b7ac6de61
author_url
https://medium.com/@alperarik
status
ok
fetched_at
2026-08-05 13:13:33