Рабочий процесс и алгоритмы управляемого обучения

Что такое обучение под наблюдением?

Цель контролируемого машинного обучения состоит в том, чтобы создать модель, которая делает предсказания на основе доказательств в присутствии неопределенности. Когда адаптивные алгоритмы идентифицируют шаблоны в данных, компьютер «учится» из наблюдений. При воздействии большего количества наблюдений компьютер улучшает свою прогнозирующую эффективность.

В частности, алгоритм контролируемого обучения принимает известный набор входных данных и имеющихся откликов к данным (выходу) и trains модель, чтобы сгенерировать разумные предсказания для ответа на новые данные.

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

Можно представить весь набор входных данных как гетерогенную матрицу. Строки матрицы называются observations, examples или instances и каждая из них содержит набор измерений для субъекта (пациентов в примере). Столбцы матрицы называются predictors, attributes или features, и каждая из них является переменными, представляющей измерение, выполненное по каждому предмету (возраст, вес, рост и т.д. в примере). Можно представить данные отклика как вектор-столбец, где каждая строка содержит выход соответствующего наблюдения в входных данных (был ли у пациента сердечный приступ). Чтобы fit или train контролируемую модель обучения, выберите соответствующий алгоритм, а затем передайте ему входные и ответные данные.

Контролируемое обучение разделяется на две широкие категории: классификация и регрессия.

  • В classification цель состоит в том, чтобы назначить класс (или label) из конечного множества классов наблюдению. То есть отклики являются категориальными переменными. Приложения включают фильтры нежелательной почты, системы рекомендаций рекламы, а также распознавание изображений и речи. Предсказание того, будет ли у пациента сердечный приступ в течение года, является задачей классификации, и возможные классы true и false. Алгоритмы классификации обычно применяются к номинальным значениям отклика. Однако некоторые алгоритмы могут включать порядковые классы (см. fitcecoc).

  • В regression цель состоит в том, чтобы предсказать непрерывное измерение для наблюдения. То есть переменные откликов являются вещественными числами. Приложения включают прогнозирование цен на акции, потребления энергии или заболеваемости.

Функции обучения Statistics and Machine Learning Toolbox™ под наблюдением включают в себя объектную платформу, построенную по потоку. Можно эффективно обучать множество алгоритмов, объединять модели в ансамбль, оценивать производительности модели, перекрестно проверять и прогнозировать ответы для новых данных.

Шаги в обучении под наблюдением

Хотя существует много Statistics and Machine Learning Toolbox алгоритмов для контролируемого обучения, большинство использует один и тот же базовый рабочий процесс для получения модели предиктора. (Подробная инструкция по шагам обучения ансамблей представлена в Рамках обучения ансамблей.) Шаги для контролируемого обучения:

Подготовка данных

Все контролируемые методы обучения начинаются с матрицы входных данных, обычно называемой X здесь. Каждая строка X представляет одно наблюдение. Каждый столбец X представляет одну переменную, или предиктор. Представление отсутствующих записей с NaN значения в X. Алгоритмы контролируемого обучения Statistics and Machine Learning Toolbox могут обрабатывать NaN значения, либо игнорируя их, либо игнорируя любую строку с NaN значение.

Для данных отклика можно использовать различные типы данных Y. Каждый элемент в Y представляет ответ на соответствующую строку X. Наблюдения с отсутствующими Y данные игнорируются.

  • Для регрессии, Y должен быть числовым вектором с таким же количеством элементов, как и количество строк X.

  • Для классификации, Y может быть любым из этих типов данных. Эта таблица также содержит метод включения отсутствующих записей.

    Тип данныхОтсутствующая запись
    Числовой векторNaN
    Категориальный вектор<undefined>
    Символьный массивСтрока пространств
    Строковые массивы<missing> или ""
    Массив ячеек из символьных векторов''
    Логический вектор(Не может представлять)

Выбор алгоритма

Существуют компромиссы между несколькими характеристиками алгоритмов, такими как:

  • Скорость обучения

  • Использование памяти

  • Прогнозирующая точность на новых данных

  • Прозрачность или интерпретация, что означает, как легко вы можете понять причины, по которым алгоритм делает свои предсказания

Детали алгоритмов появляются в Характеристиках Алгоритмов Классификации. Более подробная информация об алгоритмах ансамбля приведена в разделе «Выбор применимого метода агрегации ансамбля».

Подбор модели

Функция аппроксимации, которую вы используете, зависит от алгоритма, который вы выбираете.

