SlideShare a Scribd company logo
1 of 37
Support Vector Machines
(Destek Vektör Makineleri)
1
O uzhan TA (2016)ğ Ş
Sınıflama Nedir?
• Benzer özellikteki nesnelerin önceden
belirlenmiş alt gruplara atanması işlemidir.
• Sınıflandırma, bir veri kümesi (data set)
üzerinde tanımlı olan çeşitli sınıflar arasında
veriyi dağıtmaktır.
• Sınıflandırma algoritmaları, verilen eğitim
kümesinden bu dağılım şeklini öğrenirler ve
daha sonra sınıfının belirli olmadığı test
verileri geldiğinde doğru şekilde
sınıflandırmaya çalışırlar.
2
Amaç nedir?
a) Veriyi sadeleştirmek,
b) Veri üzerinde tahmin(kestirim) yapmak,
3
Uygulama Alanları?
• Yüz tanıma (face recognition),
• Karakter tanıma (text recognition),
• El yazısı tanıma (handwriting recognition),
• Tıbbi tahminler, Parkinson, Kanser verileri vb.
• Zaman serileri tahmini (time series)
Sınıflandırma Yöntemleri
• Karar Ağaçları (Decision Trees)
• Bayesian Ağları (Bayesian Networks)
• k en Yakın Komşuluğu (K Nearest Neighbours)
• Genetik Algoritmalar
• Yapay Sinir Ağları (Artificial Neural Networks)
• Rastgele Orman (Random Forest)
• Destek Vektör Makineleri (Support Vector Machines)
4
SVM (Support Vector Machine)
• Değişkenler arasındaki örüntülerin bilinmediği
veri setlerindeki sınıflandırma problemleri için
önerilmiş bir makine öğrenmesi yöntemidir.
• İstatiksel öğrenme teorisine ve yapısal risk
minimizasyonuna dayanmaktadır.
Neden Support Vector Machine Popüler?
- Uygulanması kolaydır,
- Genellikle İyi genelleştirme performansı
gösterir,
- Küçük bir bakımla aynı algoritma birçok
problemi çözebilir.
5
• Sınıflandırma (Classification) konusunda
kullanılan oldukça etkili ve basit
yöntemlerden birisidir.
• Sınıflandırma için bir düzlemde bulunan iki
grup arasında bir sınır çizilerek iki grubu
ayırmak mümkündür. Bu sınırın çizileceği yer
ise iki grubun da üyelerine en uzak olan yer
olmalıdır. İşte SVM bu sınırın nasıl
çizileceğini belirler.
6
SVM (Support Vector Machine)
SVM’ler hakkında
• SVM’ler hiçbir parametre almayan
(nonparametric) sınıflayıcılardır.
• Dağılım hakkında herhangi bir ön bilgi veya
varsayım yoktur.
• Eğitim setlerinde girdi ve çıktılar eşlenir.
• Eşler aracılığıyla test setlerinde ve yeni veri
setlerinde girdi değişkenini sınıflayacak
karar fonksiyonları elde edilir.
7
SVM Girdi(Input) Verisi
• Linear, Doğrusal olarak ayrılabilir.
• Verileri ayırabilecek sonsuz sayıda doğru
içerisinden marjini en yüksek olan doğrunun
seçilmesi işlemidir.
• NonLinear, Doğrusal olarak ayrılmayabilir.
• Doğrusal olmayan haritalama(mapping) ile orijinal
çalışma verisi yüksek boyuta dönüştürülür. Verinin
taşındığı yeni boyutta marjini en uygun (optimum)
ayırıcı düzlemi araştırma işlemidir.
8
Avantajları
• Hem doğrusal hem de doğrusal olmayan
verilere uygulanabilme,
• Yüksek doğruluk oranına sahip olma,
• Karmaşık karar sınırları modelleyebilme,
• Çok sayıda bağımsız değişkenle çalışabilme.
9
Avantajları
• Destek Vektör Makineleri
(SVM)
• Global minimum
• Overfitting sorununun
olmaması.
• Yüksek Doğruluk
10
• Yapay Sinir Ağları(ANN)
• Local minimum
• Cross validation
uygulanmadıkça ANN
overfit yapabilir.
• SVM’ye göre biraz daha az
doğruluk
Overfitting: Aşırı uygunluk
Cross Validation : istatistiksel sınıflandırma problemlerinde,
bir veri kümesini aşağı yukarı eşit k tane alt kümeye bölme ve
her bir k için, sınıflandırıcıyı oluşturmak için k-1 kümeyi kullanma
ve arta kalan k'ıncı küme üzerinde sınama.
Karşılaştırma (ANN-SVM)
11
lk örnekte SVM %4; ikinci örnekte SVM %1,1 ile en yüksekİ
do ruluk oranlarına sahiptir.ğ
Dezavantajları
• Olasılıksal tahminler üretememe. (Var, Yok
veya A sınıfı-Bsınıfı vb.)
• Çekirdek fonksiyonlar için Mercer koşulu
zorunluluğu (Çekirdek fonksiyonları pozitif
tanımlı sürekli fonksiyonlar olmalıdır.)
12
Vapnik Chervonenkis Teorisi
• Amaç dağılımdan bağımsız yöntemler ile
tahminler üzerinde test hatası için
sınırlar üretmek.
• Klasik istatistik, doğru modelin formunu bildiğini
varsayıp amacı modelin parametrelerini
belirlemek olarak görür.
• İstatiksel öğrenme ise modelin formunun
bilinmediğini kabul eder ve doğru olabilecek
modeller arasından en iyi modeli belirlemeye
çalışır.
13
SVM
• Amaç doğruyu nereye çizeceğimiz ve marjinin en
yüksek değerine nerede ulaşabileceğimizdir.
14
Sec. 15.1
Support Vector Machines (SVM)
• Çoklu Düzlemler (Hyperplanes)
arası mesafeyi maksimize etme,
• Karar fonksiyonu, eğitim
örneklerinin bir alt kümesi, destek
vektörleri tarafından tam olarak
belirtilir.
• SVM’lerin çözülmesi bir quadratic
programlama problemidir.
• Birçok metin sınıflandırma
örneğine bakılabilir.
15
Destek Vektörler
Maksimize edilen
marjin
Sec. 15.1
Daha dar marjin
Maksimum Marjin(Mesafe) Formülü
• w: çoklu düzlemin normali (ağırlık vektörü)
• xi: i veri noktası
• yi: i veri noktasının sınıfı (+1 veya -1)
• b : bias
• Sınıflandırıcı: f(xi) = sign(wT
xi + b)
• xi nin fonksiyonel marjini yi(wT
xi + b)
– Fakat biz w, b değerlerini ölçekleyerek marjini artırabiliriz.
• Veri kümesinin Fonksiyonel marjini, herhangi bir noktadaki
minimum fonksiyonel marjinin iki katıdır.
• Buradaki 2, marjinin tam genişliğinin ölçüsünden gelmektedir. 16
Sec. 15.1
SVM
17
Geometrik Marjin
• Ayırıcı düzleme uzaklık
• ||w|| ifadesi w’nin oklid formudur.
• Çoklu düzleme yakın olanlara support vektörler
• Margin ρ : Destek vektör sınıfları arasındaki ayıracın genişliği.
18
w
xw b
yr
T
+
=
r
ρx
x′
w
Sec. 15.1
r’nin bulunması:
Noktalı çizgi x’−x karar çizgisine
diktir
ve w için paraleldir.
Birim vektörü w/|w|, ise çizgi rw/|w
x’ = x – yrw/|w|.
x’ o zaman wT
x’+b = 0.
Öyleyse wT
(x –yrw/|w|) + b = 0
Hatırlayalım; |w| = sqrt(wT
w).
Öyleyse wT
x –yr|w| + b = 0
Öyleyse r öyle olacaktır:ş
r = y(wT
x + b)/|w|
Lineer SVM
Lineer olarak ayrılabilir durum için
• Farz edelim ki tüm veri, çoklu düzelemden en az 1 mesafesindedir, o zaman
{(xi ,yi)} veri kümesi aşağıdaki için iki sabit
• Çoklu düzlemden uzaklık
• Marjin formülü
19
wT
xi + b ≥ 1 if yi = 1
wT
xi + b ≤ −1 if yi = −1
w
2
=ρ
w
xw b
yr
T
+
=
Sec. 15.1
Linear Support Vector Machine (SVM)
• Çoklu düzlem
wT
x + b = 0
• Ekstra oran sabiti :
mini=1,…,n |wT
xi + b| = 1
• Sonuçta:
wT
(xa–xb) = 2
ρ = ||xa–xb|| = 2/||w||
20
wT
x + b = 0
wT
xa + b = 1
wT
xb + b = -1
ρ
Sec. 15.1
Linear SVM
• Quadratic(2.derece) optimization probleminin ifade edecek olursa:
• Daha iyi ifade edecek olursak; (min ||w|| = max 1/ ||w|| ):
21
w ve b değerleri için; ; her {(xi , yi)} için
is maksimize edilir
wT
xi + b ≥ 1 if yi=1; wT
xi + b ≤ -1 if yi = -1
w
2
=ρ
w ve b değerleri için
Φ(w) =½ wT
w minimize edilirse ;
ve her bir {(xi ,yi)} için: yi (wT
xi + b) ≥ 1
Sec. 15.1
SVM
22
R2
gibi kinci derece denklemdeİ
Hyperplane bir çizgidir.
R3
gibi üçüncü derece denklemde
Hyperplane bir yüzey eklindedir.ş
Optimizasyon Problemi Çözümü
• Bu ikinci dereceden fonksiyonu lineer sınırlara optimize eder.
• İkinci dereceden optimizasyon problemleri iyi bilinen bir matematiksel
problem sınıfıdır ve çözümü için birçok algoritma mevcuttur.
• Çözüm, bir Lagrange çarpanı αi'nin birincil problemdeki her sınırlama ile
ilişkili olduğu bir dual (ikili)problem oluşturmayı içerir:
23
w ve b için;
Φ(w) =½ wT
w minimize edilirse;
Her bir {(xi ,yi)} için : yi (wT
xi + b) ≥ 1
α1…αN değerleri için
Q(α) =Σαi - ½ΣΣαiαjyiyjxi
T
xj maksimize edilirse;
(1) Σαiyi = 0
(2) αi ≥ 0 for all αi
Sec. 15.1
Optimizasyon Problemi Çözümü
• Çözüm şu hale gelir:
• Her bir sıfır olmayan αi değeri xi is a support vektöründe bir değere karşılık
gelir.
• O zaman sınıflama fonksiyonu:
• Test noktası x ve support vektorü xi ‘nin çarpımıdır.
24
w =Σαiyixi b= yk- wT
xk için herhangi xk değerinde αk≠ 0
f(x) = Σαiyixi
T
x + b
Sec. 15.1
Soft Margin Sınıflandırma
• Eğer eğitim verisi lineer
olarak ayrılamazsa,
sınıflandırma hatası ve
gürültü örnekleri için slack
değişken ξi eklenebilir
• Bazı hatalara izin verilebilir.
Yüksek C değeri = Yüksek
Hata belirtisidir.
25
ξj
ξi
Sec. 15.2.1
Soft Margin Sınıflandırma
• Eski Formül:
• Yeni formül:
• C parametresi overfitting kontrolü içindir.
26
w ve b için;
her bir {(xi ,yi)}için;
Φ(w) =½ wT
w minimize edilirse yi (wT
xi + b) ≥ 1
w ve b için;
Φ(w) =½ wT
w + CΣξi minimize edilir ve {(xi ,yi)}
yi (wT
xi + b) ≥ 1- ξi ve ξi ≥ 0 tüm i değerleri için
Sec. 15.2.1
Soft Marjin Sınıflandırma– Çözüm
• Soft marjin sınıflandırma için dual problem:
• Ne slack değişkeni ξi ne de onların Lagrange çarpanları dual problemde görülmez.
• Tekrar, xi ile sıfır olmayan αi destek vektörü olacaktır.
• Dual problem çözümü
27
Bilinen α1…αN için;
Q(α) =Σαi - ½ΣΣαiαjyiyjxi
T
xj maksimize edilir ve
(1) Σαiyi = 0
(2) 0 ≤ αi ≤ C her αi değeri için
w = Σαiyixi
b = yk(1- ξk) - wT
xk burada k = argmax αk’
k’ f(x) = Σαiyixi
T
x + b
w sınıflandırma için
açıkça gerekli de ildir!ğ
Sec. 15.2.1
SVM Sınıflandırma
• Yeni verilen x noktası için, puanını hyperplane
normalinde hesaplayabiliriz.
– wT
x + b = Σαiyixi
T
x + b
• <0 veya >0 olup olmadığına göre sınıfına karar verelim.
– Güvenlik eşiği t ayarlanabilir.
28
-1
0
1
Puan > t: evet
Puan< -t: hayır
Aksi durumda: bilinmiyor
Sec. 15.1
Lineer SVM: Özet
• Sınıflandırıcı hyperplane ayıracıdır.
• En önemli eğitim noktaları support vektörlerdir, hyperplane’i tanımlarlar.
• Quadratic(İkinci derece) optimizasyon algoritmaları hangi eğitim xi
noktasının sıfır olmayan Lagrangian çarpanı αi olduğunu tanımlar.
• Problemin dual formülasyonunda ve çözümde eğitim noktaları iç çarpım
için de görünür.
29
Find α1…αN such that
Q(α) =Σαi - ½ΣΣαiαjyiyjxi
T
xj is maximized and
(1) Σαiyi = 0
(2) 0 ≤ αi ≤ C for all αi
f(x) = Σαiyixi
T
x + b
Sec. 15.2.1
Non-linear SVMs
• Veri kümeleri lineer olarak ayrılabilir.
• Fakat veri kümeleri çok keskin(hard) ise ne yapacağız?
• Daha yüksek boyutlu uzayda veriyi haritalayabiliriz (ifade edebiliriz).
30
0
x2
x
0 x
0 x
Sec. 15.2.3
Lineer olmayan SVM-Özellik Çıkarımı
• Genel fikir: Eğitim verileri ayrılabilirse, orijinal özellik uzayı
daima daha yüksek boyuttaki özellik uzayına haritalanabilir.
31
Φ: x→ φ(x)
Sec. 15.2.3
SVM
32
Lineer olarak ayrılabilenler;
Lineer olarak ayrılamayanlar;
“Kernel Trick”
lineer olmayan sınıflandırma
• Lineer sınıflandırıcı vektörler arası iç çarpıma bağlıdır. K(xi,xj)=xi
T
xj
• Eğer her veri noktası yüksek boyuttaki uzaya bazı dönüşümlerle
haritalabilirse;
• Φ: x→ φ(x), iç çarpım şöyle olur:
K(xi,xj)= φ(xi)T
φ(xj)
• Bir Çekirdek Fonksiyonu (kernel function) genişletilmiş özellik
uzayındakilerin iç çarpımına denk gelir.
• Örneğin
2-boyutlu vektör x=[x1 x2]; K(xi,xj)=(1 + xi
T
xj)2
,
Şöyle gösterelim; K(xi,xj)= φ(xi)T
φ(xj):
K(xi,xj)=(1 + xi
T
xj)2
,= 1+ xi1
2
xj1
2
+ 2 xi1xj1xi2xj2+ xi2
2
xj2
2
+ 2xi1xj1+ 2xi2xj2=
= [1 xi1
2
√2 xi1xi2 xi2
2
√2xi1 √2xi2]T
[1 xj1
2
√2 xj1xj2 xj2
2
√2xj1 √2xj2]
T 2 2
33
Sec. 15.2.3
Çekirdek Fonksiyonları (Kernels)
• Niçin çekirdek fonksiyonu kullanalım?
– Ayrılamaz problemleri ayrılabilir yapabilme.
– Veriyi daha iyi gösterim uzayında haritalama için
• Genel Çekirdek Fonksiyonları
– Lineer
– Polinomsal
– Gaussian Radyal tabanlı
– Sigmoid
34
Sec. 15.2.3
SVM Çekirdek Fonksiyonları
35
Kaynaklar
• Açık Kaynak WEKA Data Mining Yazılımı
http://www.cs.waikato.ac.nz/ml/weka/
• Sunumda kullanılan Video
https://www.youtube.com/watch?v=3liCbRZPrZA
• SVM ile ilgili birçok programlama dilinde yazılmış kütüphaneyi aşağıdaki
linkte yer almaktadır.
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
• Standford Üniversitesi Notları
web.stanford.edu/class/cs276/handouts/lecture14-SVMs.ppt
• SVM Tutorial
http://www.svm-tutorial.com/
36
Dinlediğiniz için
Teşekkürler…
oguzhantas@gmail.com
37

