Mi a felügyelt tanulás?

A felügyelt tanulásban (supervised learning) minden tanítómintához tartozik egy előre ismert célérték — a modell ezekből tanul összefüggést, majd ismeretlen adatokra alkalmazza a megtanult mintákat. Ez a gépi tanulás legelterjedtebb formája.

Két fő feladattípusra osztható:

  • Regresszió: folyamatos értéket kell előre jelezni. Pl. ház eladási ára a jellemzők alapján.
  • Osztályozás: valamelyik kategóriába kell sorolni a bemenetet. Pl. e-mail spam vagy nem spam.

Lineáris regresszió

A lineáris regresszió a legegyszerűbb felügyelt tanulási módszer. Feltételezi, hogy a céljegy és a jellemzők között lineáris kapcsolat áll fenn. Az összefüggést a legkisebb négyzetek módszerével illeszti az adatpontokhoz.

Erőssége az értelmezhetőség: az egyes jellemzők hatása közvetlenül leolvasható az együtthatókból. Korlátja, hogy nemlineáris összefüggéseket nem képes megragadni.

# Lineáris regresszió sklearn-nel from sklearn.linear_model import LinearRegression import numpy as np # Lakásár előrejelzés: alapterület (m²) → ár (millió Ft) X = np.array([[45], [60], [80], [100], [130]]) y = np.array([18.5, 24.0, 31.5, 42.0, 55.0]) model = LinearRegression() model.fit(X, y) pred = model.predict([[90]]) print(f"90 m²-es lakás becsült ára: {pred[0]:.1f} millió Ft")

Logisztikus regresszió

Nevével ellentétben a logisztikus regresszió osztályozásra való. A sigmoid függvényen keresztül egy 0 és 1 közötti valószínűséget ad vissza, amelyből bináris döntés hozható. Bináris osztályozásnál (igen/nem, spam/nem spam) széles körben alkalmazzák, részben mert az eredmény jól érttelmezhető valószínűségként.

Döntési fák

A döntési fa (decision tree) egy fastruktúrájú modell: minden csomópontban egy jellemző szerint ágazik el, a levelekben az osztálycímkék vagy értékek találhatók. Könnyen értelmezhető, és mind osztályozási, mind regressziós feladatokra alkalmas.

Hátránya, hogy mélyen növesztve hajlamos túlillesztésre. Ezt a véletlen erdő (random forest) oldja meg: sok döntési fa szavazásán alapuló együttesmodell (ensemble method), amely általánosabb és robusztusabb eredményt ad.

Magyarországi kontextus: A Budapest AI meetupok és a magyarországi data science konferenciák (pl. a MLConf Europe anyagaiban) a véletlen erdő és a gradient boosting módszerek tűnnek a leggyakrabban használt eszközöknek a hazai üzleti alkalmazásokban — elsősorban pénzügyi kockázatértékelésben és ügyfélszegmentációban.

Support Vector Machine (SVM)

Az SVM egy szeparáló hipersíkot keres az adatban, amely a két osztályt a lehető legnagyobb margóval választja el. Ha az adatok nem lineárisan szeparálhatók, kernel-trükkel magasabb dimenziós térbe transzformálja őket, ahol már megtalálható a szeparáló sík.

Kisebb adathalmazokra és nagy dimenziójú adatokra (pl. szövegbesorolás) különösen hatékony, azonban a paraméterek hangolása (C, gamma, kernel-típus) gondos munkát igényel.

K-nearest neighbors (KNN)

A KNN tanulatlan algoritmus: nem épít explicit modellt, hanem az előrejelzéskor a legközelebbi k szomszéd alapján szavaz. Egyszerű és intuitív, de nagyobb adathalmazokra lassú, mivel minden jósláshoz végig kell nézni az összes tanítópéldát.

Kiértékelés: confusion matrix és ROC-görbe

Osztályozási feladatoknál a tévesztési mátrix (confusion matrix) megmutatja, hány esetben volt helyes és hány esetben téves a modell döntése. A ROC-görbe (Receiver Operating Characteristic) az igaz pozitív arány és a hamis pozitív arány viszonyát mutatja különböző küszöbértékeknél, és az AUC (görbe alatti terület) összefoglalóan jellemzi a modell teljesítményét.

# Döntési fa osztályozó és kiértékelés from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import classification_report clf = DecisionTreeClassifier(max_depth=4, random_state=42) clf.fit(X_train, y_train) y_pred = clf.predict(X_test) print(classification_report(y_test, y_pred))

Melyik algoritmust válasszuk?

Nincs egyetlen legjobb algoritmus minden feladathoz — ezt fogalmazza meg a „no free lunch" tétel a gépi tanulásban. A választásnál érdemes figyelembe venni az adathalmaz méretét, a jellemzők számát és típusát, az értelmezhetőség iránti igényt, illetve a rendelkezésre álló számítási kapacitást.

Kis adathalmaz és értelmezhetőség igénye esetén logisztikus regresszió vagy döntési fa ajánlott. Nagyobb, komplexebb adatoknál a gradient boosting (XGBoost, LightGBM) és a random forest mutatja a legjobb eredményeket strukturált adatokon.