Optimizasyona Dayalı Sınıflandırma Modelleri

advertisement
Optimizasyona Dayalı
Sınıflandırma Modelleri
Optimizasyon Teorisi
Veri Madenciliğinde kullanılan Optimizasyona dayalı
sınıflandırma modelleri incelenmiştir.
Emre ALIÇ- 105112012
25.05.2011
İçindekiler
Destek Vektör Makinesi .......................................................................................................................... 3
Doğrusal olarak ayrılabilme durumu ................................................................................................... 3
Primal Çözüm....................................................................................................................................... 6
Lagrange Çarpanları............................................................................................................................. 6
Karush-Kuhn-Tucker Koşulları ............................................................................................................. 7
Dual Çözüm.......................................................................................................................................... 8
Verilerin Doğrusal Olarak Ayrılamama Durumu ................................................................................ 12
Doğrusal Olmayan Sınıflandırıcılar .................................................................................................... 16
Doğrusal Olmayan Özellik Uzayı .................................................................................................... 16
Çekirdek Fonksiyonlar ................................................................................................................... 17
Destek Vektör Makinası ve Çekirdek Fonksiyonlar ....................................................................... 18
Kaynakça ............................................................................................................................................ 22
2
Destek Vektör Makinesi
Destek Vektör Makinesi (Support Vector Machine = SVM) veri madenciliğinde sınıflama
problemlerinde kullanılan bir yöntemdir.Bu yöntem, sınıflandırmayı bir doğrusal yada doğrusal
olmayan bir fonksiyon yardımıyla yerine getirir.Destek vektör makinesi yöntemi,veriyi birbirinden
ayırmak için en uygun fonksiyonun tahmin edilmesi esasına dayanır.Daha çok makine öğrenmesi
yöntemleri arasında yer alan bu yöntem günümüzde veri madenciliği alanında da tercih edilmeye
başlanmıştır.
Doğrusal olarak ayrılabilme durumu
D veri kümesinin (X1,y1),(X2,Y2)…(Xn,Yn) biçiminde olduğunu varsayalım. Burada n veri
kümesinin eleman sayısıdır ve y , {+1,-1} kümesinin elemanı olarak kabul edilir.[1]
Şekil 1: İki boyutlu uzayda doğrusal olarak ayrılabilen verilerin görünümü
Çözümlemeyi basitleştirmek için iki boyutlu alanı göz önüne alıyoruz.Veri Şekil 1 üzerinde yer
almaktadır.Verinin birbirinden farklı biçimlerde doğrusal olarak ayrılabileceği görülmektedir.Söz
konusu şekil üzerinde görüldüğü gibi veri farklı ve çok sayıda doğru ile ayrılabilmektedir.Çok boyutlu
uzayda bu doğruların yerini hiper düzlemler alacaktır.Veriyi birbirinden ayıran bu doğrulardan yada
hiper düzlemlerden hangisi seçilecektir? Araştıracağımız konu budur.Bizim için birbirinden en uzak
olan iki hiper düzlemi elde etmek en uygun yol olarak görülmektedir.
Veri kümelerini birbirinden ayırmak için düzlemin kullanılabileceğini biliyoruz.Ancak iki hiper düzlem
arasında en büyük boşluğa sahip olanları seçmek en uygun yoldu.O halde Şekil 2 üzerinde yer alan H1
ve H2 hiper düzlemleri göz önüne alınabilir.Bu iki hiper düzlemin ortasını oluşturan H0 hiper düzlemi
ise iki sınıf veriyi birbirininden ayıran doğrusal hiper düzlemdir.Bu H0 düzlemine optimal ayırma hiper
düzlemi adı veriliyor.
3
Şekil 2 : Doğrusal olarak birbirinden ayrılabilen veriler arasındaki muhtemel en büyük boşluk
Bir hiper düzlem üzerindeki noktalar cinsinden H0 düzlemi şu şekilde ifade edilebilir:
Bu ifadeyi şu şekilde de yazabiliriz;
Burada W ağırlık vektörünü W={w1,w2,…,wn}; n ise niteliklerin sayısını göstermektedir.İfade içinde
yer alan b ise sabit bir sayıyı göstermektedir.Kolaylık olsun diye A1 ve A2 diye iki niteliğin var
olduğunu kabul edelim.Eğitim kümesi ise,iki boyutlu uzay söz konusu olduğu içinde X=(x1,x2)
biçimindedir.Burada x1 ve x değerleri X için A1 ve A nin değerleri olarak göz önüne alınır.H1 hiper
düzlemi şu şekilde ifade edilebilir:
Biçiminde ifade edilir.ilk formülde belirtilen hiper düzlemin üst tarafında kalan noktalar aşağıdaki
eşitsizliğe uymaktadır;
4
Benzer biçimde hiper düzlemin alt kısmında kalan noktalar da aşağıdaki eşitsizliğe uymaktadır:
Şekil 3. Destek Vektörler
4. ve 5. Eşitsizlikleri birleştirilerek tek bir eşitsizlik biçimine dönüştürülebilir:
Burada H1 ve H2 hiper düzlemlerini göz önüne alalım.Bu düzlemler üzerindeki gözlemler “destek
vektör” adını alır.Bir destek vektör ile
ile gösterilen hiper düzlemi arasındaki
uzaklık,P hiper düzlemi üzerindeki bir nokta olmak üzere bağıntısı ile bulunur.O halde X destek
vektörü ile H2 hiper düzlemi arasındaki uzaklık ve 2 ve 3. Eşitsizliklerden dolayı,
biçiminde hesaplanır.Bu durumda X1 destek vektörü ile H2 hiper
düzlemi uzaklık,
olarak belirlenir.
5
Primal Çözüm
[1]H1 ve H2 hiper düzlemleri arasındaki boşluğu maksimize etmek amaçlandığına göre, ||w||
ifadesinin minimizasyonu m’yi maksimize edecektir. O halde,
İfadesinin minimizasyonu gerekmektedir.Bu durumda maksimum boşluğu bulmaya yarayan
problemimiz aşağıdaki quadratik programlama modeline dönüşmüştür.
Buradaki ½ çarpanı matematiksel işlemleri kolaylaştırmak açısından ilave edilmiştir.
Lagrange Çarpanları
Yukardaki primal İfadesinde görüldüğü gibi doğrusal olmayan bir optimizasyon problemi ile karşı
karşıyayız.Bu tür problemleri çözmek için “Lagrange fonksiyonundan” yararlanılır.Söz konusu
fonksiyonu elde etmek için aşağıda belirtilen yol izlenir.
F(x1,x2,…Xn)=b1
Koşulları altında optimize eden noktaları araştırmak istiyoruz.Bunun için a1,a2,…,an Lagrange
çarpanları olmak üzere L(x,a) Lagrange fonksiyonu şu şekilde tanımlanır:
Bu durumda f(x1,x2,..,xn) fonksiyonunu maksimize veya minimize eden noktaları bulmak için
aşağdaki kısmi türevleri içeren eşitliklerin çözülmesi gerekmektedir:
6
Bu denklemlerin çözümü aradığımız optimum noktaları verecektir.Elde edilen a1>0 değerleri bize
destek vektörlerini tanımlamaktadır.
Karush-Kuhn-Tucker Koşulları
[2] 12. bağıntı ile verilen Lagrange fonksiyonu şu şekilde yazılabilir:
12 nin kısmi türevleri alınarak sıfıra eşitlenir.
Buradan,
Elde edilir.Bu ifadelere Karush-Kuhn-Tucker koşulları (KKT) adı verilir.Bu durumda (14) amaç
Fonksiyonu (4) koşul fonksiyonu konvekstir ve KKT koşulları (14)’ün bir maksimumu için geçerli ve
yeterlidir.O halde L(w,b,a) fonksiyonu şu şekilde ifade edilebilir:
Sonuç olarak aşağıdaki ifade elde edilir:
7
Dual Çözüm
Optimal hiper düzlemi bulmak için bir L(w,b,a) duali,ai>=0,(i=1,2,..,n) için maksimize etmelidir.Bu
durumda standart quadratik programlama problemine ulaşılmış olur.Dual model matris formunda şu
şekilde ifade edilebilir.[3]
Burada
ise Hessien matrisini göstermektedir.I ise birim matristir ve I=[1 1 … 1]
şeklinde gösterilir.H matrisi şu şekilde ifade edilebilir:
Bu optimizasyon probleminin
optimal noktası için
çarpanları 16 da belirtildiği biçimde optimal hiper düzlemin
konusu parametreler SV destek vektörleri ve
şu şekilde yazılabilir:
çözümleri ,yani Lagrange
parametrelerini belirler.Söz
bu destek vektörlerinin sayısını göstermek üzere
Görüldüğü gibi b* ın hesaplanmasında sadece destek vektörler kullanılmaktadır.Çünkü destek vektör
olmayan tüm Lagrange çarpanları sıfıra eşit olacaktır.
B u durumda yeni bir örneğe göre sınıflandırma
için aşağıdaki fonksiyona göre yapılır.
Bunun yerine sadece destek vektörler göz önüne alınacak olursa,
Bağıntısı da kullanılabilir.
Örnek:Aşağıda gösterildiği biçimde gözlemlerin sınıf1 ve sınıf2 gibi iki sınıfa ait olduğunu varsayalım.
8
Bu gözlemlerden yararlanılarak verileri birbirinden ayıran fonksiyonu elde etmek istiyoruz.
Çözüm:
Burada ilgili vektörleri şu şekilde ifade edilebilir:
Lagrange fonksiyonu aşağıda belirtildiği biçimdeydi:
Verilen değerler yerine yazılacak olursa Lagrange fonksiyonu şu şekilde hesaplanabilir:
olduğundan yukardaki ifadeyi şu şekilde de yazabiliriz:
Bu durumda L(a) aşağıda gösterildiği biçimde ifade edilebilir:
Sonuç olarak L(a) fonksiyonu şu şekilde elde edilir:
9
Elde edilir.Bu değeri 22 de yerine yazacak olursak L(a) şu şekli alır:
A2 ve a3 değerlerini bulmak için fonksiyonun türevleri alınarak sıfıra eşitlenir.
Bu son iki eşitlik çözülürse a2=2,a3=2 elde edilir.23 den a1=0 elde edilir.
O halde,
biçiminde ifade etmek mümkündür.Şimdi w ve b nin değerlerini bulmak istiyoruz.
20 de belirtildiği gibi,
olduğuna göre w* şu şekilde hesaplanabilir.
B* değerini hesaplamak için 21 de yer alan
eşitliği kullanılır.
10
Sonuç olarak yeni verilecek gözlem değerleri için,yani {x1} SV’nin elemanıdır değerleri için
sınıflandırma şu ifadeye göre yapılacaktır:
Bu durumda yeni bir gözlem için sınıflandırma yapabiliriz.Örneğin
gözlemi için,
Olduğundan söz konusu gözlemin pozitif bölgede olduğu anlaşılmaktadır.xi>0 için tüm gözlemlerin
negatif bölgede olacağı açıkca görülmektedir.
11
Verilerin Doğrusal Olarak Ayrılamama Durumu
Önceki bölümde veriler iki sınıfa doğrusal bir düzlem ile ayrılabiliyordu.Uygulamada bu durum her
zaman geçerli olmayabilir.Yani doğrusal bir düzlem ile veriler birbirinden ayrılmayabilir.[2]
Şekil 4. Birbirinden doğrusal olarak ayrılamayan veriler
Verilerin doğrusal bir düzlemle ayrılamama durumunda negatif olmayan ve hataları ifade eden
gevşek değişkenlerinin optimizasyon modeline eklenmesi sağlanarak soruna çözüm aranır.
12
Şekil 5. Gevşek Değişkenler
Yzılabilir.Burada
olan veriler hiper düzlemin diğer tarafında kalan,yani doğrusal olarak
ayrılmayı önleyen bölgedeki gözlem değerleridir.
ise, hiper düzlemin doğru yanında yer
alan,ancak en büyük alan magrin bölgesi içinde kalan gözlem değerlerini ifade eder.
Bu tür bir genelleştirilmiş optimal hiper düzlem için maksimize edilecek fonksiyon,doğrusal ayırmayı
engelleyen bu tür durumlar için bir ilave terime sahip olacaktır.
C ceza parametresi olmak üzere amaç fonksiyonu şu şekilde ifade edilir:
Burada C>0 bir sabittir ve kullanıcı tarafından seçilir.Eğer C küçük ise ideal pozisyonda olmayan birçok
gözleme izin verilir.Aksi takdirde,ideal pozisyonda olmayan çok az sayıda gözleme sahip olunmak
istenir.Formülde k=1 seçildiğinde konveks programlama problemi haline dönüşür.
13
Şekil 6.C’nin alacağı değerlere göre magrinler
Bir doğrusal ayırma problemi için 26 quadratik programlama probleminin 24 kısıtları altında
çözülmesidir.
primal Lagrange fonksiyonu k=1 için şu şekildedir:
Burada ai ve Bi Lagrange çarpanlarıdır. Bu problem primal ya da dual olarak çözülebilir.
14
Optimal hiper düzlemi bulmak için L(a) dual Lagrange fonksiyonu pozitif a iler için;yani C>=ai>=0
i=1,2,…,n koşulları altında maksimize edilmelidir.Bu durumda,doğrusal ayrılabilen durum için elde
edilen quadratik programlama problemi ile aynı sonuç elde edilmiştir.Buradaki tek fark,ai Lagrange
çerpanları için bir C üst sınır getirilmesidir.Eğer C=Sonsuz olarak kabul edilirse,verilerin tümüyle
doğrusal olarak ayrılabildiği durum elde edilir.Sonuç olarak ,verilerin doğrusal olarak ayrılamadığı
durum için quadratik programlama modelimiz şu şekli almıştır:
Yukardaki bağıntıları matrislerle şu şekilde ifade edebiliriz:
15
Doğrusal Olmayan Sınıflandırıcılar
Şu ana kadar,veri kümelerinin bir doğrusal hiper düzlem ile ayrılabildiği durumları ele alınarak
incelendi.Verilerin doğrusal olarak ayrılamadığı durumlar için gevşek değişkenler model koyularak
çözüm arandı.Verilerin doğrusal olarak ayrılamadığı durumlarda doğrusal sınıflandırıcı yerine doğrusal
olmayan sınıflandırıcılar kullanılabilir.[3]
Şekil 7.Doğrusal olmayan sınıflandırıcılar
Yukardaki şekil üzerinde görüldüğü gibi iki farklı sınıfa ait verileri doğrusal olarak ayrıştırmak mümkün
değildir.O halde farklı bir yok izlemek gerekmektedir.
Doğrusal Olmayan Özellik Uzayı
gözlem vektörünü daha yüksek dereceden bir uzayda z vektörlerine dönüştürerek,bu yeni
uzayda doğrusal sınıflandırıcıları elde etmek söz konusu olabilir.Bu z vektörünün yer aldığı özellik
uzayını F ile gösterelim.Bu durumda
biçiminde ifade edilebilir.
ifadesi
eşlemesini yapmak üzere
16
Çekirdek Fonksiyonlar
Doğrusal olarak verilerin ayırt edilemediği durumlarda verileri daha büyük boyutlu uzaylara taşıyarak
çözümlemek için
fonksiyonlarını kullanabiliyoruz.Ancak
fonksiyonları yerine
sadece bir fonksiyon kullanarak söz konusu dönüşümleri yapabiliriz.Bu amaçla çekirdek
fonksiyonlardan yararlanılır.[1]
Çekirdek fonksiyonların belirlenmesi ile ilgili olarak Mercer teoremine başvurulabilir.Bu teoreme göre
,
biçiminde yazılabilmesini sağlayan bir
eşlemesi varsa pozitif definit ve
simetrik K(x,z) bir çekirdek fonksiyondur.O halde bir K(xi,xj)fonksiyonun bir çekirdek fonksiyon
olabilmesi için şu koşulları gerçekleştirmesi gerekmektedir:
a)Sürekli fonksiyon olmalıdır
b)Simetrik olmalıdır:
c)Herhangi x1,x2,…,xn değerleri için pozitif definit olmalıdır.Yani,
Pozitif definit olmalıdır.Aşağıda belirtilen çekirdek fonksiyonlar uygulamlarda sıkça kullanılmaktadır:
Örnek:
çekirdek fonksiyonu olduğunu gösteriniz.
fonksiyonunun bir doğrusal
Çözüm:
17
Destek Vektör Makinası ve Çekirdek Fonksiyonlar
Destek vektör makinası ile sınıflandırıcıların belirlenmesinde çekirdek fonksiyonların kullanılması
mümkündür.Doğrusal olarak ayırt edilemeyen verileri birbirinden ayırabilmek için daha büyük
boyutlu uzaylara geçebileceğimizi biliyoruz.Bu geçişlerde destek vektör makinaları için xi ve xj
vektörleri kullanılacaktır.O halde
fonksiyonları göz önüne
alınacaktır.Optimizasyon işleminde dual fonksiyonumuz şu şekilde idi:
Bu fonksiyondaki
çarpımını daha büyük boyutlu özellik uzayı için yeniden tanımlamalıyız.
nin dönüşümü için
özellik uzayı içim ifade şu şekilde olacaktır:
Burada
fonksiyonları kullanılır.O halde
çarpımı için aşağıdaki çekirdek fonksiyonu tanımlanabilir:
18
Yazılabilir.O halde sınıflandırma hiper düzlemi olarak şu ifade kullanılabilir:
İfadesi kullanılır.Burada doğrusal hiper düzlem söz konusu olmadığından b terimi ihmal edilir.Söz
konusu b terimi çekirdek fonksiyon bünyesinde kapalı biçimde yer alır.
Örnek:
Çözüm:
Yukardaki ifade edilen vektörlere ilişkin noktaları Şekil 9 üzerinde gösteriyoruz.
19
Şekil 9:XOR verilerine uygun grafik
N=4 bağıntısını yerine koyarak yeniden yazarsak:
Burada
biçimindedir.İkinci dereceden polinom çekirdek fonksiyonu ise,
Biçiminde olduğuna göre ,H Hessien matrisi şu şekilde hesaplanabilir:
Bu şekilde tüm H ij elemanları hesaplanırsa aşağıdaki matris elde edilir:
20
Bu aşamada a değerlerini elde etmek için ifadede a ya göre türevini alarak sıfıra eşitliyoruz.
Denklem sisteminin çözülmesi gerekmektedir.Çözüm sonucunda, a1=a2=a3=a4=0.125 elde edilir. O
halde tüm örnekler destek vektörler olarak kabul edilir.Elde edilen bu sonuçlarbelirtilen,
Koşullarını sağlamaktadır.Gerçekten,
Koşulunun sağlandığını görebiliyoruz.
ikinci derece çekirdek fonksiyonu için
eşlemesi son bağıntıdan dolayı şu şekildedir:
Bu durumda ağırlık vektörü olan w’yi bulmak için
hesaplanır.
21
Kaynakça
[1]Özkan,Y.,”Veri Madenciliği Yöntemleri”,Papatya Yayıncılık Mayıs 2008 S:190-210
[2]Cristianini,N.,”An introduction to support Vector Machines and Other Kernel-based Learning
Methods”,Cambridge University Press,2000.
[3]Kecman,V.,”Learning and soft Computing:Support Vector Machines,Neural Networks,and Fuzzy
Logic Models”,MIT Press ,2001.
22
Download