Yapay Zekâ 101

Destek Vektör Makineleri Nedir?

mm

Destek Vektör Makineleri Nedir?

Destek vektör makineleri, makine öğrenimi sınıflandırıcılarının en popüler türlerinden biri olan bir tür makine öğrenimi sınıflandırıcısıdır. Destek vektör makineleri, özellikle nicel tahmin, sınıflandırma ve örüntü tanıma görevleri için yararlıdır.

Destek vektör makineleri, veri noktaları arasında karar sınırları çizerek çalışır ve veri noktalarını sınıflara (veya en genel olanına) ayırmaya çalışır. Bir destek vektör makinesi kullanırken amaç, karar sınırının mümkün olduğunca büyük olması ve herhangi bir veri noktası ile sınır çizgisi arasındaki mesafenin maksimize edilmesidır. Bu, destek vektör makinelerinin (SVM’ler) nasıl çalıştığına dair hızlı bir açıklamadır, ancak destek vektör makinelerinin nasıl çalıştığına ve işleyişinin arkasındaki mantığı anlamak için daha derine inelim.

Destek Vektör Makinelerinin Amacı

Bir grafiği düşünün, üzerinde belirli özelliklere göre belirlenen bir dizi veri noktası bulunan. Grafiğin veri noktaları, yaklaşık olarak iki farklı küme halinde gruplandırılabilir ve bir veri noktasının ait olduğu küme, veri noktasının sınıfını gösterir. Şimdi, grafiğe iki sınıfı birbirinden ayıran bir çizgi çizmek isteyelim, bir sınıfın tüm veri noktaları çizginin bir tarafında, diğer sınıfın tüm veri noktaları çizginin diğer tarafında olsun. Bu ayırma çizgisi, hiperuar olarak bilinir.

Destek vektör makinesini, bir şehirde districtlere ayırıcı yollar oluşturan bir araç olarak düşünebilirsiniz. Bir yoldan diğer tarafında bulunan tüm binalar (veri noktaları) aynı districtte bulunur.

Destek vektör makinesinin amacı, yalnızca hiperuarları çizmek ve veri noktalarını ayırmak değil, aynı zamanda veri noktalarını en büyük marjla (veya en fazla boşlukla) ayıran hiperuarı çizmektir. “Yollar” metaforuna geri dönersek, bir şehir planlayıcısı, bir otoyol planı çizdiğinde, otoyolun evlere veya diğer binalara çok yakın olmasını istemez. Otoyol ile her iki tarafındaki binalar arasındaki boşluk ne kadar büyükse, sınıflandırıcı tahminleri o kadar güvenilirdir. İkili sınıflandırma durumunda, doğru hiperuarı çizmek, iki sınıfın tam ortasındaki hiperuarı seçmek demektir. Karar sınırı/hiperuar, bir sınıftan uzaklaştıkça, diğer sınıfa yaklaşır. Bu nedenle, hiperuarın iki sınıf arasındaki marjı dengelemesi gerekir.

Ayrıştıran Hiperuarın Hesaplanması

Destek vektör makinesi en iyi ayırma hiperuarını/karar sınırını nasıl belirler? Bu, olası hiperuarları hesaplamak için bir matematiksel formül kullanarak yapılır. Hiperuarların hesaplanması için formülü burada ayrıntılı olarak açıklamayacağız, ancak çizgi, ünlü eğim/çizgi formülüyle hesaplanır:

Y = ax + b

Çizgiler, noktalarla oluşur, bu nedenle herhangi bir hiperuar, modelin ağırlıklarının özelliklere uygulanmasıyla belirlenen ve belirli bir ofset/bias (“d”) ile değiştirilen noktaların kümesi olarak tanımlanabilir.

Destek vektör makineleri birçok hiperuar çizer. Örneğin, sınır çizgisi bir hiperuardır, ancak sınıflandırıcının dikkate aldığı veri noktaları da hiperuarlardadır. “X” değerleri, veri kümesindeki özelliklere bağlı olarak belirlenir. Örneğin, bir veri kümeniz varsa ve bu veri kümesinin içindeki insanların boy ve kiloları varsa, “boy” ve “kilogram” özellikleri “X” değerlerini hesaplamak için kullanılan özelliklerdir. Hiperuar ile çeşitli “destek vektörler” (veri noktaları) arasındaki marjlar, aşağıdaki formülle hesaplanır:

W * X – b

