Sobes.tech
Middle — Senior

Šta je pseudo-labeling u tabelarnim zadacima?

sobes.tech АИ

Одговор од АИ

Pseudo-labeling је метода полунадзорног учења која се често примењује у задацима са табеларним подацима. Идеја је да се модел који је обучен на означеним подацима користи за предвиђање ознака на неозначеним подацима, а затим се ове предвиђене ознаке (pseudo-ознаке) додају у скуп за обуку за даље учење.

У задацима са boosting-ом и табеларним подацима, ово помаже да се повећа количина података за обуку, посебно када је мало означених података. На пример, након прве фазе тренинга модела на означеним подацима, модел предвиђа ознаке за неозначене записе. Затим се ти записи са pseudo-ознакама додају у скуп за обуку, и модел се даље тренира на овом проширеном скупу.

Важно је контролисати квалитет pseudo-ознака, на пример, бирајући само оне прогнозе у којима је модел сигуран (по вероватноћи), како не би смањио квалитет учења.

Пример у псевдокоду:

# Тренинг на означеним подацима
model.fit(X_labeled, y_labeled)

# Предвиђање на неозначеним подацима
pseudo_labels = model.predict(X_unlabeled)

# Избор поузданих прогноза
confident_indices = [i for i, p in enumerate(model.predict_proba(X_unlabeled)) if max(p) > threshold]

# Додавање pseudo-ознака у скуп за обуку
X_extended = np.concatenate([X_labeled, X_unlabeled[confident_indices]])
y_extended = np.concatenate([y_labeled, pseudo_labels[confident_indices]])

# Даље тренирање модела
model.fit(X_extended, y_extended)