Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
40_алгоритмов_Python.pdf
Скачиваний:
8
Добавлен:
07.04.2024
Размер:
13.02 Mб
Скачать

188

Глава 7. Традиционные алгоритмы обучения с учителем

zz Методы оценки производительности классификаторов. zz Алгоритмы регрессии.

zzМетоды оценки производительности регрессионных алгоритмов.

Начнем с основных концепций МО с учителем.

МАШИННОЕ ОБУЧЕНИЕ С УЧИТЕЛЕМ

Машинное обучение опирается на анализ данных и создает автономные систе­ мы, которые помогают нам принимать решения (под контролем человека или же без него). Для этого используется ряд алгоритмов и методологий обнаруже­ ния и формулировки повторяющихся закономерностей в данных. Одной из самых популярных и мощных методологий, используемых в МО, является машинное обучение с учителем (supervised machine learning). Алгоритму предо­ ставляются набор входных данных, называемых признаками, и соответствующие им выходные данные, называемые целевыми переменными. Затем алгоритм ис­ пользует этот набор данных для обучения модели, которая отражает сложную взаимосвязь между признаками и целевыми переменными, представленную математической формулой. Обученная модель служит основным средством предсказания.

Предсказания делаются путем генерации целевой переменной для незнакомого набора признаков с помощью обученной модели.

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

Обратимся к примеру. Применим метод МО с учителем для обучения модели, способной сортировать набор электронных писем на нужные (называемые legit) и нежелательные (называемые spam). Для начала нам понадобятся примеры из прошлого, чтобы машина могла узнать, какое содержимое электронных писем следует классифицировать как спам. Обучение на основе контента для тексто­ вых данных — сложный процесс и требует использования алгоритма МО с учи­ телем. Некоторые алгоритмы, которые можно применить для обучения модели в нашем примере, включают деревья решений и наивные байесовские класси­ фикаторы (их мы обсудим позже).

Машинное обучение с учителем

189

Терминология машинного обучения с учителем

Прежде чем углубиться в детали, определим некоторые основные термины МО с учителем (табл. 7.1).

Таблица 7.1

Термин

Объяснение

 

 

Целевая

Переменная, которую мы прогнозируем с помощью нашей

переменная

модели. В модели обучения с учителем может быть только

(target variable)

одна целевая переменная

 

 

Метка

Если прогнозируемая целевая переменная является категори­

(label)

альной, она называется меткой

 

 

Признаки

Набор входных переменных, используемых для предсказания

(features)

метки

 

 

Конструирование

Преобразование признаков с целью подготовить их к работе

признаков

с выбранным алгоритмом МО с учителем

(feature

 

engineering)

 

 

 

Вектор признаков

Прежде чем предоставить алгоритму обучения с учителем

(feature vector)

необходимые данные, все признаки объединяются в структуру

 

данных, называемую вектором признаков

 

 

Исторические

Данные за прошлый период, используемые для формулирова­

данные

ния взаимосвязи между целевой переменной и признаками.

(historical data)

Исторические данные включают в себя примеры для обучения

 

 

Обучающие/

Исторические данные с примерами для обучения делятся на

контрольные

две части: обучающие данные (большая часть) и контрольные

данные

(меньшая)

(training/testing

 

data)

 

 

 

Модель

Математическая формулировка закономерностей, которые

(model)

наилучшим образом отражают взаимосвязь между целевой

 

переменной и признаками

 

 

Обучение

Создание модели с использованием обучающих данных

(training)

 

 

 

Тестирование

Оценка качества обученной модели с использованием

(testing)

контрольных данных

 

 

Предсказание

Использование модели для предсказания целевой переменной

(prediction)

 

 

 

190

Глава 7. Традиционные алгоритмы обучения с учителем

Модель, обученная с помощью МО с учителем, способна делать пред­ сказания, оценивая целевую переменную на основе признаков.

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

Таблица 7.2

Переменная

Термин

 

 

y

Фактическая метка

 

 

y

Предсказываемая метка

 

 

d

Общее количество примеров

 

 

b

Количество обучающих примеров

 

 

c

Количество контрольных примеров

 

 

Теперь разберем применение этих понятий на практике.

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

Допустим, количество признаков равно n, количество обучающих примеров — b, а X_train представляет собой обучающий вектор признаков. Каждый пример — это строка в векторе признаков.

Набору обучающих данных соответствует вектор признаков X_train. Если в на­ боре данных представлено b примеров, то в X_train будет b строк. Если в на­ боре данных есть n переменных, то в нем будет и n столбцов. Таким образом, набор обучающих данных имеет размерность n × b (рис. 7.1).

Рис. 7.1

Теперь предположим, что у нас имеется b примеров для обучения и c контроль­ ных примеров. Конкретный пример обучения представлен как (X, y).

Машинное обучение с учителем

191

Используем верхний индекс для указания места обучающего примера в на­ боре.

Итак, размеченный набор данных представлен как D = {X(1), y(1)), (X(2), y(2)), ..., (X(d), y(d))}.

Разделим его на две части — Dtrain и Dtest.

Таким образом, обучающий набор можно представить как Dtrain = {X(1), y(1)), (X(2), y(2)), ..., (X(b), y(b))}.

Цель обучения модели состоит в том, чтобы для любого i-го примера в обучаю­ щем наборе предсказываемое значение целевой переменной стало как можно ближе к фактическому значению в примерах.

Другими словами, y′(i) ≈ y(i); при 1 ≤ i b.

Итак, контрольный набор можно представить как Dtest = {X(1), y(1)), (X(2), y(2)), ..., (X(c), y(c))}.

Значения целевой переменной представлены вектором Y:

Y ={y(1), y(2), ..., y(m)}.

Благоприятные условия

Обучение с учителем основано на способности алгоритма обучать модель на примерах. Для этого необходимы следующие благоприятные условия.

zz Достаточное количество примеров. Алгоритму требуется достаточное коли­ чество примеров для обучения модели.

zz Закономерности в исторических данных. Примеры, используемые для обу­ чения модели, должны содержать закономерности. Вероятность наступления интересующего нас события должна зависеть от сочетания закономерностей, тенденций и событий. Без них мы имеем дело со случайными данными, ко­ торые нельзя использовать для обучения модели.

zz Допустимые предположения. При обучении модели ожидается, что предпо­ ложения, касающиеся обучающих примеров, будут действительны и в буду­ щем. Рассмотрим реальную задачу. Представим, что правительство поручи­ ло нам подготовить модель МО, которая может предсказать вероятность выдачи визы студенту. Подразумевается, что законы и процедуры не изме­ нятся к тому моменту, когда модель будет использоваться. Если же они по­