More Related Content

What's hot

Random forest
Random forestRandom forest
Random forestUjjawal
 
Karar ağaçlari
Karar ağaçlariKarar ağaçlari
Karar ağaçlarireyhan koç
 
Birliktelik Kuralları Kullanılarak Pazar Sepeti Analizi (Market Basket Analys...
Birliktelik Kuralları Kullanılarak Pazar Sepeti Analizi (Market Basket Analys...Birliktelik Kuralları Kullanılarak Pazar Sepeti Analizi (Market Basket Analys...
Birliktelik Kuralları Kullanılarak Pazar Sepeti Analizi (Market Basket Analys...Metin Uslu
 
NAIVE BAYES CLASSIFIER
NAIVE BAYES CLASSIFIERNAIVE BAYES CLASSIFIER
NAIVE BAYES CLASSIFIERKnoldus Inc.
 
Slide3.ppt
Slide3.pptSlide3.ppt
Slide3.pptbutest
 
2.6 support vector machines and associative classifiers revised
2.6 support vector machines and associative classifiers revised2.6 support vector machines and associative classifiers revised
2.6 support vector machines and associative classifiers revisedKrish_ver2
 
Decision Tree Learning
Decision Tree LearningDecision Tree Learning
Decision Tree LearningMilind Gokhale
 
Random Forest Algorithm - Random Forest Explained | Random Forest In Machine ...
Random Forest Algorithm - Random Forest Explained | Random Forest In Machine ...Random Forest Algorithm - Random Forest Explained | Random Forest In Machine ...
Random Forest Algorithm - Random Forest Explained | Random Forest In Machine ...Simplilearn
 
Understanding random forests
Understanding random forestsUnderstanding random forests
Understanding random forestsMarc Garcia
 
Deep Belief nets
Deep Belief netsDeep Belief nets
Deep Belief netsbutest
 
lazy learners and other classication methods
lazy learners and other classication methodslazy learners and other classication methods
lazy learners and other classication methodsrajshreemuthiah
 
K nearest neighbor
K nearest neighborK nearest neighbor
K nearest neighborUjjawal
 
Random forest algorithm
Random forest algorithmRandom forest algorithm
Random forest algorithmRashid Ansari
 
DBSCAN : A Clustering Algorithm
DBSCAN : A Clustering AlgorithmDBSCAN : A Clustering Algorithm
DBSCAN : A Clustering AlgorithmPınar Yahşi
 

What's hot (20)

Random forest
Random forestRandom forest
Random forest
 
Karar ağaçlari
Karar ağaçlariKarar ağaçlari
Karar ağaçlari
 
Birliktelik Kuralları Kullanılarak Pazar Sepeti Analizi (Market Basket Analys...
Birliktelik Kuralları Kullanılarak Pazar Sepeti Analizi (Market Basket Analys...Birliktelik Kuralları Kullanılarak Pazar Sepeti Analizi (Market Basket Analys...
Birliktelik Kuralları Kullanılarak Pazar Sepeti Analizi (Market Basket Analys...
 
NAIVE BAYES CLASSIFIER
NAIVE BAYES CLASSIFIERNAIVE BAYES CLASSIFIER
NAIVE BAYES CLASSIFIER
 
Slide3.ppt
Slide3.pptSlide3.ppt
Slide3.ppt
 
Naive bayes
Naive bayesNaive bayes
Naive bayes
 
Ensemble methods
Ensemble methodsEnsemble methods
Ensemble methods
 
Support Vector machine
Support Vector machineSupport Vector machine
Support Vector machine
 
2.6 support vector machines and associative classifiers revised
2.6 support vector machines and associative classifiers revised2.6 support vector machines and associative classifiers revised
2.6 support vector machines and associative classifiers revised
 
Decision Tree Learning
Decision Tree LearningDecision Tree Learning
Decision Tree Learning
 
Random Forest Algorithm - Random Forest Explained | Random Forest In Machine ...
Random Forest Algorithm - Random Forest Explained | Random Forest In Machine ...Random Forest Algorithm - Random Forest Explained | Random Forest In Machine ...
Random Forest Algorithm - Random Forest Explained | Random Forest In Machine ...
 
Decision tree
Decision treeDecision tree
Decision tree
 
Data cleaning-outlier-detection
Data cleaning-outlier-detectionData cleaning-outlier-detection
Data cleaning-outlier-detection
 
Understanding random forests
Understanding random forestsUnderstanding random forests
Understanding random forests
 
Deep Belief nets
Deep Belief netsDeep Belief nets
Deep Belief nets
 
lazy learners and other classication methods
lazy learners and other classication methodslazy learners and other classication methods
lazy learners and other classication methods
 
K nearest neighbor
K nearest neighborK nearest neighbor
K nearest neighbor
 
Feature scaling
Feature scalingFeature scaling
Feature scaling
 
Random forest algorithm
Random forest algorithmRandom forest algorithm
Random forest algorithm
 
DBSCAN : A Clustering Algorithm
DBSCAN : A Clustering AlgorithmDBSCAN : A Clustering Algorithm
DBSCAN : A Clustering Algorithm
 

More from Oğuzhan TAŞ Akademi (13)

blockchain2.pptx
blockchain2.pptxblockchain2.pptx
blockchain2.pptx
 
Yapay zeka, Büyük Veri, Bulut Bilişim, Blok Zinciri kısa kısa...
Yapay zeka, Büyük Veri, Bulut Bilişim, Blok Zinciri kısa kısa...Yapay zeka, Büyük Veri, Bulut Bilişim, Blok Zinciri kısa kısa...
Yapay zeka, Büyük Veri, Bulut Bilişim, Blok Zinciri kısa kısa...
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
 
Jquery Giriş
Jquery GirişJquery Giriş
Jquery Giriş
 
Radarve sonar
Radarve sonarRadarve sonar
Radarve sonar
 
Eticaret Güvenliği
Eticaret GüvenliğiEticaret Güvenliği
Eticaret Güvenliği
 
Geçmişten günümüze Darbeler ve 15 Temmuz
Geçmişten günümüze Darbeler ve 15 TemmuzGeçmişten günümüze Darbeler ve 15 Temmuz
Geçmişten günümüze Darbeler ve 15 Temmuz
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
Algoritma kurmak
Algoritma kurmakAlgoritma kurmak
Algoritma kurmak
 
Java script
Java scriptJava script
Java script
 
Canakkale Destanı
Canakkale DestanıCanakkale Destanı
Canakkale Destanı
 
Linux sunum
Linux sunumLinux sunum
Linux sunum
 
Php MySQL
Php MySQLPhp MySQL
Php MySQL
 

Destek Vektör Makineleri - Support Vector Machine

  • 1. Support Vector Machines (Destek Vektör Makineleri) 1 O uzhan TA (2016)ğ Ş
  • 2. Sınıflama Nedir? • Benzer özellikteki nesnelerin önceden belirlenmiş alt gruplara atanması işlemidir. • Sınıflandırma, bir veri kümesi (data set) üzerinde tanımlı olan çeşitli sınıflar arasında veriyi dağıtmaktır. • Sınıflandırma algoritmaları, verilen eğitim kümesinden bu dağılım şeklini öğrenirler ve daha sonra sınıfının belirli olmadığı test verileri geldiğinde doğru şekilde sınıflandırmaya çalışırlar. 2
  • 3. Amaç nedir? a) Veriyi sadeleştirmek, b) Veri üzerinde tahmin(kestirim) yapmak, 3 Uygulama Alanları? • Yüz tanıma (face recognition), • Karakter tanıma (text recognition), • El yazısı tanıma (handwriting recognition), • Tıbbi tahminler, Parkinson, Kanser verileri vb. • Zaman serileri tahmini (time series)
  • 4. Sınıflandırma Yöntemleri • Karar Ağaçları (Decision Trees) • Bayesian Ağları (Bayesian Networks) • k en Yakın Komşuluğu (K Nearest Neighbours) • Genetik Algoritmalar • Yapay Sinir Ağları (Artificial Neural Networks) • Rastgele Orman (Random Forest) • Destek Vektör Makineleri (Support Vector Machines) 4
  • 5. SVM (Support Vector Machine) • Değişkenler arasındaki örüntülerin bilinmediği veri setlerindeki sınıflandırma problemleri için önerilmiş bir makine öğrenmesi yöntemidir. • İstatiksel öğrenme teorisine ve yapısal risk minimizasyonuna dayanmaktadır. Neden Support Vector Machine Popüler? - Uygulanması kolaydır, - Genellikle İyi genelleştirme performansı gösterir, - Küçük bir bakımla aynı algoritma birçok problemi çözebilir. 5
  • 6. • Sınıflandırma (Classification) konusunda kullanılan oldukça etkili ve basit yöntemlerden birisidir. • Sınıflandırma için bir düzlemde bulunan iki grup arasında bir sınır çizilerek iki grubu ayırmak mümkündür. Bu sınırın çizileceği yer ise iki grubun da üyelerine en uzak olan yer olmalıdır. İşte SVM bu sınırın nasıl çizileceğini belirler. 6 SVM (Support Vector Machine)
  • 7. SVM’ler hakkında • SVM’ler hiçbir parametre almayan (nonparametric) sınıflayıcılardır. • Dağılım hakkında herhangi bir ön bilgi veya varsayım yoktur. • Eğitim setlerinde girdi ve çıktılar eşlenir. • Eşler aracılığıyla test setlerinde ve yeni veri setlerinde girdi değişkenini sınıflayacak karar fonksiyonları elde edilir. 7
  • 8. SVM Girdi(Input) Verisi • Linear, Doğrusal olarak ayrılabilir. • Verileri ayırabilecek sonsuz sayıda doğru içerisinden marjini en yüksek olan doğrunun seçilmesi işlemidir. • NonLinear, Doğrusal olarak ayrılmayabilir. • Doğrusal olmayan haritalama(mapping) ile orijinal çalışma verisi yüksek boyuta dönüştürülür. Verinin taşındığı yeni boyutta marjini en uygun (optimum) ayırıcı düzlemi araştırma işlemidir. 8
  • 9. Avantajları • Hem doğrusal hem de doğrusal olmayan verilere uygulanabilme, • Yüksek doğruluk oranına sahip olma, • Karmaşık karar sınırları modelleyebilme, • Çok sayıda bağımsız değişkenle çalışabilme. 9
  • 10. Avantajları • Destek Vektör Makineleri (SVM) • Global minimum • Overfitting sorununun olmaması. • Yüksek Doğruluk 10 • Yapay Sinir Ağları(ANN) • Local minimum • Cross validation uygulanmadıkça ANN overfit yapabilir. • SVM’ye göre biraz daha az doğruluk Overfitting: Aşırı uygunluk Cross Validation : istatistiksel sınıflandırma problemlerinde, bir veri kümesini aşağı yukarı eşit k tane alt kümeye bölme ve her bir k için, sınıflandırıcıyı oluşturmak için k-1 kümeyi kullanma ve arta kalan k'ıncı küme üzerinde sınama.
  • 11. Karşılaştırma (ANN-SVM) 11 lk örnekte SVM %4; ikinci örnekte SVM %1,1 ile en yüksekİ do ruluk oranlarına sahiptir.ğ
  • 12. Dezavantajları • Olasılıksal tahminler üretememe. (Var, Yok veya A sınıfı-Bsınıfı vb.) • Çekirdek fonksiyonlar için Mercer koşulu zorunluluğu (Çekirdek fonksiyonları pozitif tanımlı sürekli fonksiyonlar olmalıdır.) 12
  • 13. Vapnik Chervonenkis Teorisi • Amaç dağılımdan bağımsız yöntemler ile tahminler üzerinde test hatası için sınırlar üretmek. • Klasik istatistik, doğru modelin formunu bildiğini varsayıp amacı modelin parametrelerini belirlemek olarak görür. • İstatiksel öğrenme ise modelin formunun bilinmediğini kabul eder ve doğru olabilecek modeller arasından en iyi modeli belirlemeye çalışır. 13
  • 14. SVM • Amaç doğruyu nereye çizeceğimiz ve marjinin en yüksek değerine nerede ulaşabileceğimizdir. 14 Sec. 15.1
  • 15. Support Vector Machines (SVM) • Çoklu Düzlemler (Hyperplanes) arası mesafeyi maksimize etme, • Karar fonksiyonu, eğitim örneklerinin bir alt kümesi, destek vektörleri tarafından tam olarak belirtilir. • SVM’lerin çözülmesi bir quadratic programlama problemidir. • Birçok metin sınıflandırma örneğine bakılabilir. 15 Destek Vektörler Maksimize edilen marjin Sec. 15.1 Daha dar marjin
  • 16. Maksimum Marjin(Mesafe) Formülü • w: çoklu düzlemin normali (ağırlık vektörü) • xi: i veri noktası • yi: i veri noktasının sınıfı (+1 veya -1) • b : bias • Sınıflandırıcı: f(xi) = sign(wT xi + b) • xi nin fonksiyonel marjini yi(wT xi + b) – Fakat biz w, b değerlerini ölçekleyerek marjini artırabiliriz. • Veri kümesinin Fonksiyonel marjini, herhangi bir noktadaki minimum fonksiyonel marjinin iki katıdır. • Buradaki 2, marjinin tam genişliğinin ölçüsünden gelmektedir. 16 Sec. 15.1
  • 18. Geometrik Marjin • Ayırıcı düzleme uzaklık • ||w|| ifadesi w’nin oklid formudur. • Çoklu düzleme yakın olanlara support vektörler • Margin ρ : Destek vektör sınıfları arasındaki ayıracın genişliği. 18 w xw b yr T + = r ρx x′ w Sec. 15.1 r’nin bulunması: Noktalı çizgi x’−x karar çizgisine diktir ve w için paraleldir. Birim vektörü w/|w|, ise çizgi rw/|w x’ = x – yrw/|w|. x’ o zaman wT x’+b = 0. Öyleyse wT (x –yrw/|w|) + b = 0 Hatırlayalım; |w| = sqrt(wT w). Öyleyse wT x –yr|w| + b = 0 Öyleyse r öyle olacaktır:ş r = y(wT x + b)/|w|
  • 19. Lineer SVM Lineer olarak ayrılabilir durum için • Farz edelim ki tüm veri, çoklu düzelemden en az 1 mesafesindedir, o zaman {(xi ,yi)} veri kümesi aşağıdaki için iki sabit • Çoklu düzlemden uzaklık • Marjin formülü 19 wT xi + b ≥ 1 if yi = 1 wT xi + b ≤ −1 if yi = −1 w 2 =ρ w xw b yr T + = Sec. 15.1
  • 20. Linear Support Vector Machine (SVM) • Çoklu düzlem wT x + b = 0 • Ekstra oran sabiti : mini=1,…,n |wT xi + b| = 1 • Sonuçta: wT (xa–xb) = 2 ρ = ||xa–xb|| = 2/||w|| 20 wT x + b = 0 wT xa + b = 1 wT xb + b = -1 ρ Sec. 15.1
  • 21. Linear SVM • Quadratic(2.derece) optimization probleminin ifade edecek olursa: • Daha iyi ifade edecek olursak; (min ||w|| = max 1/ ||w|| ): 21 w ve b değerleri için; ; her {(xi , yi)} için is maksimize edilir wT xi + b ≥ 1 if yi=1; wT xi + b ≤ -1 if yi = -1 w 2 =ρ w ve b değerleri için Φ(w) =½ wT w minimize edilirse ; ve her bir {(xi ,yi)} için: yi (wT xi + b) ≥ 1 Sec. 15.1
  • 22. SVM 22 R2 gibi kinci derece denklemdeİ Hyperplane bir çizgidir. R3 gibi üçüncü derece denklemde Hyperplane bir yüzey eklindedir.ş
  • 23. Optimizasyon Problemi Çözümü • Bu ikinci dereceden fonksiyonu lineer sınırlara optimize eder. • İkinci dereceden optimizasyon problemleri iyi bilinen bir matematiksel problem sınıfıdır ve çözümü için birçok algoritma mevcuttur. • Çözüm, bir Lagrange çarpanı αi'nin birincil problemdeki her sınırlama ile ilişkili olduğu bir dual (ikili)problem oluşturmayı içerir: 23 w ve b için; Φ(w) =½ wT w minimize edilirse; Her bir {(xi ,yi)} için : yi (wT xi + b) ≥ 1 α1…αN değerleri için Q(α) =Σαi - ½ΣΣαiαjyiyjxi T xj maksimize edilirse; (1) Σαiyi = 0 (2) αi ≥ 0 for all αi Sec. 15.1
  • 24. Optimizasyon Problemi Çözümü • Çözüm şu hale gelir: • Her bir sıfır olmayan αi değeri xi is a support vektöründe bir değere karşılık gelir. • O zaman sınıflama fonksiyonu: • Test noktası x ve support vektorü xi ‘nin çarpımıdır. 24 w =Σαiyixi b= yk- wT xk için herhangi xk değerinde αk≠ 0 f(x) = Σαiyixi T x + b Sec. 15.1
  • 25. Soft Margin Sınıflandırma • Eğer eğitim verisi lineer olarak ayrılamazsa, sınıflandırma hatası ve gürültü örnekleri için slack değişken ξi eklenebilir • Bazı hatalara izin verilebilir. Yüksek C değeri = Yüksek Hata belirtisidir. 25 ξj ξi Sec. 15.2.1
  • 26. Soft Margin Sınıflandırma • Eski Formül: • Yeni formül: • C parametresi overfitting kontrolü içindir. 26 w ve b için; her bir {(xi ,yi)}için; Φ(w) =½ wT w minimize edilirse yi (wT xi + b) ≥ 1 w ve b için; Φ(w) =½ wT w + CΣξi minimize edilir ve {(xi ,yi)} yi (wT xi + b) ≥ 1- ξi ve ξi ≥ 0 tüm i değerleri için Sec. 15.2.1
  • 27. Soft Marjin Sınıflandırma– Çözüm • Soft marjin sınıflandırma için dual problem: • Ne slack değişkeni ξi ne de onların Lagrange çarpanları dual problemde görülmez. • Tekrar, xi ile sıfır olmayan αi destek vektörü olacaktır. • Dual problem çözümü 27 Bilinen α1…αN için; Q(α) =Σαi - ½ΣΣαiαjyiyjxi T xj maksimize edilir ve (1) Σαiyi = 0 (2) 0 ≤ αi ≤ C her αi değeri için w = Σαiyixi b = yk(1- ξk) - wT xk burada k = argmax αk’ k’ f(x) = Σαiyixi T x + b w sınıflandırma için açıkça gerekli de ildir!ğ Sec. 15.2.1
  • 28. SVM Sınıflandırma • Yeni verilen x noktası için, puanını hyperplane normalinde hesaplayabiliriz. – wT x + b = Σαiyixi T x + b • <0 veya >0 olup olmadığına göre sınıfına karar verelim. – Güvenlik eşiği t ayarlanabilir. 28 -1 0 1 Puan > t: evet Puan< -t: hayır Aksi durumda: bilinmiyor Sec. 15.1
  • 29. Lineer SVM: Özet • Sınıflandırıcı hyperplane ayıracıdır. • En önemli eğitim noktaları support vektörlerdir, hyperplane’i tanımlarlar. • Quadratic(İkinci derece) optimizasyon algoritmaları hangi eğitim xi noktasının sıfır olmayan Lagrangian çarpanı αi olduğunu tanımlar. • Problemin dual formülasyonunda ve çözümde eğitim noktaları iç çarpım için de görünür. 29 Find α1…αN such that Q(α) =Σαi - ½ΣΣαiαjyiyjxi T xj is maximized and (1) Σαiyi = 0 (2) 0 ≤ αi ≤ C for all αi f(x) = Σαiyixi T x + b Sec. 15.2.1
  • 30. Non-linear SVMs • Veri kümeleri lineer olarak ayrılabilir. • Fakat veri kümeleri çok keskin(hard) ise ne yapacağız? • Daha yüksek boyutlu uzayda veriyi haritalayabiliriz (ifade edebiliriz). 30 0 x2 x 0 x 0 x Sec. 15.2.3
  • 31. Lineer olmayan SVM-Özellik Çıkarımı • Genel fikir: Eğitim verileri ayrılabilirse, orijinal özellik uzayı daima daha yüksek boyuttaki özellik uzayına haritalanabilir. 31 Φ: x→ φ(x) Sec. 15.2.3
  • 33. “Kernel Trick” lineer olmayan sınıflandırma • Lineer sınıflandırıcı vektörler arası iç çarpıma bağlıdır. K(xi,xj)=xi T xj • Eğer her veri noktası yüksek boyuttaki uzaya bazı dönüşümlerle haritalabilirse; • Φ: x→ φ(x), iç çarpım şöyle olur: K(xi,xj)= φ(xi)T φ(xj) • Bir Çekirdek Fonksiyonu (kernel function) genişletilmiş özellik uzayındakilerin iç çarpımına denk gelir. • Örneğin 2-boyutlu vektör x=[x1 x2]; K(xi,xj)=(1 + xi T xj)2 , Şöyle gösterelim; K(xi,xj)= φ(xi)T φ(xj): K(xi,xj)=(1 + xi T xj)2 ,= 1+ xi1 2 xj1 2 + 2 xi1xj1xi2xj2+ xi2 2 xj2 2 + 2xi1xj1+ 2xi2xj2= = [1 xi1 2 √2 xi1xi2 xi2 2 √2xi1 √2xi2]T [1 xj1 2 √2 xj1xj2 xj2 2 √2xj1 √2xj2] T 2 2 33 Sec. 15.2.3
  • 34. Çekirdek Fonksiyonları (Kernels) • Niçin çekirdek fonksiyonu kullanalım? – Ayrılamaz problemleri ayrılabilir yapabilme. – Veriyi daha iyi gösterim uzayında haritalama için • Genel Çekirdek Fonksiyonları – Lineer – Polinomsal – Gaussian Radyal tabanlı – Sigmoid 34 Sec. 15.2.3
  • 36. Kaynaklar • Açık Kaynak WEKA Data Mining Yazılımı http://www.cs.waikato.ac.nz/ml/weka/ • Sunumda kullanılan Video https://www.youtube.com/watch?v=3liCbRZPrZA • SVM ile ilgili birçok programlama dilinde yazılmış kütüphaneyi aşağıdaki linkte yer almaktadır. http://www.csie.ntu.edu.tw/~cjlin/libsvm/ • Standford Üniversitesi Notları web.stanford.edu/class/cs276/handouts/lecture14-SVMs.ppt • SVM Tutorial http://www.svm-tutorial.com/ 36

Editor's Notes

  1. Looking for distance r. Dotted line x’-x is perpendicular to decision boundary so parallel to w. Unit vector is w/|w|, so this one is rw/|w|. x’ = x – rw/|w|. X’ satisfies wx+b = 0. So wT(x –rw/|w|) + b = 0 Recall that |w| = sqrt(wTw). So, solving for r gives: r = y(wTx + b)/|w|