Spec-Zone.ru › scikit-learn

1.14. Обучение с частичным привлечением учителя

Обучение с частичным привлечением учителя — это ситуация, в которой некоторые образцы в обучающих данных не имеют меток. Оцениватели с частичным привлечением учителя в sklearn.semi_supervised могут использовать эти дополнительные данные без меток, чтобы лучше улавливать форму базового распределения данных и лучше обобщать результаты для новых образцов. Эти алгоритмы могут хорошо работать, когда у нас есть очень мало размеченных точек и большое количество точек без меток.

Неразмеченные элементы в y

При обучении модели методом fit важно присвоить неразмеченным точкам идентификатор наряду с размеченными данными. В этой реализации используется целочисленное значение \(-1\). Обратите внимание: если метки представлены строками, тип данных y должен быть object, чтобы он мог содержать как строки, так и целые числа.

Примечание

Для повышения качества полуобучающимся алгоритмам необходимо делать предположения о распределении набора данных. Подробнее см. здесь.

Примеры

  • Классификация текста с частичным привлечением учителя

1.14.1. Самообучение

Эта реализация самообучения основана на алгоритме Яроуски [1]. С помощью этого алгоритма заданный классификатор с учителем может работать как классификатор с частичным привлечением учителя и обучаться на данных без меток.

К SelfTrainingClassifier можно обращаться с любым классификатором, реализующим predict_proba, переданным в качестве параметра estimator. На каждой итерации estimator предсказывает метки для неразмеченных образцов и добавляет подмножество этих меток в размеченный набор данных.

Выбор этого подмножества определяется критерием отбора. Отбор можно выполнять с помощью threshold на основе вероятностей предсказания или выбирать образцы k_best в соответствии с вероятностями предсказания.

Метки, использованные при финальном обучении, а также итерация, на которой была присвоена метка каждому образцу, доступны в виде атрибутов. Необязательный параметр max_iter задаёт максимальное число выполнений цикла.

Параметру max_iter можно задать значение None, чтобы алгоритм выполнял итерации до тех пор, пока всем образцам не будут присвоены метки или на очередной итерации не будет выбрано ни одного нового образца.

Примечание

При использовании классификатора с самообучением важна калибровка классификатора.

Примеры

  • Влияние изменения порога на самообучение
  • Граница принятия решений классификаторов с частичным привлечением учителя и SVM для набора данных Iris

Литература

[1]

«Разрешение неоднозначности значений слов без учителя, соперничающее с методами обучения с учителем» Дэвид Яроуски, Труды 33-го ежегодного собрания Ассоциации компьютерной лингвистики (ACL ‘95). Ассоциация компьютерной лингвистики, Страудсберг, Пенсильвания, США, 189–196.

1.14.2. Распространение меток

Распространение меток — это общее название нескольких вариантов алгоритмов полуграфового вывода с частичным привлечением учителя.

Некоторые возможности этой модели:
  • Используется для задач классификации
  • Методы ядерного преобразования данных в альтернативные пространства размерностей

scikit-learn предоставляет две модели распространения меток: LabelPropagation и LabelSpreading. Обе модели строят граф сходства для всех объектов входного набора данных.

../_images/sphx_glr_plot_label_propagation_structure_001.png

Иллюстрация распространения меток: структура неразмеченных наблюдений согласуется со структурой классов, поэтому метку класса можно распространить на неразмеченные наблюдения обучающего набора.

LabelPropagation и LabelSpreading различаются способом модификации матрицы сходства графа и эффектом фиксации распределений меток. Фиксация позволяет алгоритму в некоторой степени изменять вес истинных размеченных данных. Алгоритм LabelPropagation выполняет жёсткую фиксацию входных меток, то есть \(\alpha=0\). Этот коэффициент фиксации можно ослабить, например до \(\alpha=0.2\): это означает, что мы всегда сохраняем 80 процентов исходного распределения меток, но алгоритм может изменить уверенность в распределении в пределах оставшихся 20 процентов.

LabelPropagation использует исходную матрицу сходства, построенную на основе данных без изменений. В отличие от неё, LabelSpreading минимизирует функцию потерь со свойствами регуляризации и поэтому часто более устойчива к шуму. Алгоритм выполняет итерации на модифицированной версии исходного графа и нормализует веса рёбер, вычисляя нормализованную матрицу лапласиана графа. Эта процедура также используется в методе спектральной кластеризации.

В моделях распространения меток реализованы два метода ядер. Выбор ядра влияет как на масштабируемость, так и на производительность алгоритмов. Доступны следующие варианты:

  • rbf (\(\exp(-\gamma |x-y|^2), \gamma > 0\)). \(\gamma\) задаётся ключевым словом gamma.
  • knn (\(1[x' \in kNN(x)]\)). \(k\) задаётся ключевым словом n_neighbors.

Ядро RBF создаёт полностью связный граф, который представлен в памяти плотной матрицей. Эта матрица может быть очень большой; в сочетании с затратами на полное матричное умножение при каждой итерации алгоритма это может привести к неприемлемо длительному времени выполнения. С другой стороны, ядро KNN создаёт разреженную матрицу, требующую гораздо меньше памяти, что позволяет значительно сократить время выполнения.

Примеры

  • Граница принятия решений классификаторов с частичным привлечением учителя и SVM для набора данных Iris
  • Окружности с распространением меток: изучение сложной структуры
  • Цифры с распространением меток: демонстрация производительности
  • Цифры с распространением меток: активное обучение

Литература

[2] Ёшуа Бенжио, Оливье Делалло, Николя Ле Ру. В книге «Обучение с частичным привлечением учителя» (2006), с. 193–216

[3] Оливье Делалло, Ёшуа Бенжио, Николя Ле Ру. Эффективное непараметрическое построение функций в обучении с частичным привлечением учителя. AISTAT 2005 https://www.gatsby.ucl.ac.uk/aistats/fullpapers/204.pdf

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/semi_supervised.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API