Yapay zeka temelleri

Destek VektÃķr Makineleri Nedir?

mm
Unite.AI sitesini Google'daki tercih ettiğiniz kaynaklara ekleyin

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.