Çok sınıflı DVM ( Multiclass SVM)
Yazan : Şadi Evren ŞEKER
Bilindiği üzere destekçi vektör makinaları ( Support Vector Machine ) iki sınıfın ayrılmasında kullanılmaktadır. Yani bir DVM marifetiyle iki sınıf belirli bir tolerans (offset) değerinde birbirinden ayrılmakta ve bu ayrım sonunda çıkarılmış olan öznitelik vektörlerine (feature vectors) göre aşırıdüzlem (hyperplane) üzerinde iki düzlem elde edilmektedir.
Çok sınıflı DVM ile kast edilen ise ayrımı yapılacak (sınıflandırılacak) grupların ikiden fazla olması durumudur. Bu durumda aşağıdaki üç yaklaşımdan birisi tercih edilebilir:
- Problemin ikili gruplara indirgenmesi (bire bir yaklaşımı, one-to-one)
- Problemin tek gruptan bütün gruplara modellenmesi ( bire çok yaklaşım , one-to-many)
- çok sınıf sıralama DVM’leri (multiclass ranking SVM)
Bu yaklaşımlardan en çok kullanılan ilk yaklaşıma (bire bir yaklaşıma) göre örneğin bir girdinin 4 sınıftan hangisine gireceğini bulmak isteyelim. Sınıflarımız A, B, ve C olsun. Bu sınıflar öncelikle ikili gruplar halinde SVM yöntemi ile eğitilerek sınıfların birbirine göre SVM çarpanları çıkarılır. Bu ikilileri aşağıdaki şekilde gösterilmiştir:

yukarıdaki şekilde her iki sınıf için ayrı bir SVM eğitilmiştir. Yeni bir örneğin sınıflandırılması sırasında ikili olarak önce sorgulama yapılır yani AB, BC ve AC ikilileri sorgulanır ve bu sorgulardan hangisine daha çok cevap alınırsa bu sınıfa konulur. Örneğin aşağıdaki sorgular için çıkan sonuçları ele alalım:
AB -> A
BC ->B
AC -> A
Yukarıdaki 3 sorgudan ikisinde A sonucuna ulaşılmıştır dolayısıyla yeni gelen örnek, A sınıfına daha yakın kabul edilmiştir.
Çoklu sınıflandırmada kullanılan bire çok yaklaşımına (one to many) göre de problem bir “kazanan hepsini alır” (winner takes all) haline dönüşmektedir. Bu yaklaşımda yeni gelen bir girdinin sınıflandırılacağı alternatiflerden birisi diğerlerine göre baskın olmakta ve sonuçta bu sınıf seçilmektedir. Ancak bu yaklaşım bir önceki yaklaşıma göre daha az tercih edilmektedir. Aşağıda bu yöntem kullanılarak üç sınıf arasında çıkarılan DVM gösterilmiştir:

Yukarıdaki şekilde de görüldüğü üzere önce 3 adet doğru denklemi bulunmuş (şekildeki ince çizgiler) sonra bu doğru denklemlerinin birleştirilmesi ile 3 sınıfı birbirinden ayırmaya yarayan genel bir DVM elde edilmiştir (şekilde kalın çizgiler)
Son olarak çoklu sınıf sıralama (multi class ranking) yaklaşımına göre sınıflar üzerinde bir DVM çalışarak bu sınıfların bütün üyelerini içeren bir sınıflandırma yapmaya çalışır. Ancak bu yaklaşım diğer iki yaklaşımdan çok daha az tercih edilir olmasında bu yaklaşımda eğitim süresinin diğerlerine göre inanılmaz oranda yüksek olması ve sonucun bulunamama ihtimali önemli rol oynar.
« Kazanan Hepsini Alır (Winner Takes All) | Doğrusal olmayan DVM ( Non-linear SVM) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Çok sınıflı DVM ( Multiclass SVM)' isimli yazı 01 Dec 2008 tarihinde, saat: 14:48 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 435 defa okunmuştur.
Benzer yazıları Yapay Sinir Ağları (Artificial Neural Networks), bilgisayar felsefesi kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
- Evren Kocaturk: ve bunu matlab üzerinde, gerekli...
- Evren Kocaturk: teşekkürler, işime yarayacak gibi,...
- tuncay çavuşoğlu: Şadi bey teşekkürler.Kısa ve...
- attila: hocam bunun bir örneginide Visual Basic diliyle...
Yakın Yazılar
Bağlantılar