АлгоритмПодбор кривой
Классификационные деревьяfitctree
Деревья регрессииfitrtree
Дискриминантный анализ (классификация)fitcdiscr
k - ближайшие соседи (классификация)fitcknn
Наивный Байес (классификация)fitcnb
Машины опорных векторов (SVM) для классификацииfitcsvm
SVM для регрессииfitrsvm
Многоклассовые модели для SVM или других классификаторовfitcecoc
Классификационные ансамблиfitcensemble
Регрессионные ансамблиfitrensemble
Классификационные или регрессионные древовидные ансамбли (например, случайные леса [1])TreeBagger

Для сравнения этих алгоритмов смотрите Характеристики Классификационных Алгоритмов.

Выбор метода валидации

Три основных метода исследования точности полученных подобранных моделей:

Исследуйте подгонку и обновление до удовлетворения

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

Удовлетворяясь моделью некоторых типов, можно обрезать ее с помощью соответствующей compact функция (compact для деревьев классификации, compact для деревьев регрессии, compact для дискриминантного анализа, compact для наивного Байеса, compact для SVM, compact для моделей ECOC, compact для классификационных ансамблей и compact для регрессионных ансамблей). compact удаляет обучающие данные и другие свойства, не требуемые для предсказания, например, информацию обрезки для деревьев решений, из модели, чтобы уменьшить потребление памяти. Поскольку k модели классификации NN требуют всех обучающих данных для предсказания меток, вы не можете уменьшить размер ClassificationKNN модель.

Используйте подобранную модель для предсказаний

Чтобы предсказать классификационную или регрессионую характеристику для большинства подобранных моделей, используйте predict метод:

Ypredicted = predict(obj,Xnew)
  • obj - подобранная модель или подобранная компактная модель.

  • Xnew - новые входные данные.

  • Ypredicted - предсказанная реакция, либо классификация, либо регрессия.

Характеристики алгоритмов классификации

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

Совет

Попробуйте сначала дерево решений или дискриминант, потому что эти классификаторы быстро и легко интерпретируются. Если модели недостаточно точны, прогнозируя ответ, попробуйте другие классификаторы с более высокой гибкостью.

Для управления гибкостью см. подробные данные для каждого типа классификатора. Чтобы избежать избыточной подгонки, найдите модель меньшей гибкости, которая обеспечивает достаточную точность.

КлассификаторМногоклассовая поддержкаКатегориальная поддержка предиктораСкорость предсказанияИспользование памятиИнтерпретируемость
Деревья решений - fitctreeДаДаБыстроМаленькийЛегкий
Дискриминантный анализ - fitcdiscrДаНетБыстроМалый для линейного, большой для квадратичногоЛегкий
SVM - fitcsvmНет.
Объедините несколько двоичных классификаторов SVM с помощью fitcecoc.
ДаСреда для линейного.
Медленно для других.
Среда для линейного.
Все остальные: среда для многоклассовых, большая для двоичных.
Легкий для линейного SVM.
Жесткий для всех других типов ядра.
Наивный Байес - fitcnbДаДаСреда для простых распределений.
Медленно для ядерных распределений или высоко-размерных данных
Маленький для простых распределений.
Среда для ядерных распределений или высоко-размерных данных
Легкий
Ближайшая соседка - fitcknnДаДаМедленно для кубического.
Среда для других.
СредаТрудно
Ансамбли - fitcensemble и fitrensembleДаДаБыстрый и средний в зависимости от выбора алгоритмаОт низкого до высокого в зависимости от выбора алгоритма.Трудно

Результаты в этой таблице основаны на анализе многих наборов данных. Наборы данных в исследовании имеют до 7000 наблюдений, 80 предикторов и 50 классов. Этот список определяет условия в таблице.

Скорость:

  • Быстрый - 0,01 секунд

  • Средний - 1 секунду

  • Медленно - 100 секунд

Память

  • Малый - 1MB

  • Средний - 4MB

  • Большие - 100MB

Примечание

Таблица содержит общее руководство. Ваши результаты зависят от ваших данных и скорости вашей машины.

Категориальная поддержка предиктора

Эта таблица описывает поддержку типа данных предикторов для каждого классификатора.

КлассификаторВсе предикторы числовыеВсе предикторы категориальныеНекоторые категориальные, некоторые числовые
Деревья решенийДаДаДа
Дискриминантный анализДаНетНет
SVMДаДаДа
Наивный БайесДаДаДа
Ближайший СоседнийТолько евклидовое расстояниеТолько расстояние хеммингаНет
АнсамблиДаДа, кроме подпространственных ансамблей классификаторов дискриминантного анализаДа, кроме подпространственных ансамблей

Ссылки

[1] Breiman, L. «Random Forests». Машинное обучение 45, 2001, стр. 5-32.