Makine öğrenmesinde , destek vektör makineleri (SVM’ler  vektörel ağları destekler), sınıflandırma ve regresyon analizi için kullanılan veriyi analiz eden ilişkili öğrenme algoritmalarıyla denetimli öğrenme modelleridir. Her biri, her iki kategoriden birine ya da diğerine ait olarak işaretlenmiş bir dizi eğitim örneği verildiğinde, bir SVM eğitim algoritması, bir olasılık dışı ikili doğrusal sınıflandırıcı haline getirerek bir kategoriye ya da diğerine yeni örnekler atayan bir model oluşturur (metodlar olsa da SVM’yi olasılıksal bir sınıflandırma ayarında kullanmak için Platt ölçeklendirme gibi).

Doğrusal sınıflandırma gerçekleştirmenin yanı sıra, SVM’ler, çekirdek numarası diye adlandırılanları kullanarak doğrusal olmayan sınıflandırmayı verimli bir şekilde gerçekleştirebilir ve girişlerini yüksek boyutlu özellik alanlarına örtülü olarak eşlerler.

Veriler etiketlendirilmediğinde, denetimli öğrenme mümkün değildir ve verilerin gruplara kümelenmesini ve daha sonra bu gruplara yeni verilerle eşleştirmeyi deneyen denetimsiz bir öğrenme yaklaşımı gereklidir. Destek vektör makinelerine bir iyileştirme sağlayan kümeleme algoritmasına, destek vektör kümeleme adı verilir ve endüstri uygulamaları için ya veri işaretlenmediğinde ya da sadece bazı veriler bir sınıflandırma için bir ön işleme olarak etiketlendiğinde kullanılır.

Destek Vektör Makinesi Nedir?

“Destek Vektör Makinesi” (SVM), sınıflandırma veya regresyon problemleri için kullanılabilen denetimli bir makine öğrenmesi algoritmasıdır. Bununla birlikte, çoğunlukla sınıflandırma problemlerinde kullanılır. Bu algoritmada, her bir veri maddesini belirli bir koordinatın değeri olan her özelliğin değeri ile birlikte n-boyutlu boşluğa (burada n sahip olduğunuz özelliklerin sayısı) bir nokta olarak çizilir. Ardından, iki sınıftan oldukça iyi ayrım yapan hiper-düzlemi bularak sınıflandırma gerçekleştirilir.destekvektorleri2Destek Vektörleri, sadece gözlemin koordinatlarıdır. Destek Vektör Makinesi, iki sınıftan (hiper düzlem / çizgi) en iyi ayıran bir sınırdır.

Destek Vektör Makinesi Nasıl Çalışır?

“Doğru hiper-düzlemi nasıl belirleyebiliriz?”

Doğru hiper düzlemi tanımlayın (Senaryo-1): Burada, üç hiper-düzlemimiz (A, B ve C) var. Şimdi yıldız ve çember sınıflandırmak için doğru hiper düzlemi belirleyin.

destekornek1Bu senaryoda, “B” hiper düzlemi mükemmel bir şekilde bu işi yapmıştır.

Doğru hiper düzlemi tanımlayın (Senaryo-2): Burada, üç hiper-düzlemimiz  (A, B ve C) sahibiz ve hepsi sınıfları birbirinden ayırmaktadır. Şimdi, doğru hiper-düzlemi nasıl tanımlayabiliriz?

destekornek2Burada, en yakın veri noktası (ya da sınıf) ve hiper-düzlemimiz arasındaki mesafeleri en üst düzeye getirmek, doğru hiper düzlemi belirlememize yardımcı olur. Bu mesafeye Kenar Boşluğu denir. Aşağıdaki görüntülere bakalım:

destekornek3Yukarıda, hiper-düzlemimiz C için marjın hem A hem de B’ye oranla yüksek olduğunu görebilirsiniz. Dolayısıyla, sağ hiper düzlemi C olarak adlandırırız. Daha yüksek marjlı hiper düzlemi seçmenin başka çarpıcı bir nedeni sağlamlıktır. Düşük kenar boşluğu olan bir hiper-düzlemi seçersek, kaçırma şansı yüksek olur.

Doğru hiper düzlemi tanımlayın (Senaryo-3): İpucu: Doğru hiper-düzlemi tanımlamak için önceki bölümde tartışılan kuralları kullanın

destekornek4Bazılarınız, A’ya kıyasla daha yüksek bir marja sahip olduğu için, hiper-düzlem B’yi seçmiş olabilir. Fakat, SVM marjı maksimize etmeden önce sınıfları doğru olarak sınıflandıran hiper düzlemi seçer. Burada, hiper-düzlem B’nin bir sınıflandırma hatası vardır ve A’nın tümü doğru sınıflandırılmıştır. Bu nedenle, doğru hiper-düzlem A’dır.

