DEV Community

MustafaLSailor
MustafaLSailor

Posted on

SVM - SVR

Support Vector Machine (SVM), genellikle sınıflandırma ve regresyon analizi problemlerinde kullanılan bir makine öğrenmesi algoritmasıdır. SVM, veri noktalarını ayıran bir hiper düzlem oluşturarak çalışır. Bu hiper düzlem, iki sınıf arasındaki marjı maksimize eder, yani en yakın veri noktalarına olan mesafeyi en büyük hale getirir.

Image description

burda da görüldüğü gibi iki küme arasındaki en uzun uzaklığı, margin'i(birbirine en yakın olan veriler için) bulmak için kullanılır.

SVM, verinin doğrusal olarak ayrılabilir olduğu durumlarda çok etkilidir. Ancak, doğrusal olarak ayrılamayan durumlar için de çözüm sunar. Bu çözüm, kernel trick adı verilen bir teknik kullanılarak sağlanır. Kernel trick, veriyi daha yüksek boyutlara taşıyarak orada bir hiper düzlem ile ayrılabilir hale getirir.

SVR

SVM, regresyon problemleri için Support Vector Regression (SVR) olarak uyarlanabilir. SVR, SVM'in sınıflandırma prensiplerini kullanarak sürekli bir fonksiyonu tahmin eder.

SVR, bir hiper düzlem oluşturur ve bu hiper düzlemi çevreleyen bir marj içinde kalan tüm veri noktalarını en iyi şekilde sığdırmaya çalışır. yani Çok büyük bir aralık kullanarak da verileri sığdırabiliriz ancak en küçük aralıkta bunu yapmamız daha iyi olacaktır.

Not: verileri scale etmek svr da önemli.

Image description

SVM algoritması genellikle aşağıdaki alanlarda kullanılır:

Yüz tanıma: SVM, bir yüzün farklı yüzlerden ayrılmasına yardımcı olabilir.
Metin ve hipertext kategorizasyonu: SVM, metin ve hipertext kategorizasyonunda yüksek doğruluk oranları sağlar ve daha az eğitim örneği gerektirir.
Sınıflandırma problemleri: Özellikle iki sınıf arasında ayrım yapmak için SVM sıklıkla kullanılır.
Regresyon, outlier tespiti ve kümeleme: SVM, bu tür problemler için de uyarlanmış versiyonları mevcuttur.

Top comments (0)