Čo je pseudo-labeling v tabuľkových úlohách?
sobes.tech AI
Odpoveď od AI
Pseudo-labeling je metóda semi-supervizovaného učenia, ktorá sa často používa pri úlohách s tabuľkovými dátami. Myšlienka spočíva v tom, že model natrénovaný na označených dátach sa použije na predpoveď štítkov na neoznačených dátach, a tieto predpovedané štítky (pseudo-štítky) sa následne pridajú do tréningovej množiny na ďalšie učenie.
Pri úlohách s boostingom a tabuľkovými dátami to pomáha zväčšiť objem tréningových dát, najmä keď je málo označených dát. Napríklad, po prvom štádiu tréningu modelu na označených dátach model predpovedá štítky pre neoznačené záznamy. Tieto záznamy s pseudo-štítkami sa potom pridajú do tréningovej množiny a model sa ďalej trénuje na rozšírenej sade.
Je dôležité kontrolovať kvalitu pseudo-štítkov, napríklad výberom len tých predpovedí, v ktorých je model istý (podľa pravdepodobnosti), aby sa nezhoršila kvalita učenia.
Príklad v pseudokóde:
# Tréning na označených dátach
model.fit(X_labeled, y_labeled)
# Predpoveď na neoznačených dátach
pseudo_labels = model.predict(X_unlabeled)
# Výber spoľahlivých predpovedí
confident_indices = [i for i, p in enumerate(model.predict_proba(X_unlabeled)) if max(p) > threshold]
# Pridanie pseudo-štítkov do tréningovej množiny
X_extended = np.concatenate([X_labeled, X_unlabeled[confident_indices]])
y_extended = np.concatenate([y_labeled, pseudo_labels[confident_indices]])
# Ďalšie trénovanie modelu
model.fit(X_extended, y_extended)