"Enter"a basıp içeriğe geçin

Support Vector Machines

Makine Öğrenmesinin en temel prensiplerinden biri en iyi genellemeyi yapan modeli seçmeye çalışmaktır

Sınıflandırma (Classification) işlemi için kullanılan yaygın modellerden bir diğeri de Support Vector Machines (SVM) modeli. Diğer sınıflandırma modelleri gibi SVM modeli de sınıflar/durumlar arasında bir sınır çizmeye çalışır. SVM bu sınırı çizerken diğer sınıflandırma modellerinden ayrışarak çizdiği sınıra yakın (!) olan veri elemanları ile bu kararı vermeye çalışır. Yakın kelimesine ünlem koydum zira bu SVM için önemli optimizasyon parametrelerinden.

Sınıra yeterince yakın olan değerler Support Vector’leri olarak, sınırın kendisi ise hyperplane olarak literatürde karşınıza çıkacaktır.

Biraz detaylandırmadan önce bir soru ile başlayalım: Hangi sınır (hyperplane) daha iyi bir ayrım yapmıştır? Sarı mı? Mavi mi?

İlk bakışta aynı gibi durabilir ama birini seçmek zorundayız. İşte Support Vector Machine tam da bu soruya cevap verecek şekilde tasarlanmıştır.

Bu soru yukarıdaki durumda bile iki nedenle önemlidir:

  1. Makine Öğrenmesinin en temel prensiplerinden biri en iyi genellemeyi yapan modeli seçmeye çalışmaktır.
  2. Bir Makine Öğrenmesi Uzmanı ilgilendiği veri uzayında mümkün olan tüm değerlere sahip bir veri setine sahip olamayacağını unutmamalı. Bu sebeple oluşturduğu modelin karşısına çıkabilecek tüm olasılıklara karşı istatistiksel olarak önlem almalıdır.

İlk ünitemizin adı olan “Basitçe Makine Öğrenmesi” ilkesine bağlı kalarak detaylandırmadan anlatmak gerekirse; SVM modeli rastgele bir sınır çizer (hyperplane), sınıra belirlenen düzeyde yakınlıkta olan “noktalara” (sınıflara/durumlara) olan uzaklıkları hesaplar, uzaklıklardan minimum olanı hafızaya alır. Ardından sınırı hareket ettirerek aynı şeyi yeni oluşan sınır (model) için tekrarlar. Elde iki değer vardır. Hafızadaki minimum ve yeni minimum.

Soruyu tekrarlayalım: Hangi sınır daha iyi bir ayrım belirlemiştir? büyük minimuma sahip olan mı (uzun olana) yoksa küçük minimuma sahip olan mı (kısa olana)? Bu bir hata fonksiyonu olduğundan kısa olan daha iyi sonuç gibi durabilir. Ancak durum tam tersi.

Kafamız karıştı değil mi? O zaman şu görsel serisi ile devam edelim ve parametrelerle boğuşmadan inceleyelim:

Görsel serisinde iki farklı model birbiri ile karşılaştırılıyor. Karşılaştırma için izlenen adımlar sırası ile şöyle:

  1. Her sınır için marjin aralığı belirlenir,
  2. Bu aralığı girmeyen noktalar (Support Vector’leri) kaldırılır,
  3. Kalan noktalar için sınıra olan mesafeler hesaplanır
  4. her sınır değeri için bu mesafelerden minimum olanı seçilir
  5. minimum değeri daha yüksek olan model daha doğru olarak karar verilir.

Minimum değeri daha yüksek olan sınır daha iyidir çünkü Support Vector’lere olan uzaklıkları arasındaki varyans düşüktür. Yani daha adil paylaştırarak daha doğru bir genelleme yapmıştır.

Özetle SVM bu şekilde çalışıyor. İleri ünitelerde daha detaylı işlenecek ve uygulamalar yapılacak.

Keyifli öğrenmeler 🙂

İlk Yorumu Siz Yapın

Bir Cevap Yazın

Translate »
%d blogcu bunu beğendi: