Sobes.tech
Middle — Senior

Kas yra pseudo-labeling lentelės užduotyse?

sobes.tech AI

Atsakymas iš AI

Pseudo-labeling yra pusiau prižiūrimo mokymosi metodas, dažnai taikomas lentelinių duomenų užduotyse. Idėja yra naudoti modelį, apmokytą su žymėtais duomenimis, prognozuoti žymas nepažymėtiems duomenims, o tada šias prognozuotas (pseudo-žymas) žymas pridėti prie mokymo rinkinio tolimesniam mokymuisi.

Boosting su lentelinių duomenų užduotimis tai padeda padidinti mokymo duomenų kiekį, ypač kai žymėtų duomenų yra mažai. Pavyzdžiui, po pirmojo mokymo etapo modelis prognozuoja žymas nepažymėtiems įrašams. Tada šie įrašai su pseudo-žymomis pridedami prie mokymo rinkinio, ir modelis toliau mokomas išplėstame rinkinyje.

Svarbu kontroliuoti pseudo-žymų kokybę, pavyzdžiui, pasirinkti tik tas prognozes, kuriose modelis yra tikras (remiantis tikimybe), kad neblogintų mokymosi kokybės.

Pseudokodas pavyzdys:

# Apmokymas su žymėtais duomenimis
model.fit(X_labeled, y_labeled)

# Prognozavimas nepažymėtiems duomenims
pseudo_labels = model.predict(X_unlabeled)

# Pasitikėjimo prognozių pasirinkimas
confident_indices = [i for i, p in enumerate(model.predict_proba(X_unlabeled)) if max(p) > threshold]

# Pseudo-žymų pridėjimas prie mokymo rinkinio
X_extended = np.concatenate([X_labeled, X_unlabeled[confident_indices]])
y_extended = np.concatenate([y_labeled, pseudo_labels[confident_indices]])

# Papildomas modelio mokymas
model.fit(X_extended, y_extended)