Sobes.tech
Middle — Senior

Mis on pseudo-labeling tabelülesandes?

sobes.tech AI

Vastus AI-lt

Pseudo-labeling on poolteistlik juhendamise meetod, mida sageli rakendatakse tabelandmete ülesannetes. Idee on kasutada mudelit, mis on treenitud märgitud andmetel, et ennustada märgiseid märgistamata andmetel, ning seejärel lisada need ennustatud (pseudo-märgised) märgised treeningkomplekti edasiseks õppimiseks.

Boostinguga tabelülesannetes aitab see suurendada treeningandmete mahtu, eriti kui märgitud andmeid on vähe. Näiteks pärast esimese etapi treeningut märgitud andmetel ennustab mudel märgiseid märgistamata kirjetel. Seejärel lisatakse need kirjed pseudo-märgistega treeningkomplekti ja mudel treenitakse edasi laiendatud komplekti peal.

Oluline on kontrollida pseudo-märgiste kvaliteeti, näiteks valides ainult need prognoosid, mille puhul mudel on kindel (tõenäosuse alusel), et mitte halvendada õppimise kvaliteeti.

Näide pseudokoodis:

# Treening märgitud andmetel
model.fit(X_labeled, y_labeled)

# Ennustamine märgistamata andmetel
pseudo_labels = model.predict(X_unlabeled)

# Usaldusväärsete prognooside valimine
confident_indices = [i for i, p in enumerate(model.predict_proba(X_unlabeled)) if max(p) > threshold]

# Pseudo-märgiste lisamine treeningkomplektile
X_extended = np.concatenate([X_labeled, X_unlabeled[confident_indices]])
y_extended = np.concatenate([y_labeled, pseudo_labels[confident_indices]])

# Mudeli täiendav treening
model.fit(X_extended, y_extended)