Sobes.tech
Middle — Senior
32

Что такое pseudo-labeling в табличных задачах?

Компании, где спрашивали
Sensemitter

Ответ от нейросети

sobes.tech AI

Pseudo-labeling — это метод полунедостаточного обучения, который часто применяется в задачах с табличными данными. Идея в том, чтобы использовать модель, обученную на размеченных данных, для предсказания меток на неразмеченных данных, а затем добавить эти предсказанные метки (псевдо-метки) в обучающую выборку для дальнейшего обучения.

В табличных задачах с бустингом это помогает увеличить объем обучающих данных, особенно когда размеченных данных мало. Например, после первого этапа обучения модели на размеченных данных, модель предсказывает метки для неразмеченных записей. Затем эти записи с псевдо-метками добавляются в тренировочный набор, и модель дообучается на расширенной выборке.

Важно контролировать качество псевдо-меток, например, отбирая только те предсказания, в которых модель уверена (по вероятности), чтобы не ухудшить качество обучения.

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

# Обучение на размеченных данных
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]

# Добавление псевдо-меток в обучающую выборку
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)