Ugrás a tartalomhoz

support vector machine

A Wikiszótárból, a nyitott szótárból
(szupport vektor gép szócikkből átirányítva)


Főnév

support vector machine (tsz. support vector machines)

  1. (informatika) szupport vektor gép

A Support Vector Machine (SVM), magyarul támogatott vektorgép, egy hatékony, felügyelt tanulási algoritmus, amelyet főként osztályozásra és regresszióra használnak. Különösen jól működik kis mintaszámú, nagy dimenziójú adatok esetén.

Az alapötlet: találjunk meg egy olyan elválasztó hiper-síkot, amely a lehető legjobban szétválasztja az adatokat két (vagy több) osztályra.



🎯 Mi a célja az SVM-nek?

  • Egy hipersík megtalálása, amely maximalizálja a margót (távolság a legközelebbi pontoktól)
  • Robusztus döntési határvonalat ad, amely jól általánosít új adatokra



🧩 Alapfogalmak

Fogalom Jelentés
Hipersík Az adatteret két részre osztó geometriai sík (pl. 2D-ben egyenes, 3D-ben sík)
Margin (margó) Az elválasztó sík és a legközelebbi pontok távolsága
Support vectors Az adathalmaz azon pontjai, amelyek legközelebb vannak az elválasztó síkhoz – ezek határozzák meg a modellt
Hard margin Nincs hibás osztályozás megengedve
Soft margin Enged némi hibát a jobb általánosítás érdekében (valós adatokhoz hasznosabb)



✏️ Geometriai szemlélet

Egy 2D példában az SVM egy egyenest keres, amely a lehető legjobban választja szét a két osztályt úgy, hogy:

  • a legközelebbi piros és kék pont egyforma távol legyen az elválasztó vonaltól
  • ez a távolság (margin) a lehető legnagyobb legyen



🧮 A döntési függvény

Egy adatpont osztályba sorolása:

  • : súlyvektor (irány a térben)
  • : eltolás
  • ha → egyik osztály, ha → másik



⚙️ Tanulás: optimalizációs probléma

Az SVM célja a következő kifejezés minimalizálása:

úgy, hogy:

Ez egy konvex optimalizációs probléma, aminek megoldása globális minimum.



🌐 Mi van, ha nem lineárisan elválasztható?

Ekkor jön a képbe a kernel trükk:

📦 Kernel függvények

A kernel függvény segítségével átvetítjük az adatokat egy magasabb dimenziójú térbe, ahol már elválaszthatók lineárisan.

Kernel típus Jelentés
Lineáris Egyszerű sík (pl. szövegosztályozásra jó)
Polinomiális Nemlineáris elválasztás (görbék)
RBF (Gauss) Népszerű, jól általánosít
Sigmoid Hasonló a neurális hálók aktivációjához



📊 Példa: kétosztályos osztályozás

Tegyük fel, hogy van két osztály: piros és kék pontok.

  • Az SVM megtalálja azt az egyenest/síkot, amely legjobban különválasztja őket.
  • Ha egy új pont érkezik, akkor a döntési függvény alapján sorolja be.



🛠️ Kód példa Pythonban (scikit-learn)

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

X, y = datasets.make_classification(n_samples=100, n_features=2, n_classes=2)
X_train, X_test, y_train, y_test = train_test_split(X, y)

model = SVC(kernel='linear')
model.fit(X_train, y_train)

print("Pontosság:", model.score(X_test, y_test))

🧠 SVM alkalmazási területek

Terület Példa
Szövegosztályozás SPAM-szűrés, vélemény-analízis
Képfelismerés Arcazonosítás, kézirásos számfelismerés
Bioinformatika Génszekvencia osztályozás
Pénzügyi előrejelzés Ármozgás trendek detektálása



✅ Előnyök

  • 🧮 Matematikailag jól megalapozott
  • 📈 Jól működik kevés minta esetén is
  • 🔍 Tiszta döntési határ a margin maximalizálása miatt
  • 🛡️ Robusztus túltanulás ellen, főként soft margin-nel



⚠️ Hátrányok

  • 🧠 Nehéz paraméterhangolás (C, gamma, kernel választás)
  • 🐢 Lassú nagy mintaszám esetén (milliós soroknál)
  • 🧱 Nehezen értelmezhető a döntési határ vizuálisan, magas dimenzióban
  • 📊 Nem skáláz jól: deep learning gyakran felváltja nagy adathalmazoknál



🔧 Fontos hiperparaméterek

Paraméter Jelentés
C Regularizációs paraméter: nagy C → kevesebb hiba, szűk margin
gamma RBF kernel esetén: kis gamma → sima határ, nagy gamma → éles görbék
kernel A használt kernel típusa: linear, rbf, poly, sigmoid



🧾 Összefoglalás

Tulajdonság Leírás
Név Support Vector Machine (SVM)
Típus Felügyelt gépi tanulás, osztályozás és regresszió
Cél A lehető legnagyobb margójú elválasztó sík megtalálása
Alkalmazás Szöveg, kép, bioinformatika, pénzügy
Kulcselemek Margó, support vector, kernel, C, gamma
Erősség Kis adathalmazokra ideális, pontos döntési határ
Korlát Lassú nagy adathalmazokon, nehezen hangolható