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.
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
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|