Skip to content

Instantly share code, notes, and snippets.

@UtkucanBykl
Last active July 7, 2017 11:45
Show Gist options
  • Save UtkucanBykl/c654c79c62b82c2ed094a86c57f123d9 to your computer and use it in GitHub Desktop.
Save UtkucanBykl/c654c79c62b82c2ed094a86c57f123d9 to your computer and use it in GitHub Desktop.

SVM Nedir ?

(Support Vector Machine)

İki veya daha fazla grup arasında olan sonsuz adet doğrudan hangisinin optimum olduğunu bulmamıza yarar.Örneğin düzlemimizde elma ve armutlar var.Bunlar iki boyutlu düzlemde elmalar bir tarafta armutlar bir tarafta olacak şekilde ayrıldığını düşünelim.Bu elma ve armutları birbirinden ayıran sonsuz adet vektör çizebiliriz.SVM bize bu vektörlerden hangisinin daha optimum olduğunu bulmamızı sağlar.Bu vektöre de 'hyperplane' denir.Bu hyperplane'ın vektörü henüz bilinmez durumdadır.Bu durumda Lagrange yöntemi ile hyperplane'ınımızın denklemini bulabiliriz.

[image
Bu örnekte birden fazla vektör var ve bu vektörlerin hepsi doğru.Çünkü kadın ve erkekleri ikiye bölmüşler.Fakat doğru olmaları optime oldukları anlamına gelmiyor.İki gruba da yakın birbirine paralel iki çizgi çekilmesi gerekir.

image

Yukarıdaki şekilde iki farklı hiperdüzlem (aşırı düzlem) olasılığı bulunmasına karşılık SVM yönteminde bu olasılıklardan en büyük toleransa (offset) sahip olanı alınır.

Bad

image

GOOD

image

Eğer Data Çok Karışık İse ?

Data birbirine çok girmiş karışık bir şekilde duruyorsa , SVM kernel fonksiyonu sayesinde üçüncü bir özellik bulup üçüncü boyuta taşır.Yani siz bir kübe yukardan baktığınızı düşünün , hangi elma yukarda hangi elma aşağıda göremezsiniz . 3 boyutlu şekilde baktığınızı düşünün şimdi elmalar yukarda armutlar aşağıda kaldı . Bu sayede bizde vektörümüzü çizebiliyoruz. K(x,y)

Örnek Kernel Fonksiyonları

Linear image

X ve Y nin iç çarpımı ve isteğe bağlı bir c değişkeni

Poly image

[image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment