Ի՞նչ է 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)