რა არის 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)