Support Vector Machine (SVM)
Support Vector Machines (SVM) modellerini keşfet. Optimal hiper düzlemler, çekirdek numarası (kernel trick) hakkında bilgi edin ve SVM'lerin Ultralytics YOLO26 gibi modern modellerle nasıl kıyaslandığını öğren.
Support Vector Machine (SVM) is a robust and versatile supervised learning algorithm widely used for classification and regression challenges. Unlike many algorithms that simply aim to minimize training errors, an SVM focuses on finding the optimal boundary—called a hyperplane—that best separates data points into distinct classes. The primary objective is to maximize the margin, which is the distance between this decision boundary and the closest data points from each category. By prioritizing the widest possible separation, the model achieves better generalization on new, unseen data, effectively reducing the risk of overfitting compared to simpler methods like standard linear regression.
Link to this sectionTemel Mekanizmalar ve Kavramlar#
SVM'lerin nasıl çalıştığını anlamak için, her boyutun belirli bir özelliği temsil ettiği çok boyutlu bir uzayda çizilen verileri görselleştirmek yardımcı olur. Algoritma, gruplar arasındaki en etkili ayrımı keşfetmek için bu uzayda gezinir.
- Optimal Hiper Düzlem: Temel hedef, giriş uzayını bölen düz bir düzlem (veya daha yüksek boyutlarda hiper düzlem) tanımlamaktır. Basit bir 2D veri kümesinde bu bir çizgi olarak görünür; 3D'de ise düz bir yüzeye dönüşür. Optimal hiper düzlem, herhangi bir sınıftan en yakın veri noktalarına olan mesafeyi mümkün olan en üst seviyede tutarak net bir ayrım sağlayan düzlemdir.
- Destek Vektörleri: Bunlar, karar sınırına en yakın konumda bulunan kritik veri noktalarıdır. Hiper düzlemin konumunu ve yönünü etkili bir şekilde destekledikleri veya tanımladıkları için "destek vektörleri" olarak adlandırılırlar. Diğer veri noktalarını değiştirmek veya kaldırmak genellikle model üzerinde hiçbir etki yaratmaz, ancak bir destek vektörünü hareket ettirmek sınırı önemli ölçüde kaydırır. Scikit-learn SVM kılavuzunda ayrıntılı olarak açıklandığı üzere, bu kavram SVM'lerin verimliliği için merkezidir.
- Çekirdek (Kernel) Hilesi: Karmaşık doğal dil işleme (NLP) veri kümeleri gibi gerçek dünya verileri nadiren doğrusal olarak ayrılabilirdir. SVM'ler, bu sınırlamayı "çekirdek hilesi" adı verilen ve verileri doğrusal bir ayırıcının sınıfları etkili bir şekilde bölebileceği daha yüksek boyutlu bir uzaya taşıyan bir teknikle çözer. Yaygın çekirdekler arasında Radyal Tabanlı Fonksiyon (RBF) ve polinom çekirdekleri bulunur; bunlar modelin karmaşık, doğrusal olmayan ilişkileri yakalamasına olanak tanır.
Link to this sectionSVM ve İlgili Algoritmaların Karşılaştırılması#
SVM'leri diğer makine öğrenimi tekniklerinden ayırt etmek, uygulayıcıların tahminleyici modelleme projeleri için doğru aracı seçmelerine yardımcı olur.
- Lojistik Regresyon: Her ikisi de doğrusal sınıflandırıcıdır ancak optimizasyon hedefleri önemli ölçüde farklılık gösterir. Lojistik Regresyon olasılıksaldır ve gözlemlenen verilerin olasılığını maksimize eder; oysa SVM geometriktir ve sınıflar arasındaki marjini maksimize eder. SVM'ler iyi ayrılmış sınıflarda daha iyi performans gösterme eğilimindeyken, Lojistik Regresyon kalibre edilmiş olasılık çıktıları sunar.
- K-En Yakın Komşu (KNN): KNN, bir noktayı komşularının çoğunluk sınıfına göre sınıflandıran, parametrik olmayan ve örnek tabanlı bir öğrenicidir. Buna karşılık SVM, küresel bir sınır öğrenen parametrik bir modeldir. SVM'ler, eğitildikten sonra tüm veri kümesini çalışma zamanında saklamaları ve aramaları gerekmediğinden genellikle daha hızlı çıkarım gecikmesi sunar.
- Karar Ağaçları: Bir karar ağacı, hiyerarşik kurallar kullanarak veri uzayını dikdörtgen bölgelere ayırır. SVM'ler çekirdekler aracılığıyla karmaşık, kavisli karar sınırları oluşturabilir; karar ağaçları ise aşırı derinleşip aşırı öğrenmeye (overfitting) maruz kalmadan bu tür sınırları tahmin etmekte zorlanabilir.
- Modern Derin Öğrenme (örneğin, YOLO26): SVM'ler genellikle uzmanların ilgili girdileri seçtiği manuel özellik mühendisliğine dayanır. Ultralytics YOLO26 gibi gelişmiş modeller, doğrudan ham görüntülerden otomatik özellik çıkarımı yapma konusunda mükemmeldir ve bu da onları gerçek zamanlı nesne tespiti ve örnek bölümleme gibi karmaşık algısal görevler için çok daha üstün kılar.
Link to this sectionGerçek Dünya Uygulamaları#
Destek Vektör Makineleri, doğrulukları ve yüksek boyutlu verileri işleme yetenekleri nedeniyle çeşitli endüstrilerde son derece geçerli olmaya devam etmektedir.
- Biyoinformatik: SVM'ler, protein yapısı tahmini ve gen sınıflandırması için yaygın olarak kullanılmaktadır. Araştırmacılar karmaşık biyolojik dizileri analiz ederek belirli hastalıklarla ilişkili kalıpları tanımlayabilir, bu da erken teşhis ve kişiselleştirilmiş tıbba yardımcı olur.
- Metin Kategorizasyonu: Metin özetleme ve spam filtreleme alanında SVM'ler, metin vektörlerinin yüksek boyutluluğunu yönetmede mükemmeldir. E-postaları "spam" veya "spam değil" olarak etkili bir şekilde sınıflandırabilir ve haber makalelerini konu bazında yüksek hassasiyetle kategorize edebilirler.
Link to this sectionUygulama Örneği#
Modern bilgisayarlı görü görevleri genellikle Ultralytics YOLO26 gibi uçtan uca modellerden yararlansa da, SVM'ler bu modellerden çıkarılan özellikleri sınıflandırmak için hala güçlüdür. Örneğin, bir YOLO modeli nesneleri tespit edip özelliklerini çıkarmak için kullanılabilir, ardından bu belirli özellik vektörlerini özel bir görev için sınıflandırmak üzere bir SVM eğitilebilir.
Aşağıda, sentetik veriler üzerinde basit bir sınıflandırıcı eğitmek için popüler scikit-learn kütüphanesini kullanan kısa bir örnek bulunmaktadır.
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}")Daha büyük veri kümelerini yönetmek veya SVM iş akışlarının yerini alabilecek ya da onları geliştirebilecek derin öğrenme modelleri eğitmek isteyen ekipler için Ultralytics Platform, sorunsuz veri etiketleme ve model dağıtımı için araçlar sağlar. Matematiksel temellerle ilgilenenler, SVM'lerin gürültülü gerçek dünya verilerini etkili bir şekilde işlemesini sağlayan yumuşak marjlı (soft-margin) optimizasyonu detaylandıran Cortes ve Vapnik'in (1995) orijinal makalesine başvurabilirler.






