Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Васильев Ю. - Python для data science (Библиотека программиста) - 2023.pdf
Скачиваний:
7
Добавлен:
07.04.2024
Размер:
7.21 Mб
Скачать

250      Глава 12. Машинное обучение для анализа данных

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

Обучение без учителя

Обучение без учителя — это метод машинного обучения, в котором отсутствует этап обучения. Такие приложения получают входные данные без соответствующих им выходных значений, на которых можно обучаться. В этом смысле модели МО без учителя должны работать самостоятельно, обнаруживая скрытые закономерности во входных данных.

Отличным примером обучения без учителя является анализ ассоциативных правил (association analysis), когда приложение на базе МО определяет элементы в наборе, которые имеют сходство друг с другом. В главе 11 мы провели такой анализ на наборе данных о транзакциях, выявив товары, которые обычно приобретают вместе. Мы использовали алгоритм Apriori, которому не нужны выходные данные для обучения; вместо этого он принимает все данные о транз­ акциях в качестве входных значений и ищет в них часто встречающиеся наборы товаров, таким образом представляя собой обучение без учителя.

Как работает машинное обучение

Типичный пайплайн МО состоит из трех основных компонентов:

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

новые, неизвестные данные для обработки.

В следующих разделах более подробно рассматривается каждый из этих компонентов.

Данные для обучения

Машинное обучение исходит из того, что компьютерные системы могут обу­ чаться, а для обучения любому алгоритму МО требуются данные. Как мы уже обсуждали, природа этих данных варьируется в зависимости от того, с какой моделью мы имеем дело: с учителем или без учителя. В случае машинного

Как работает машинное обучение      251

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

Хотя для всех приложений на основе МО требуются данные, формат этих данных зависит от алгоритма. Множество алгоритмов обучается на основе датасета, данные в котором организованы в виде таблицы, где строки представляют собой экземпляры, например отдельные объекты или определенные моменты времени, а столбцы — признаки этих экземпляров. Классическим примером является датасет Iris1. Он включает 150 строк, каждая из которых содержит наблюдения об отдельном экземпляре цветка ириса. Вот так выглядят первые четыре строки датасета:

sepal length

sepal width

petal length

petal width

species

5.1

3.5

1.4

0.2

Iris-setosa

4.9

3.0

1.4

0.2

Iris-setosa

4.7

3.2

1.3

0.2

Iris-setosa

4.6

3.1

1.5

0.2

Iris-setosa

 

 

 

 

 

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

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

(butter, cheese)

(cheese, pasta, bread, milk) (milk, cheese, eggs, bread, butter) (bread, cheese, butter)

1 https://archive.ics.uci.edu/ml/datasets/Iris

252      Глава 12. Машинное обучение для анализа данных

Помимо вопроса о том, как структурированы данные машинного обучения, существует проблема зависимости типа используемых данных от алгоритма. Как видно из предыдущих примеров, некоторые алгоритмы МО работают с числовыми или текстовыми данными. Однако существуют и алгоритмы, предназначенные для работы с фото-, видео- и аудиоданными.

Статистическая модель

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

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

Itemset

Support

--------------

-------

butter, cheese

0.75

bread, cheese

0.75

milk, bread

0.50

bread, butter

0.50

 

 

В данном примере показаны наборы, состоящие только из двух товаров. Фактически после вычисления метрики поддержки для каждого возможного набора из двух товаров алгоритм Apriori переходит к анализу наборов из трех позиций, затем из четырех и т. д. После этого алгоритм использует значения поддержки всех наборов товаров (любого размера), чтобы сформировать список часто встречающихся наборов.

Неизвестные данные

В машинном обучении с учителем после обучения модели на имеющихся данных можно применить ее к новым, неизвестным данным. Однако перед этим,