Yapay zeka temelleri
Destek VektÃķr Makineleri Nedir?
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.












