decision boundary
Főnév
decision boundary (tsz. decision boundaries)
- (informatika, mesterséges intelligencia) A decision boundary (magyarul: döntési határ, határvonal) egy olyan matematikai fogalom, amelyet elsősorban gépi tanulás, mintázatfelismerés, osztályozás és statistikai döntési elméletek területén használnak. A döntési határ az a vonal (vagy általánosabban: felület, hipersík), amely elválasztja az adatokat különböző osztályokba soroló régiók között.
A gépi tanulásban egy osztályozó algoritmus célja, hogy egyértelmű döntést tudjon hozni: egy adott pont (pl. egy e-mail) spam-e vagy nem, egy kép macskát tartalmaz-e vagy kutyát. Ehhez az algoritmus meghatároz egy határt, amelynek egyik oldalán az egyik osztály, másik oldalán a másik osztály található.
Mit jelent a döntési határ?
Formálisan a döntési határ az a geometriai objektum, amely mentén a klasszifikátor (osztályozó) bizonytalan az osztálybesorolásban – vagyis azok a pontok, amelyek esetén a predikciós értékek éppen egyenlőek két vagy több osztály között.
Például:
- Ha egy lineáris klasszifikátor pontokat „pozitív” és „negatív” osztályba sorol, akkor a döntési határ lehet egy egyenes (2D-ben), egy sík (3D-ben), vagy egy hipersík (n-dimenzióban).
Egyszerű példa: 2D osztályozás
Tegyük fel, hogy kétféle adatpontod van:
- Kék körök – osztály A
- Piros háromszögek – osztály B
Ha egy algoritmus megtanulja, hogy a (x, y) sík mely pontjai tartoznak A-hoz vagy B-hez, akkor a döntési határ az a görbe vagy egyenes, amely szétválasztja a kétféle pontot.
Típusai a döntési határoknak
1. Lineáris döntési határ
- Egyszerű algoritmusoknál, mint a logisztikus regresszió vagy SVM (linear kernel).
- Képlete:
wᵀx + b = 0Aholwa súlyvektor,xa bemenet,ba bias.
2. Nemlineáris döntési határ
- Komplexebb viselkedést tanuló modelleknél, mint:
- SVM nemlineáris kernellel (pl. RBF kernel)
- Döntési fák, Random Forest
- Neurális hálózatok
Ilyenkor a döntési határ lehet görbe, darabos, összetett, és akár nem folyamatos is.
Gépi tanulási algoritmusok és a decision boundary
1. Logisztikus regresszió
- Lineáris döntési határat hoz létre.
- Megfelelő akkor, ha az osztályok lineárisan elválaszthatók.
2. Support Vector Machine (SVM)
- Célja: a lehető legnagyobb margin kialakítása a két osztály között.
- Lineáris vagy kernel-trükk segítségével nemlineáris döntési határ.
- A támogatópontok (support vectors) határozzák meg.
3. Döntési fák (Decision Tree)
- A döntési határ mindig axis-aligned (függőleges vagy vízszintes vonalak).
- Lépcsőzetes, darabos határfelület.
4. K legközelebbi szomszéd (K-NN)
- A határ nem explicit módon tanulódik, de létezik.
- Nagyon részletes, érzékeny a zajra – határa “rücskös” lehet.
5. Neurális hálózatok
- Többrétegű perceptronok képesek bonyolult, nemlineáris, akár topológiailag összetett döntési határok megtanulására.
- Nagy adatmennyiség és számítási kapacitás esetén a legjobbak.
Mi határozza meg a decision boundary alakját?
- Adatok eloszlása
- Ha az osztályok jól elkülönülnek, könnyű lineáris határt találni.
- Ha átfedés van, a határ bizonytalan vagy hullámos.
- Model struktúrája
- Lineáris modellek → egyenes határ
- Döntési fa → szögletes határ
- Mély hálózat → tetszőleges komplexitás
- Túlillesztés
- Ha túl komplex döntési határt tanulunk a tanítókészletre, overfitting alakulhat ki, és a modell rosszul általánosít.
Visualization – Megjelenítés
A döntési határ vizualizálása gyakori eszköz a gépi tanulási modellek megértéséhez.
Tipikus lépések:
- 2D-ben vagy 3D-ben történik
- A bemeneti tér egy rácspontjain kiszámítjuk a modell kimenetét
- Ahol a kimenet osztályváltást jelez (
0 → 1), ott a decision boundary található
Pythonban például matplotlib és scikit-learn használatával így vizsgálható:
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt
X, y = make_classification(n_features=2, n_redundant=0, n_informative=2,
n_clusters_per_class=1)
model = LogisticRegression().fit(X, y)
# plot határ
import numpy as np
xx, yy = np.meshgrid(np.linspace(X[:,0].min(), X[:,0].max(), 100),
np.linspace(X[:,1].min(), X[:,1].max(), 100))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()]).reshape(xx.shape)
plt.contourf(xx, yy, Z, alpha=0.3)
plt.scatter(X[:,0], X[:,1], c=y)
plt.title("Decision Boundary")
plt.show()
Döntési határ és bizonytalanság
A decision boundary mentén fekvő pontok gyakran bizonytalan osztályba sorolást eredményeznek.
- Ezek a pontok az úgynevezett margin-zónában találhatók.
- A soft classifier (pl. logisztikus regresszió) ilyen esetekre valószínűségi kimenetet ad.
- Egy predikció lehet például: „Ez a pont 55% valószínűséggel osztály A”.
Decision boundary a valós életben
- Orvosi diagnosztika: egészséges vs. beteg sejtek elkülönítése képalapú adatokon.
- Pénzügyi előrejelzés: hitelképes vs. nem hitelképes ügyfelek elkülönítése.
- Biztonság: jogos vs. jogosulatlan belépés osztályozása viselkedési minták alapján.
Döntési határ elemzése
A gépi tanulási rendszerek egyik fő kritikája, hogy nem mindig értjük, mi alapján döntenek. A decision boundary vizsgálata segít:
- az érthetőség növelésében,
- a bias vagy diszkrimináció kiszűrésében,
- a modellek validálásában.
Összefoglalás
A decision boundary a gépi tanulás egyik alapvető fogalma: ez az a határvonal, amely egy modell döntési terét osztja fel különböző osztályok szerint. Egy jó döntési határ elkülöníti az osztályokat, általánosít az új adatokra, és robosztus a zajjal szemben.
A döntési határ lehet egyenes vagy görbe, egyszerű vagy összetett, attól függően, hogy milyen adatokkal és milyen algoritmusokkal dolgozunk. A megértése és vizsgálata kulcsfontosságú a gépi tanulási modellek működésének átláthatóbbá, megbízhatóbbá és etikusabbá tételéhez.
- decision boundary - Szótár.net (en-hu)
- decision boundary - Sztaki (en-hu)
- decision boundary - Merriam–Webster
- decision boundary - Cambridge
- decision boundary - WordNet
- decision boundary - Яндекс (en-ru)
- decision boundary - Google (en-hu)
- decision boundary - Wikidata
- decision boundary - Wikipédia (angol)