Destek vektör makinelerinin arkasındaki matematik hakkında daha fazla bilgi edinebilirsiniz, ancak destek vektör makinelerini daha sezgisel olarak anlamak istiyorsanız, amaç, önerilen ayırma hiperuarı/sınır çizgisi ile ona paralel olarak bulunan diğer hiperuarlar arasındaki mesafeyi en üst düzeye çıkarmaktır.

Foto: ZackWeinberg via Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)

Çoklu Sınıflandırma

Şimdiye kadar açıklanan süreç, ikili sınıflandırma görevleri için geçerlidir. Ancak, destek vektör makinesi sınıflandırıcıları da ikili olmayan sınıflandırma görevleri için kullanılabilir. Üç veya daha fazla sınıftan oluşan bir veri kümesi üzerinde destek vektör makinesi sınıflandırması yaptığınızda, daha fazla ayırma çizgisi kullanılır. Örneğin, bir sınıflandırma görevi iki sınıf yerine üç sınıf içeriyorsa, veri noktalarını sınıflara ayırarak iki ayırma çizgisi kullanılır ve tek bir sınıfın kapsadığı bölge, bir değil, iki ayırma çizgisi arasında kalır. Artık yalnızca iki sınıf ve bir karar sınırı arasındaki mesafeyi hesaplamakla kalmaz, sınıflandırıcı, veri kümesindeki多lu sınıflar arasındaki marjları da dikkate almak zorundadır.

Doğrusal Olmayan Ayrıştırmalar

Yukarıda açıklanan süreç, veri noktalarının doğrusal olarak ayrılabileceği durumlar için geçerlidir. Ancak gerçekte, veri kümeleri neredeyse hiçbir zaman tam olarak doğrusal olarak ayrılamaz, bu nedenle bir destek vektör makinesi sınıflandırıcısı kullanırken genellikle iki farklı tekniği kullanmanız gerekir: yumuşak marj ve çekirdek hileleri. Farklı sınıflara ait veri noktalarının birbirine karıştığı bir durumu düşünün. Sınıflandırıcının bu örnekleri nasıl ele alabileceği konusunda ne yapabilirsiniz?

Doğrusal olarak ayrılamayan veri kümelerini ele almak için kullanılan bir strateji, “yumuşak marj” destek vektör makinesi sınıflandırıcısını uygulamaktır. Yumuşak marjlı bir sınıflandırıcı, birkaç yanlış sınıflandırılmış veri noktasını kabul eder. Veri noktalarının kümelerini birbirinden en iyi şekilde ayıran bir çizgi çizmeye çalışır. Yumuşak marjlı destek vektör makinesi sınıflandırıcısı, sınıflandırıcının iki talebini dengelemeye çalışır: doğruluk ve marj. Yanlış sınıflandırmaları en aza indirirken marjı en üst düzeye çıkarmaya çalışır.

Destek vektör makinesinin hata toleransı, “C” adlı bir hiperparametrenin manipülasyonu yoluyla ayarlanabilir. C değeri, sınıflandırıcının karar sınırları çizarken dikkate aldığı destek vektörlerin sayısını kontrol eder. C değeri, yanlış sınıflandırmalar için uygulanan bir cezai ücrettir, yani C değeri ne kadar büyükse, sınıflandırıcı tarafından dikkate alınan destek vektörler o kadar az olur ve marj o kadar dar olur.

Çekirdek hilesi, verileri doğrusal olmayan bir şekilde dönüştürür. Foto: Shiyu Ju via Wikmedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)

Çekirdek hilesi, veri kümesindeki özellikleri doğrusal olmayan matematiksel fonksiyonlar uygulayarak dönüştürür. Çekirdek hilesinin uygulanmasıyla oluşan sonuç, doğrusal olmayan bir karar sınırıdır. Destek vektör makinesi sınıflandırıcısı artık yalnızca doğrusal karar sınırları çizmekle kısıtlı olmadığından, veri noktalarının gerçek dağılımını daha iyi yakalayan eğri karar sınırları çizebilir ve yanlış sınıflandırmaları en aza indirilebilir. Destek vektör makineleri için en popüler iki doğrusal olmayan çekirdek, Radyal Taban Fonksiyonu ve Polinomdir. Polinom fonksiyonu, mevcut özelliklerin polinom kombinasyonlarını oluştururken, Radyal Taban Fonksiyonu, merkezi bir nokta/noktaların diğer tüm noktalara olan mesafesini ölçerek yeni özellikler oluşturur.

Blog yazarı ve programcı, Machine Learning ve Deep Learning konularında uzmanlık sahibi. Daniel, başkalarının AI'nin gücünü sosyal fayda için kullanmasına yardımcı olmak umudu taşıyor.