semi-supervised learning
Megjelenés
| part of a series on |
| machine learning and data mining |
|---|
Főnév
semi-supervised learning (tsz. semi-supervised learnings)
- (informatika) A semi-supervised learning (magyarul: félig felügyelt tanulás) a gépi tanulás egyik módszere, amely felügyelt (címkézett) és felügyelet nélküli (címkézetlen) adatok kombinációjával tanítja a modellt.
Ez különösen hasznos, amikor:
- Kevés címkézett adat áll rendelkezésre (pl. kézi annotálás drága vagy időigényes),
- Sok címkézetlen adat van (pl. nyers szöveg, képek, szenzoradatok).
🎯 A cél
- Jobb teljesítményt elérni, mint csak a címkézett adatokkal lehetne,
- Miközben költséghatékony marad (nem kell minden adatot kézzel címkézni).
📚 Motiváció – Mikor hasznos?
| Helyzet | Példa |
|---|---|
| Címkézés nehéz, költséges | Orvosi képek diagnózisa (szakértő kell) |
| Sok nyers adat elérhető | Internetes képek, hangfelvételek |
| Kevés felhasználói interakció | Új alkalmazás, kevés visszajelzés |
| Skálázhatóság fontos | Nagy webes adatbázisok, szövegek |
🧩 Hogyan működik?
A modell először a meglévő címkézett példákon tanul, majd a címkézetlen adatok alapján tovább finomodik, kihasználva a bennük rejlő mintázatokat, struktúrákat.
🛠️ Főbb technikák
1. Self-training (önképzés)
- Tanítunk egy modellt a címkézett adatokon.
- A modell címkéket jósol a címkézetlen adatokra.
- A legbiztosabb jóslatokat hozzáadjuk a tanítóhalmazhoz.
- Ismételjük a folyamatot.
2. Co-training
- Két különböző modell tanul különböző nézeteken (pl. szöveg + metaadat),
- Egymás jóslatait felhasználják új címkék tanítására.
3. Consistency regularization (konzisztenciaelv)
- A modell legyen robusztus a bemenet kis torzításaira (pl. képek elforgatása),
- Ha egy kép 2 változatára más osztályt jósol → büntetjük.
4. Graph-based methods
- Az adatokat gráfként ábrázoljuk, ahol a hasonló adatpontok össze vannak kötve.
- Az osztályinformációt szétterítjük a gráf mentén.
5. Generative models
- A modell megtanulja az adat eloszlását (pl. autoencoder, variational autoencoder),
- Ez alapján segíti az osztályozást.
📘 Példa: képfelismerés 100 címkézett képpel
- 100 címkézett kép: macska vagy kutya
- 10 000 címkézetlen kép
- A modell önállóan megtanulja, hogyan néz ki „tipikusan” egy kutya vagy macska,
- Ezt az információt felhasználja a címkék pontosítására → jobb osztályozás kevés címkével is.
🧪 Népszerű modellek és könyvtárak
| Név | Cél |
|---|---|
| FixMatch | Konzisztencia + öncímkézés együttes használata |
| MixMatch | Több címkézés + adataugmentáció |
| Pseudo-labeling | Egyszerű öncímkézős technika |
| Semi-supervised SVM | Határvonal tanítása címkézetlen adatokkal együtt |
| scikit-learn (LabelSpreading) | Klasszikus gráfalapú módszer |
| PyTorch Lightning + UDA | Mély tanulási keretrendszer támogatással |
🔬 Metrikák (kiértékelés)
A félig felügyelt modelleket a címkézett teszthalmazon értékeljük:
| Metrika | Jelentés |
|---|---|
| Accuracy | Találati arány |
| F1-score | Pontosság és visszahívás átlaga |
| AUC-ROC | Osztályozási képesség minden küszöbre |
| Label efficiency | Mennyi címkével érünk el adott teljesítményt |
✅ Előnyök
- 🏷️ Kevesebb címkézett adat szükséges
- ⚡ Gyorsabb annotációs ciklus
- 🧠 Tanulja az adat eloszlását
- 🌍 Jól működik nagy, természetes adathalmazokon
⚠️ Hátrányok
| Kihívás | Magyarázat |
|---|---|
| Rossz címkézés erősítése | Ha a modell hibás jóslatait újratanítjuk, romolhat |
| Zajérzékenység | A címkézetlen adatok torzíthatják a tanulást |
| Nem minden feladatra jó | Ha nincs elég strukturált minta az adatokban |
| Hiperparaméter-érzékenység | Nehéz jól hangolni a tanulást és regulárizálást |
🛠️ Python példa: LabelSpreading (sklearn)
from sklearn.semi_supervised import LabelSpreading
from sklearn.datasets import make_moons
import numpy as np
X, y = make_moons(n_samples=200, noise=0.1)
y[10:] = -1 # Címkézetlen adatok
model = LabelSpreading(kernel='knn', n_neighbors=5)
model.fit(X, y)
predicted_labels = model.transduction_
🧾 Összefoglalás
| Tulajdonság | Leírás |
|---|---|
| Definíció | Tanulási mód, amely kevés címkézett és sok címkézetlen adat kombinációját használja |
| Fő technikák | Self-training, pseudo-labeling, consistency, gráfmodellek |
| Alkalmazás | Képfeldolgozás, szövegelemzés, orvosi diagnosztika |
| Előny | Kevesebb címkézett adat kell, hatékonyabb tanulás |
| Hátrány | Hibaerősítés, hiperparaméter-érzékenység |
- semi-supervised learning - Szótár.net (en-hu)
- semi-supervised learning - Sztaki (en-hu)
- semi-supervised learning - Merriam–Webster
- semi-supervised learning - Cambridge
- semi-supervised learning - WordNet
- semi-supervised learning - Яндекс (en-ru)
- semi-supervised learning - Google (en-hu)
- semi-supervised learning - Wikidata
- semi-supervised learning - Wikipédia (angol)