Destek Vektör Makinesi (SVM)
Destek Vektör Makineleri'nin (SVM'ler) sınıflandırma, regresyon ve aykırı değer tespiti için gücünü keşfedin. Gerçek dünya uygulamaları ve içgörülerle birlikte.
Destek Vektör Makinesi (DVM) sağlam ve çok yönlü bir
öncelikle kullanılan denetimli öğrenme algoritması
görüntü sınıflandırma ve regresyon görevleri için.
Verilere yalnızca bir çizgi uyduran bazı algoritmaların aksine, bir DVM optimum hiper düzlemi arar - bir karar
Veri noktalarını farklı sınıflara en iyi şekilde ayıran sınır. Bir DVM'nin tanımlayıcı özelliği aşağıdakilere odaklanmasıdır
Karar sınırı ile her bir karara en yakın veri noktaları arasındaki mesafe olan marjın maksimize edilmesi
sınıfı. Bu geniş ayrıma öncelik vererek, model görünmeyen veriler üzerinde daha iyi genelleme elde eder ve etkili bir şekilde
daha basit olanlara kıyasla aşırı uyum riskini azaltır
doğrusal sınıflandırıcılar.
DVM'nin Temel Mekanizmaları
Bir DVM'nin nasıl çalıştığını anlamak için, çok boyutlu bir uzayda çizilen veri noktalarını görselleştirmek yararlı olacaktır.
her boyut belirli bir niteliği veya özelliği temsil eder.
-
Optimal Hiper Düzlem: Algoritma, girdi değişken uzayını bölen bir düzlem tanımlar. İki düzlemde
boyutlarda, bu bir çizgidir; üç boyutta, düz bir düzlemdir; ve daha yüksek boyutlarda, bir hiper düzlemdir. Amaç şudur
herhangi bir sınıfın en yakın veri noktalarından maksimum uzaklığı koruyan belirli hiper düzlemi bulmak için.
-
Destek Vektörleri: Bunlar, karar sınırına en yakın olan belirli veri noktalarıdır. Onlar
"destek vektörleri" olarak adlandırılırlar çünkü esasen destek vektörlerinin yönünü ve konumunu desteklerler veya tanımlarlar.
hiper düzlem. Diğer veri noktalarını kaldırırsanız, sınır aynı kalır, ancak bir destek vektörünü taşımak değişir
model. Bu vektörler hakkında daha fazla bilgi için
Scikit-learn SVM belgeleri.
-
Çekirdek Hilesi: Gerçek dünya verileri nadiren doğrusal olarak ayrılabilir. SVM'ler bunu bir teknik kullanarak çözer
Çekirdek hilesi olarak adlandırılan bu yöntem, verileri doğrusal bir ayırıcının etkili olduğu daha yüksek boyutlu bir uzaya yansıtır.
sınıfları ayırır. Yaygın çekirdekler arasında Radyal Taban Fonksiyonu (RBF) ve polinom çekirdekler bulunur.
sıklıkla bulunan karmaşık, doğrusal olmayan ilişkileri ele almak için model
doğal dil işleme (NLP)
görevler.
Gerçek Dünya Uygulamaları
Modern teknolojinin gelişinden önce
derin öğrenme mimarileri, SVM'ler altın
birçok bilgisayarlı görü ve örüntü için standart
tanıma problemleri.
-
Biyoinformatik ve Sağlık Hizmetleri: DVM'ler şu alanlarda kritik bir rol oynar
Sağlık hizmetlerinde yapay zeka, özellikle
protein uzaktan homoloji tespiti ve mikroarray genine dayalı kanser sınıflandırması gibi sınıflandırma problemleri
ifade verileri. Az sayıda örnekle yüksek boyutlu verileri işleme yetenekleri, onları analiz için ideal hale getirir
karmaşık biyolojik veri kümeleri.
-
Metin Kategorizasyonu: Bu alanda
veri analitiği, SVM'ler metin analizi için yaygın olarak kullanılmaktadır.
ve hiper metin kategorizasyonu. Standart olarak etiketli eğitim örneklerine olan ihtiyacı önemli ölçüde azaltırlar
Tümevarımsal metin sınıflandırma ayarları, onları spam algılama ve duyarlılık gibi uygulamalar için verimli hale getirir
Analiz.
-
El Yazısı Tanıma: DVM'ler geçmişte el yazısı rakamlar üzerinde son derece iyi performans göstermiştir
bulunanlar gibi tanıma görevleri
MNIST veri kümesi. Bir yandan
konvolüsyonel sinir ağları (CNN'ler)
büyük ölçüde devralmış olsa da, DVM'ler kıyaslama ve sınırlı
eğitim verileri.
SVM Sınıflandırıcısının Uygulanması
Modern görevler genellikle
Ultralytics YOLO11 uçtan uca nesne tespiti için model,
DVM'ler, yapılandırılmış veriler için veya çıkarılan özelliklerin üzerine son bir sınıflandırma katmanı olarak güçlü bir araç olmaya devam etmektedir. Aşağıda
popüler bir araç olan scikit-learn basit bir sınıflandırıcıyı eğitmek için kütüphane.
from sklearn import svm
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
# Generate synthetic classification data
X, y = make_classification(n_features=4, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
# Initialize and train the Support Vector Classifier
clf = svm.SVC(kernel="linear", C=1.0)
clf.fit(X_train, y_train)
# Display the accuracy on the test set
print(f"Accuracy: {clf.score(X_test, y_test):.2f}")
SVM ve İlgili Algoritmalar
DVM'yi diğer makine öğrenimi tekniklerinden ayırt etmek, bir makine öğrenimi için doğru aracı seçmeye yardımcı olur.
tahmine dayalı modelleme projesi.
-
Lojistik Regresyon: Her ikisi de doğrusal sınıflandırıcılardır, ancak optimizasyon hedefleri farklıdır. Lojistik Regresyon, aşağıdakilerin olasılığını maksimize eder
(olasılıksal), DVM ise sınıflar arasındaki geometrik marjı maksimize eder. DVM'ler genellikle daha
sınıflar iyi ayrıldığında etkili olurken, Lojistik Regresyon kalibre edilmiş olasılıklar sağlar.
-
K-En Yakın Komşular (KNN): KNN parametrik olmayan, örnek tabanlı bir öğrenicidir ve bir noktayı çoğunluk sınıfına göre sınıflandırır.
komşular. Buna karşın DVM, global bir sınırı öğrenen parametrik bir modeldir. SVM'ler genellikle daha hızlı
eğitildikten sonra çıkarım gecikmesi, çünkü
KNN'den farklı olarak tüm veri kümesini depolamaya ihtiyaç duyar.
-
Karar Ağaçları: Bir karar ağacı, hiyerarşik kuralları kullanarak veri alanını dikdörtgen bölgelere ayırır. DVM'ler karmaşık yapılar oluşturabilir,
Karar ağaçlarının aşırıya kaçmadan yaklaşmakta zorlanabileceği kavisli karar sınırları (çekirdekler aracılığıyla)
derin ve aşırı uyuma eğilimli.
-
Derin Öğrenme (örn. YOLO11): SVM'ler büyük ölçüde manuel
özellik mühendisliği, alan uzmanlarının
ilgili girdileri seçin. Gibi modern modeller YOLO11 mükemmel
doğrudan ham verilerden otomatik özellik çıkarma
pikseller gibi karmaşık görevler için üstün hale getirir.
nesne algılama ve
örnek segmentasyonu.
Temel teori ile ilgilenenler için, orijinal makale
Cortes ve Vapnik (1995), matematiksel
günümüzde kullanılan yumuşak marjlı DVM'lerin temelini oluşturmaktadır.