Sobes.tech
Middle — Senior

Co je to pseudo-labeling v tabulkových úlohách?

sobes.tech AI

Odpověď od AI

Pseudo-labeling je metoda semi-supervizovaného učení, která se často používá u úloh s tabulkovými daty. Myšlenka spočívá v tom, že model natrénovaný na označených datech se použije k předpovědi štítků na neoznačených datech, a tyto předpovězené štítky (pseudo-štítky) se poté přidají do trénovací sady pro další učení.

U tabulkových úloh s boostingem to pomáhá zvětšit objem trénovacích dat, zejména když je málo označených dat. Například po prvním fázi tréninku modelu na označených datech model předpovídá štítky pro neoznačené záznamy. Tyto záznamy s pseudo-štítky se pak přidají do trénovací sady a model se dále trénuje na rozšířené sadě.

Je důležité kontrolovat kvalitu pseudo-štítků, například vybíráním pouze těch předpovědí, u nichž je model jistý (podle pravděpodobnosti), aby nedošlo ke zhoršení kvality učení.

Příklad v pseudokódu:

# Trénink na označených datech
model.fit(X_labeled, y_labeled)

# Předpověď na neoznačených datech
pseudo_labels = model.predict(X_unlabeled)

# Výběr spolehlivých předpovědí
confident_indices = [i for i, p in enumerate(model.predict_proba(X_unlabeled)) if max(p) > threshold]

# Přidání pseudo-štítků do trénovací sady
X_extended = np.concatenate([X_labeled, X_unlabeled[confident_indices]])
y_extended = np.concatenate([y_labeled, pseudo_labels[confident_indices]])

# Další trénink modelu
model.fit(X_extended, y_extended)