SVM, yani support vector machine (destek vektör makinesi), sınıflar arasına mümkün olan en büyük marjı bırakan bir sınır seçen bir sınıflandırıcıdır. SVM’nin ne olduğunu merak ediyorsanız, temel fikir budur: grupları yalnızca ayırmak değil, aralarında mümkün olan en geniş ve güvenilir boşluğu bırakmaktır.

Bu sınıra en yakın noktalara destek vektörleri denir. En önemli noktalar bunlardır, çünkü ayırıcı sınırın nerede durabileceğini onlar belirler.

Marj Neden Önemlidir

Biri A sınıfından, diğeri B sınıfından gelen iki nokta kümesi düşünün. Bu kümeleri ayırabilecek birçok doğru olabilir. SVM, her iki tarafta da en büyük güvenlik payını bırakan doğruyu tercih eder.

Daha geniş bir marj, sınıflandırıcının eğitim verisindeki küçük değişimlere karşı daha az hassas olmasını sağlar. Bu, gerçek dünyada daha iyi performansın garantisi değildir, ama SVM’lerin arkasındaki temel sezgi budur.

SVM Karar Sınırı Nasıl Görünür

Doğrusal bir SVM’de karar sınırı bir hiper düzlemdir:

wx+b=0w \cdot x + b = 0

Sınıflandırıcı, wx+b>0w \cdot x + b > 0 olduğunda bir sınıfı, wx+b<0w \cdot x + b < 0 olduğunda ise diğer sınıfı tahmin eder.

Ayrılabilir veriler için standart maksimum marj ölçeklemesinde, SVM ww ve bb değerlerini öyle seçer ki

yi(wxi+b)1y_i(w \cdot x_i + b) \ge 1

her eğitim noktası için sağlansın ve aynı zamanda marj mümkün olduğunca büyük olsun. Bu ölçeklemede toplam marj genişliği

2w.\frac{2}{\|w\|}.

Pratikte önemli olan fikir, formülden daha basittir: bu normalize edilmiş düzende daha küçük bir w\|w\|, daha geniş bir marj anlamına gelir.

Çözümlü Örnek: Tek Boyutlu Bir SVM

Tek boyutlu bir örnek, marj fikrini görmeyi kolaylaştırır.

Negatif sınıfın x=0x=0 ve x=1x=1 noktalarına, pozitif sınıfın ise x=4x=4 ve x=5x=5 noktalarına sahip olduğunu varsayalım.

11 ile 44 arasındaki herhangi bir eşik sınıfları ayırır. Örneğin x=2x=2 de çalışır, x=3x=3 de çalışır, ama bu seçimler her iki tarafta aynı tampon boşluğu bırakmaz.

Bu tek boyutlu ayrılabilir durumda SVM, zıt sınıflardaki en yakın noktaların orta noktasını seçer; yani karar eşiği

x=2.5.x = 2.5.

En yakın negatif nokta x=1x=1, en yakın pozitif nokta ise x=4x=4’tür. Bunlar destek vektörleridir. Her biri sınıra 1.51.5 birim uzaklıktadır, dolayısıyla marj mümkün olan en dengeli ve en geniş hâliyle kurulmuş olur.

Burada sınıflandırıcıyı “x>2.5x > 2.5 ise pozitif, x<2.5x < 2.5 ise negatif tahmin et” şeklinde yazabilirsiniz. Bu basit durum gerçek fikri yakalar: sınır, uzaktaki ve zaten kolay sınıflanan noktalardan değil, yakın ve zor örneklerden belirlenir.

Hard-Margin ve Soft-Margin SVM

Hard-margin SVM yalnızca eğitim verileri doğrusal olarak kusursuz biçimde ayrılabiliyorsa çalışır. Bu koşulu tek bir nokta bile bozarsa, hard-margin yaklaşımı veriye uymaz.

Bu yüzden pratikte birçok SVM, soft margin kullanır. Soft-margin SVM yine geniş bir marjı tercih eder, ama bazı noktaların marjın içine düşmesine hatta sınırın yanlış tarafında kalmasına bir ceza karşılığında izin verir.

CC parametresi bu dengeyi kontrol eder. Daha büyük bir CC, ihlalleri daha güçlü biçimde cezalandırır. Daha küçük bir CC ise daha fazla esneklik sağlar. Hiçbiri otomatik olarak daha iyi değildir; bu, veriye bağlıdır ve doğrulama performansına bakılarak değerlendirilmelidir.

Kernel SVM Ne Zaman Yardımcı Olur

Bazen orijinal özellik uzayında düz bir sınır yeterli olmaz. Kernel SVM bunu, noktaları bir kernel fonksiyonu üzerinden karşılaştırarak ele alır; böylece açıkça devasa bir dönüştürülmüş özellik vektörü yazmadan eğri bir sınır mümkün olabilir.

Buradaki temel koşul şudur: ek esneklik ancak veri örüntüsü gerçekten buna ihtiyaç duyuyorsa işe yarar. Kernel’ler modeli iyileştirebilir, ama ayarlamayı da zorlaştırabilir; bu yüzden varsayılan olarak seçilmemeli, doğrulanmalıdır.

SVM’de Yaygın Hatalar

Her Noktanın Eşit Derecede Önemli Olduğunu Düşünmek

SVM’de en yakın noktalar en çok önem taşır. Sınırdan uzaktaki noktaların son ayırıcı üzerinde çoğu zaman çok az etkisi olur.

Hard Margin İçin Gerekli Koşulu Unutmak

Kusursuz doğrusal ayrılabilirlik gerçek bir koşuldur, varsayılan bir kabul değildir. Sınıflar örtüşüyorsa soft margin ya da farklı bir model gerekir.

Özellik Ölçeklemeyi Göz Ardı Etmek

SVM’ler uzaklıklara ve skaler çarpımlara dayanır. Bir özellik diğerine göre çok daha büyük bir ölçekte ölçülüyorsa, önce girdileri ölçeklemezseniz karar sınırına baskın gelebilir.

Kernel’in Otomatik Olarak Daha İyi Olduğunu Varsaymak

Daha esnek bir sınır eğitim verisine daha iyi uyabilir, ama bu onun otomatik olarak daha iyi genelleme yapacağı anlamına gelmez.

SVM’ler Nerelerde Kullanılır

SVM’ler, sınıflar arasındaki sınırın oldukça keskin olabildiği ve marj temelli düşünmenin yararlı olduğu sınıflandırma problemlerinde kullanılır. Özellikle küçük ve orta ölçekli tablosal problemlerde ve yüksek boyutlu özellik uzaylarının yaygın olduğu metin sınıflandırmada sık görülür.

Ayrıca support vector regression adı verilen ilişkili bir yöntemle regresyonda da kullanılırlar, ancak bu, burada anlatılan ikili sınıflandırma görünümünden farklı bir kurulumdur.

Benzer Bir SVM Problemi Deneyin

Örnekteki tek boyutlu noktalara bir yeni negatif nokta daha ekleyin: x=2.2x=2.2. Artık temiz ve geniş boşluk ortadan kalkmıştır. Hard margin konusunda ısrar ederseniz neyin değiştiğini, soft margin’e izin verirseniz neyin değiştiğini sorun. Bu karşılaştırma, SVM’leri anlamanın çoğu zaman en hızlı yoludur.

Bir soruyla yardıma mı ihtiyacın var?

Sorunuzu yükleyin ve saniyeler içinde doğrulanmış adım adım çözüm alın.

GPAI Solver Aç →