Destek vektör makinesi

**Destek vektör makinesi** (kısaca **DVM**), eğitim verilerindeki herhangi bir noktadan en uzak olan iki sınıf arasında bir karar sınırı bulan vektör uzayı tabanlı makine öğrenme yöntemi olarak tanımlanabilir.

x_i ile temsil edilen her girdi, D özelliğine sahip olsun ve sadece y_i = -1 ya da +1 sınıflarından birine ait olsun, bu durumda tüm girdileri şöyle gösterebiliriz:

\{x_i,y_i\}  |  i=1 \ldots L,
y_i\in\{-1,1\},
x\in\Re^D

## Doğrusal olmayan veri kümesinin DVM ile sınıflandırılması
Veri kümeleri 

### Kernel yöntemleri
Veri kümesinin doğrusal olarak sınıflandırılması mümkün olmayan durumlarda, her bir verinin üst özellik uzayıyla eşlenmesi ve yine bu yeni uzayda bir hiper düzlem yardımıyla sınıflandırılması yöntemine verilen isimdir.

#### 
K( x, y ) =  e^{\gamma| x - y|^2}

#### 
K(x,y) = {(x \cdot y   + 1)}^n

## Çok sınıflı verinin DVM ile sınıflandırılması
Destek vektör makineleri daha çok iki sınıftan olusan (binary classification) veriyi ayırmada kullanılmaktadır, örneğin bir veri kümesindeki her bir veriyi kadın veya erkek olarak ayırmak. Buna karşın veriler bazen ikiden fazla sınıfa ait olabilirler bu gibi durumlarda temel DVM algoritması işlevsiz bir hale gelir. Örneğin farklı cinsten olan köpeklerin belli başlı özelliklerinin tutulduğu bir veri kümesinin bu özellikleri baz alarak sınıflandırılması gibi Golden Retriever, Siberian Husky, German Shepherd, Pug vb.

### Bire çok yaklaşım
Genel anlamda sınıf sayısı kadar DVM'nin birbirine füzyonuyla elde edilir. Her DVM çıkan her bir sınıfı diğer sınıflarla karşılaştırarak bir sonuca ulaşır. Eğer N kadar sınıf varsa N sayıda DVM eğitilerek bu DVM'lerin birbiriyle kıyaslanarak hangi sınıf için en güvenilir sonucun çıktığına bakılarak sınıflandırma yapılır.f(x) = arg\max_{i} f_i(x)x girdi vektörü olmakla beraber i sınıfı temsil etmektedir.

### Bire bir yaklaşım
Bire bir yönteminde her bir sınıf ikilisi için farklı bir DVM eğitilir ve eğitilen DVM'lerden hangi sınıfın en çok "+1" olarak sınıflandırıldığına bakılır ve böylece sınıflandırma işlemi gerçekleştirilir. Bu yöntem *bire çok yöntemine* göre hesaplama gücü yönünden oldukça "pahalı" bir yöntemdir. Bunun sebebi, eğer N kadar sınıf varsa bu durumda {N(N-1)\over2} sayıda DVM eğitilmesi gerekmesidir.

f(x) = arg\max_{i} \Bigl(\sum_{j} f_{ij}(x)\Bigr)x girdi vektörü olmakla beraber i ve j sınıfları temsil etmektedirler.

## Tarihçe ve Gelişim
Destek vektör makineleri (DVM), 1992 yılında Vladimir Vapnik ve meslektaşı Alexey Chervonenkis tarafından geliştirilmiştir. Başlangıçta iki sınıfı ayırmak için doğrusal sınıflandırıcılar olarak tasarlanan DVM'ler, daha sonra kernel yöntemleri kullanılarak doğrusal olmayan sınıflandırma problemlerine de uygulanabilir hale gelmiştir.

## Destek Vektör Makinesi (DVM)
Destek vektör makinesi (kısaca DVM), makine öğreniminde kullanılan güçlü bir sınıflandırma yöntemidir. Bu yöntem, eğitim verilerindeki herhangi bir noktadan en uzak olan iki sınıf arasında bir karar sınırı (hiper düzlem) bulan vektör uzayı tabanlı bir yaklaşımdır. DVM, hem doğrusal hem de doğrusal olmayan veri kümeleri için etkili bir şekilde çalışabilir ve kernel yöntemleri kullanarak veri kümelerinin üst özellik uzaylarında sınıflandırma yapabilir. Bu sayede, karmaşık veri yapılarını bile başarılı bir şekilde sınıflandırma yeteneğine sahiptir.

### Uygulama Alanları
Destek vektör makineleri, birçok farklı alanda başarılı bir şekilde uygulanmaktadır. Yaygın uygulama alanlarından bazıları şunlardır:

Biyoinformatik: Gen ekspresyon verilerinin sınıflandırılması.

Finans: Kredi riskinin değerlendirilmesi ve dolandırıcılık tespiti.

Pazarlama: Müşteri segmentasyonu ve davranış tahmini.

Görüntü İşleme: Yüz tanıma ve nesne tespiti.

### Performans Karşılaştırmaları
Destek vektör makineleri, özellikle yüksek boyutlu ve küçük veri kümelerinde iyi performans gösterir. Diğer makine öğrenme yöntemleriyle karşılaştırıldığında, DVM'nin avantajları şunlardır:

Genel Performans: DVM, genellikle yüksek doğruluk oranlarına sahiptir.

Genelleme Yeteneği: Marjin maksimizasyonu, modelin genelleme yeteneğini artırır.

Hız: Büyük veri kümeleri için eğitim süresi uzun olabilir, ancak test süresi hızlıdır.

**DVM'nin dezavantajları ise şunlardır:**

Hesaplama Maliyeti: Kernel yöntemleri kullanıldığında hesaplama maliyeti artabilir.

Model Seçimi: Doğru kernel ve hiperparametrelerin seçimi zor olabilir.

## Kaynakça