Sobes.tech
Middle — Senior

Pseudo-labeling дар вазифаҳои ҷадвалӣ чист?

sobes.tech AI

Ҷавоб аз AI

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)