Destek Vektör Makineleri (Support Vector Machines – SVMs) – 7

Karar Fonksiyonu ve Tahmin

Doğrusal DVM sınıflandırıcısı, yeni x örneğinin sınıfını karar fonksiyonunu hesaplayarak tahmin eder. Karar fonksiyonu, w^T \cdot x + b pozitif ise, \hat{y} tahmini pozitif sınıf(1), değilse negatif sınıf(0) olur. Burada b, yanlılık terimi, w ise ağırlık vektörüdür.

aaaa.png
Karar fonksiyonu

Aşağıdaki grafikte Iris veriseti üzerindeki bir modelin karar sınırını görüyoruz. Doğrusal DVM sınıflandırıcısını eğitmek demek, w ve b için uygun değerleri bulmak demektir. Genel olarak, eğer elimizde n tane öznitelik varsa, karar fonksiyonu n-boyutlu hiperdüzlem (hyperplane), karar sınırı ise ( n-1)-boyutlu hiperdüzlemdir.

im_!7.png

Şimdi karar fonksiyonunun eğimini, göz önüne alalım. Karar fonksiyonunun eğimi, ağırlık vektörünün normuna eşittir (\lvert \lvert w \rvert \rvert). Eğimi iki ile bölmek, kenar payını iki kat genişletecektir. Başka bir deyişle, ağırlık vektörü küçüldükçe, kenar payı genişler.

im_18.pngO halde amacımız, kenar payını maksimum yapmak için \lvert \lvert w \rvert \rvert normunu minimum yapmaktır. Ayrıca, sınır ihlallerini önlemek istiyorsak (hard margin), karar fonksiyonumuzun, pozitif sınıflar için 1’den büyük, negatif sınıflar içinde -1’den küçük olması gerekir. Pozitif sınıflar için t^{(i)}=1 ve negatif sınıflar için t^{(i)}=-1 tanımlarsak, bu kısıtlamayı t^{(i)}(w^T\cdot x^{(i)}+b)\geq 1 şeklinde ifade edebiliriz.

Dahası, hard margin doğrusal DVM sınıflandırma problemini, kısıtlanmış optimizasyon (constrained optimization) problemi olarak ifade edebiliriz:

aaaaaa.png
Hard margin doğrusal DVM sınıflandırma için kısıtlanmış optimizasyon problemi

NOT:  \lvert \lvert w \rvert \rvert değerini minimum yapmak yerine, \frac{1}{2} w^T \cdot w değerinin minimum yapıyoruz. Bunun nedeni, bir değeri minimum yapmak ile, onun karesinin yarısını minimum yapmak aynı sonucu vericektir. Ayrıca, \frac{1}{2} w^T \cdot w, w=0 noktasında türevlenebilir iken, \lvert \lvert w \rvert \rvertw=0 noktasında türevlenebilir değildir. Optimizasyon algoritmaları, türevlenebilir fonksiyonlar üzerinde daha iyi çalışır.

Soft margin sınıflandırma problemi için, bir artık değişken (slack variable) tanımlamamız gerekiyor. Her örnek için \zeta ^{(i)} \geq 0 değişkeni, i-inci örnek için sınır ihlalinin ne kadar olacağını ölçsün. Böylece iki tane amacımız var: Birincisi, sınır ihlallerini minimumda tutmak için artık değişkeni olabildiğince küçük yapmak, ikincisi ise, kenar payını büyütmek için\frac{1}{2} w^T \cdot w değerinin mümkün olduğunca küçük yapmak. Burada da C parametresi işin içine giriyor.

aaaaaaa
Soft margin doğrusal DVM sınıflandırma için kısıtlanmış optimizasyon problemi

Matematiğe bir sonraki yazıda devam edeceğiz. Görüşmek üzere.

Kaynaklar

  1. Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s