İki sınıfı  sınıflandırabilir miyiz ?(Senaryo-4) : Aşağıda, yıldızlardan biri diğer (daire) sınıfının olduğu yerde bir aykırı sınıf olarak kaldığı için, iki sınıfı düz bir çizgi ile ayıramayız.

destekornek5
Daha önce de söylediğim gibi, diğer kümedeki bir yıldız, yıldız sınıfı için bir aykırı gibi. SVM, aykırı değerleri göz ardı edip maksimum marjı olan hiper düzlemi bulma özelliğine sahiptir. Dolayısıyla şunu söyleyebiliriz ki, SVM aykırı verilere karşı dayanıklıdır.

destekornek6Sınıflara ayırmak için hiper-düzlemi bulun (Senaryo-5): Aşağıdaki senaryoda, iki sınıf arasında doğrusal hiper-düzleme sahip olamayız, bu yüzden SVM bu iki sınıfı nasıl sınıflandırır? Şimdiye kadar sadece doğrusal hiper-düzleme baktık.

destekornek7
SVM bu sorunu çözebilir. Kolayca! Bu sorunu ek özellik sunarak çözer. Burada z=x^2+y^2 diye yeni bir özellik ekleyeceğiz. Şimdi, x ve z ekseninde veri noktalarını çizelim:

destekornek8Yukarıdaki plot üzerinde  dikkate alınması gereken noktalar şunlardır:

  • Z için tüm değerler pozitif olur, çünkü z, hem x hem de y kareler toplamıdır
  • Orijinal çizgide, kırmızı daireler x ve y eksenlerinin yakınına görünür ve z’nin daha düşük değerine, yıldızın nispeten uzakta z’nin daha yüksek değerine yol açmasına neden olur.

SVM’de, bu iki sınıf arasında doğrusal bir hiper-düzlemin olması kolaydır. Ancak ortaya çıkan önemli diğer bir soru şudur; bu özelliği elle bir hiper düzleme eklemek zorunda mıyız. Hayır, SVM’de çekirdek numarası diye bir teknik vardır. Bunlar, düşük boyutlu giriş alanını alır ve onu daha yüksek boyutlu bir alana dönüştüren işlevlerdir; diğer bir deyişle, ayrılamaz sorunu ayrı problemlere dönüştürebilir; bu işlevlere çekirdek denir. Doğrusal olmayan ayırma probleminde çoğunlukla yararlıdır. Basitçe ifade etmek gerekirse, son derece karmaşık veri dönüşümleri yapar, sonra veriyi tanımladığınız etiketler veya çıktılara dayalı olarak ayırma işlemini öğrenirler.

Orijinal girdi alanındaki hiper-düzleme baktığımızda bir daireye benziyor:

destekornek9

 

Uygulama Alanları

SVM’ler, çeşitli gerçek dünya sorunlarını çözmek için kullanılabilir:

  • SVM’ler, hem standart endüktif hem de iletken ayarlarda etiketli eğitim örneklerine olan ihtiyacı önemli ölçüde azaltabileceğinden, metin ve köprü metni sınıflandırmada yardımcı olur.
  • Görüntülerin sınıflandırılması da SVM’leri kullanarak yapılabilir. Deneysel sonuçlar, SVM’lerin geleneksel arama sorgulama şemalarına göre sadece üç veya dört arama sonuçları geri bildiriminden sonra önemli ölçüde daha yüksek bir arama doğruluğu sağladığını göstermektedir. Vapnik tarafından öne sürülen ayrıcalıklı yaklaşımı kullanan SVM modifiye edilmiş bir sürümünü kullananlar da dahil olmak üzere, bu, görüntü bölümlendirme sistemleri için de geçerlidir.
  • Elle yazılmış karakterler SVM kullanılarak tanınabilir .
  • SVM algoritması biyolojik ve diğer bilim dallarında yaygın olarak uygulanmıştır. Doğru sınıflandırılmış bileşiklerin% 90’ına kadar proteinleri sınıflandırmak için kullanılmıştır. SVM modellerinin yorumlanması için bir mekanizma olarak SVM ağırlıklarına dayanan permütasyon testleri önerilmiştir. Destek vektör makinesi ağırlıkları geçmişte SVM modellerini yorumlamak için kullanılmıştır.
  • Tahmin yapmak için model tarafından kullanılan özellikleri tanımlamak için destek vektör makinesi modellerinin Posthoc yorumu, biyolojik bilimlerde özel bir önemi olan nispeten yeni bir araştırma alanıdır.

 

 

Referans:

https://en.wikipedia.org/wiki/Support_vector_machine