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