what is support vector machine machine learning
Bu Öğretici, Makine Öğreniminde Destek Vektör Makinesi ve Hyperplane, Destek Vektörleri ve SVM Uygulamaları gibi İlişkili Kavramları Açıklar:
İçinde Önceki eğitim , Genetik Algoritmaları ve bunların Makine Öğrenmesindeki rollerini öğrendik.
Daha önceki eğitimlerimizde makine öğreniminde bazı denetimli ve denetimsiz algoritmaları inceledik. Backpropagation denetimli bir öğrenme algoritmasıdır, Kohenen ise denetimsiz bir öğrenme algoritmasıdır.
Bu destek vektör makinesi eğitiminde, destek vektör makineleri hakkında bilgi edineceğiz. SVM'ler, eğitim veri setinin sınıflandırılmasında yaygın olarak kullanılan matematiksel denetimli sağlam makine öğrenme algoritmalarıdır.
=> Eksiksiz Makine Öğrenimi Eğitim Serisini Okuyun
Ne öğreneceksin:
- Destek Vektör Makinesi (SVM) Nedir
- Hiper Düzlem Nedir
- Sınıflandırma ve Regresyon Algoritmaları Nelerdir
- Destek Vektörleri Nelerdir
- Bir Destek Vektör Makinesi Nasıl Çalışır?
- Hiper Düzlemin Konumu Nasıl Optimize Edilir
- SVM Uygulamaları
- Sonuç
- Önerilen Kaynaklar
Destek Vektör Makinesi (SVM) Nedir
SVM algoritması, Sınıflandırma teknikleri altında kategorize edilen denetimli bir öğrenme algoritmasıdır. N boyutlu bir uzayda optimal bir hiper düzlemi tahmin etmek için eğitim veri setini kullanan ikili bir sınıflandırma tekniğidir.
Bu hiper düzlem, yeni veri kümelerini sınıflandırmak için kullanılır. İkili bir sınıflandırıcı olan eğitim veri seti, alt düzlemdeki eğitim veri setini iki sınıfa ayırır.
SVM algoritmaları, verileri 2 boyutlu bir düzlemde olduğu kadar çok boyutlu bir hiper düzlemde sınıflandırmak için kullanılır. Çok boyutlu hiper düzlem, çok boyutlu verileri kategorize etmek için 'Çekirdekleri' kullanır.
Sınıflandırılmış veri noktaları arasında her zaman maksimum ayrım olması istenir. Bu, maksimum mesafeye sahip olmaları gerektiği veya hiper düzlemin veri noktaları arasında maksimum bir kenar boşluğuna sahip olması gerektiği anlamına gelir.
Hiper Düzlem Nedir
Bir hiper düzlem, düzlemi bölen bir sınırdır. Veri noktalarını 2 farklı sınıfa ayıran bir karar sınırıdır. SVM, verileri çok boyutlu olarak sınıflandırmak için kullanıldığından, bir hiper düzlem 2 giriş varsa düz bir çizgi veya 2'den fazla giriş varsa 2 D düzlem olabilir.
SVM algoritmaları regresyon analizi için de kullanılabilir, ancak esas olarak sınıflandırma için kullanılır. Bu yöntemlerin her biri hakkında biraz daha ayrıntı görelim.
Sınıflandırma ve Regresyon Algoritmaları Nelerdir
Bir sınıflandırma algoritması, sonucu tahmin etmek için eğitim verilerini analiz eden algoritmadır. Sonuç bir hedef sınıftır, Örneğin , Gündüz veya Gece, Evet veya Hayır, Uzun veya Kısa. Sınıflandırma algoritmasına bir örnek, bir süper mağazadaki ekmek satın alan bir müşterinin de tereyağı alıp almayacağıdır. Hedef sınıf 'Evet' veya 'Hayır' olacaktır.
Bir regresyon algoritması, bağımsız değişkenler arasındaki ilişkiyi bulur ve bir sonucu tahmin eder. Doğrusal regresyon, girdi ve çıktı arasında doğrusal bir ilişki bulur. Örneğin: Girdi olarak 'a' ve çıktı olarak 'b' ise, doğrusal bir fonksiyon b = k * a + c olacaktır.
Destek Vektörleri Nelerdir
Destek Vektörleri, alt düzlemi optimize etmemize yardımcı olan veri noktalarıdır. Bu vektörler hiper düzleme en yakın yerde bulunur ve sınıflandırılması en zordur. Karar hiper düzleminin konumu, destek vektörlerine bağlıdır. Bu destek vektörleri kaldırılırsa, hiper düzlemin konumunu da değiştirecektir.
Bir Destek Vektör Makinesi (SVM), karar sınırlarını, yani hiper düzlemin etrafındaki boşluğu maksimize etmek için girdi veri noktalarını veya destek vektörleri adı verilen özellikleri kullanır. Bir SVM'nin girişleri ve çıkışları, sinir ağına benzer. Aşağıda belirtildiği gibi SVM ve NN arasında yalnızca bir fark vardır.
Girişler: SVM ağı n sayıda girdi içerebilir: x1, xiki, …… .., xben,…., Xn.
Çıktılar: Hedef çıktı t.
Ağırlıklar: Sinir ağı ağırlıkları gibi w1, içindeiki, ……, içindendoğrusal kombinasyonu y çıktısını tahmin eden her girdi ile ilişkilidir.
SVM ve Sinir Ağları Arasındaki Fark
Neural Networks'teki sinaptik ağırlıklar, ağın çıktısını y hesaplamak için elimine edilirken, SVM'de sıfır olmayan ağırlıklar optimum karar sınırını hesaplamak için azaltılır veya elimine edilir.
Ağırlıkların ortadan kaldırılmasıyla, giriş veri setini ayrılabilir hiper düzleme karar vermede yardımcı olacak birkaç önemli giriş özelliğine indirgeyecektir.
Bir Destek Vektör Makinesi Nasıl Çalışır?
Bildiğimiz gibi, destek vektör makinelerinin amacı, sınıflandırılmış veri noktaları arasındaki marjı maksimize etmektir. Bu, yeni eğitimsiz veri kümelerini sınıflandırmak için daha optimal sonuçlar getirecektir. Böylelikle, marjın maksimum olduğu bir konumda bir hiper düzleme sahip olarak elde edilebilir.
Doğrusal olarak ayrılmış veri noktalarının bir örneğini görelim:
Aşama 1: Farklı olasılıklardan doğru hiper düzlemi bulun: En iyi alt düzleme karar vermek için, veriyi bölen tüm olası düzlemleri bulun ve bunun içinden giriş veri kümelerini en iyi sınıflandıranı seçin. Aşağıdaki grafikte üç hiper düzlem olasılığı vardır. Hiper düzlem 3, veri noktalarını daha iyi böler.
Adım 2: En yakın veri noktaları arasında maksimum marjı olan bir hiper düzlem seçin: Kenar boşluğu, hiper düzlem ile en yakın veri noktaları arasındaki mesafe olarak tanımlanır. Bu nedenle, maksimum bir marjın olması optimumdur. 2 veya 2'den fazla hiper düzlem verileri eşit olarak sınıflandırdığında, marjı bulun.
Maksimum marjlı hiper düzlem seçilir. Aşağıdaki şekilde, hiper düzlem 2.1,2.2 ve 2.3 veri noktalarını böler, ancak hiper düzlem 2.2'nin maksimum bir marjı vardır.
Aşama 3: Aykırı değerler mevcut olduğunda: Aykırı değerler, bir dizi veri noktasından farklı veri noktalarıdır. 2 set veri noktası olması durumunda, bir aykırı değer mevcut olabilir. SVM, verilerdeki bu tür aykırı değerleri göz ardı eder ve ardından maksimum marjlı bir hiper düzlem bulur.
4. Adım: Doğrusal olarak ayrılmamış veri noktaları olması durumunda, SVM bir çekirdek numarası kullanır. Doğrusal olmayan ayrılabilir bir düzlemi yeni bir boyut getirerek ayrılabilir bölmeye dönüştürecektir. Çekirdek hileleri, hiper düzlemi optimize etmek için karmaşık veri dönüşümleri yapan karmaşık matematiksel denklemlerdir.
Aşağıdaki şekil, daha sonra z düzlemi ile yüksek boyutluluğa dönüştürülen doğrusal olmayan ayrılabilir veri noktalarını göstermektedir. İki veri setini bölen hiper düzlem bir çemberdir.
Hiper Düzlemin Konumu Nasıl Optimize Edilir
Alt düzlemin konumu, optimizasyon algoritmaları kullanılarak optimize edilir.
SVM parametresi: Çekirdek
Doğrusal olarak ayrılamayan bir problemde optimize edilmiş bir hiper düzlem oluşturmak Çekirdekler kullanılarak yapılır. Çekirdekler, karmaşık problemi doğrusal cebirsel formu kullanarak dönüştüren matematiksel fonksiyonlardır.
Doğrusal bir çekirdek için denklem şu şekilde bulunur:
F (x) = b + toplamı (birben* (x, xben))
nerede,
x yeni giriş verisidir
xbendestek vektörü
b, birbenkatsayılardır. Bu katsayılar, algoritmanın öğrenme aşamasında tahmin edilir.
Doğrusal olmayan bir şekilde ayrılabilir karmaşık bir problem için, çekirdek numarası, doğrusal olmayan ayrılabilir problemi ayrılabilir bir probleme dönüştürmek olarak çalışır. Karmaşık verileri dönüştürür ve veri noktalarını çıktılara bölmenin yolunu bulur.
Çekirdek fonksiyonları, doğrusal, polinom, sigmoid, radyal önyargı, doğrusal olmayan ve çok daha fazlası gibi birçok türdendir.
Yukarıdaki Kernel işlevlerinden bazılarının kullanımlarını görelim:
Çekirdek fonksiyonları, uzayın 2 girdisi x, y'nin iç çarpımını hesaplar.
# 1) Radyal Önyargı İşlevi: En çok kullanılan çekirdek işlevi, x = (-1,1) arasında kalan tüm değerler için işlevin değerinin 1, aksi takdirde 0 olduğunu söyler. Bazı kesişimler için x diyelimbenÇekirdek işlevinin değeri | (xben- h), (xben+ h) | x içinbenmerkez olarak alınır ve aksi halde 0 alınır.
# 2) Sigmoid Fonksiyonu: Sigmoid kullanan sinir ağları olarak, SVM'ler için çekirdek işlevi
# 3) Hiperbolik Tanjant Fonksiyonu: Sinir ağları kullandıkça işlev şudur:
# 4) Gauss Kernel İşlevi: Gauss Kernel işlevi durumları
# 5) Polinom Fonksiyonu: k (xben, xj) = (xben* xj+1)iki
SVM Uygulamaları
SVM'nin gerçek hayat uygulamaları şunları içerir:
# 1) Makalelerin farklı kategorilere sınıflandırılması: SVM, yazılı metinler arasında ayrım yapar ve bunları Eğlence, Sağlık, Kurgu Makaleleri gibi farklı kategorilere ayırır. SVM eğitimi sırasında hesaplanan önceden ayarlanmış eşik değerlerine dayanır.
Eşik değeri geçilirse kategoriye alınır. Değer karşılanmazsa, sınıflandırma için yeni kategoriler tanımlanır.
sanal gerçeklik videoları nerede bulunur
# 2) Yüzün tanınması: Verilen görüntü, pikseller kullanılarak özellikler tespit edilerek yüz görüntüsü veya yüz dışı görüntü olarak sınıflandırılır. Görüntü yüz veya yüz olmayan olarak tanınır.
# 3) Sağlık Bilgileri: SVM'ler, hastaları genlerine, biyolojik kalıpların tanınmasına vb. Göre sınıflandırmak için kullanılır.
# 4) Protein Homoloji Tespiti: Hesaplamalı tıp bilimlerinde, SVM'ler protein dizilerinin nasıl modelleneceği konusunda eğitilir. SVM daha sonra protein homolojisini saptamak için kullanılır.
Sonuç
Bu destek vektör makinesi eğitiminde, destek vektör makineleri hakkında bilgi edindik. SVM algoritmaları, ikili verileri ve doğrusal olarak ayrılabilir verileri sınıflandırmak için kullanılan denetimli öğrenme algoritmalarıdır. Veri noktalarını maksimum marjlı bir hiper düzleme göre sınıflandırır.
Doğrusal olmayan veri noktaları, Kernel Tricks kullanan destek vektör makineleri tarafından da sınıflandırılabilir. Gerçek hayatta SVM'nin birçok uygulaması vardır, en yaygın uygulamalardan biri yüz tanıma ve el yazısı tanımadır.
Mutlu Okumalar !!
=> Özel Makine Öğrenimi Serisi İçin Burayı Ziyaret Edin
Önerilen Kaynaklar
- Makine Öğrenimi Eğitimi: Makine Öğrenimi ve Uygulamalarına Giriş
- Makine Öğreniminde Yapay Sinir Ağına Eksiksiz Bir Kılavuz
- Veri Madenciliği - Makine Öğrenimi - Yapay Zeka - Derin Öğrenme
- Makine Öğrenimi Türleri: Denetimli ve Denetimsiz Öğrenim
- Makine Öğreniminde Genetik Algoritmalara Giriş
- 2021'de En Popüler 11 Makine Öğrenimi Yazılım Aracı
- En İyi 13 En İyi Makine Öğrenimi Şirketi (2021 Listesi Güncellenmiştir)
- Java Vektör Nedir | Örneklerle Java Vektör Sınıfı Eğitimi