ISBN :
Возрастное ограничение : 16
Дата обновления : 17.01.2024
Задачи кластеризации и снижения размерности решают с использованием методов UL, когда множество заранее не обозначенных объектов разбивается на группы путем автоматической процедуры, исходя из свойств этих объектов [[31 - Jain A. K., Murty M. N., Flynn P. J. Data clustering: A review // ACM computing surveys (CSUR). – 1999. – Т. 31. – № 3. – С. 264–323.], [32 - Wesam Ashour Barbakh, Ying Wu, Colin Fyfe. Review of Clustering Algorithms. Non-Standard Parameter Adaptation for Exploratory Data Analysis // Studies in Computational Intelligence. – 2009. – Vol. 249. – P. 7–28.]]. Указанные методы позволяют выявлять скрытые закономерности в данных, аномалии и дисбалансы. Однако в конечном счете настройка этих алгоритмов все же требует экспертного оценивания.
Рисунок 1.3. Основные классы методов машинного обучения [[33 - Mukhamediev R. I. et al. From Classical Machine Learning to Deep Neural Networks: A Simplified Scientometric Review //Applied Sciences. – 2021. – Т. 11. – №. 12. – С. 5541.]]
Методы SL решают задачу классификации или регрессии. Задача классификации возникает тогда, когда в потенциально бесконечном множестве объектов выделяются конечные группы некоторым образом обозначенных объектов. Обычно формирование групп выполняется экспертом. Алгоритм классификации, используя эту первоначальную классификацию как образец, должен отнести следующие не обозначенные объекты к той или иной группе, исходя из свойств этих объектов.
Методы SL часто разделяются на линейные и нелинейные в зависимости от формы (гиперплоскости или гиперповерхности), разделяющей классы объектов. В двумерном случае линейные классификаторы разделяют классы единственной прямой, тогда как нелинейные классификаторы – линией (рисунок 1.4).
a)
b)
Рисунок 1.4. Линейный (а) и нелинейный (b) классификаторы
В таблице 1.1 перечислены пять классов методов машинного обучения и выделены алгоритмы, которые рассматриваются в нижеследующих разделах.
Таблица 1.1. Методы машинного обучения для анализа данных
Более детальная иерархическая классификация классических методов машинного обучения приведена в приложении 2.
1.2. Программное обеспечение для решения задач машинного обучения
Библиотеки машинного обучения можно разделить на две большие группы: базовые библиотеки, реализующие широкую гамму классических алгоритмов машинного обучения, импорт и экспорт данных и их визуализацию, и библиотеки, предназначенные для создания и работы с моделями глубокого обучения. В приведенном ниже перечне выделены пакеты, которые далее используются при выполнении задач настоящего учебника.
Базовые библиотеки:
Обработка массивов и матриц – numpy
Обработка данных, включая импорт и экспорт данных – pandas, pytables
Анализ данных – scipy, scikit-learn, opencv
Визуализация данных- matplotlib, bokeh, seaborn
Многоцелевые – sympy, cython
Пакеты для работы с моделями глубокого обучения (Deep Learning frameworks):
Caffe/Caffe2, CNTK, DL4J, Keras, Lasagne, mxnet, PaddlePaddle, TensorFlow, Theano, Torch, Trax
Таблица 1.2 кратко описывает наиболее часто применяемые пакеты программ.
Таблица 1.2. Пакеты программ, применяемые для решения задач машинного обучения
1.3. Схема настройки системы машинного обучения
Применение методов машинного обучения в задачах, для которых строгая математическая модель отсутствует, а имеются только экспертные оценки, часто бывает оптимальным способом решения. Обучаемая система, в частности, искусственная нейронная сеть, способна воспроизвести закономерность, которую сложно или невозможно формализовать. В задачах «обучения с учителем» часто затруднительно определить качество экспертных оценок. К таким задачам относятся, в частности, и задачи выявления рисков заболеваний, оценки качества продуктов, распознавания речи, предсказания уровня котировок акций на финансовых рынках, распознавания литологических типов на урановых месторождениях по данным электрического каротажа. Несмотря на то, что эксперты задают перечень актуальных признаков объектов, диапазоны измеряемых физических величин могут перекрываться, а экспертные оценки могут быть противоречивыми или содержать ошибки. В качестве такого примера на рисунке 1.5 показаны точки, соответствующие породам (по экспертным оценкам), или, иначе говоря, литологическим типам (песок, гравий, глина и т.п.), в пространстве трех видов электрического каротажа (кратко обозначены ИК, ПС, КС) для одного из урановых месторождений Казахстана.
Рисунок 1.5. Ответы экспертов в трехмерном (ИК, КС и ПС) пространстве признаков
Примечание. Подробнее о задаче классификации литологических типов на урановых месторождениях с применением методов машинного обучения рассказывается в монографии [[34 - Мухамедиев Р. И. Методы машинного обучения в задачах геофизических исследований. – Рига, 2016. – 200 с. – ISBN 978-9934-14-876-7.]].
Номера пород, приведенных на рисунке и обозначенных разными цветами, описываются в главе «Проект по созданию классификатора литологических типов на основании каротажных данных урановых скважин РК».
Видно, что точки, соответствующие разным литологическим типам, существенно перемешаны в пространстве признаков и, соответственно, не могут быть разделены простыми (например, линейными) способами.
Кроме этого, данные, представленные для классификации, могут содержать аномальные значения и ошибки, связанные с физическими особенностями процессов их получения. Соответственно, и обученная система может интерпретировать данные с ошибками.
В процессе разработки комплекса программ обработки данных инженер по данным выполняет анализ применимости методов машинного обучения, определяет способы подготовки данных для использования указанных методов, выполняет сравнение алгоритмов с целью выявления лучшего алгоритма, решающего задачу.
Общая схема настройки методов машинного обучения на решаемую задачу приведена на рисунке 1.6.
В соответствии с этой схемой нам необходимо определить саму задачу, которая должна быть решена с помощью машинного обучения. Затем собрать данные, предобработать их, выбрать алгоритмы или методы, обучить или настроить методы, оценить результаты. В задачах обучения с учителем данные должны быть разделены на тренировочную (train), тестовую (test) и для некоторых задач проверочную (validation) части. Перечисленные этапы на самом деле части итеративного процесса, который инженер по данным повторяет с целью добиться наилучшего результата работы. Этот процесс не обязательно приводит к наилучшему результату, но его цель – добиться лучшего из возможных при тех данных, которые имеются в распоряжении исследователя.
Рисунок 1.6. Циклический процесс настройки модели машинного обучения для решения задачи
1.4. Контрольные вопросы
1. Искусственный интеллект – это часть обширного направления, называемого «искусственные нейронные сети»?
2. Глубокое обучение как направление исследований и разработок – часть машинного обучения?
3. Чем отличаются алгоритмы «обучения с учителем» от кластеризации?
4. Что такое линейный классификатор и чем он отличается от нелинейного?
5. Процесс настройки модели машинного обучения – это _____?
6. Укажите типы машинного обучения, относящиеся к классу «обучение с учителем» (Supervised Learning).
7. Какие библиотеки машинного обучения используются в данном пособии?
8. Укажите типы машинного обучения, относящиеся к классу «обучение без учителя» (Unsupervised Learning).
9. Вы получили заданный набор обучающих данных. Что делать, если результаты работы алгоритма машинного обучения не удовлетворяют потребностям практики?
2. Классические алгоритмы машинного обучения
2.1. Формальное описание задач машинного обучения
Формальная постановка задачи машинного обучения (задача обучения по примерам или задача обучения с учителем) заключается в следующем [[35 - Дьяконов А. Г. Анализ данных, обучение по прецедентам, логические игры, системы WEKA, RapidMiner и MatLab (Практикум на ЭВМ кафедры математических методов прогнозирования): учебное пособие. – М.: Изд. отдел факультета ВМК МГУ им. М. В. Ломоносова, 2010.]].
Пусть имеются два пространства: Ob (пространство допустимых объектов), Y (пространство ответов или меток) и (целевая) функция.
Определено отображение y: Ob ? Y, которое задано лишь на конечном множестве объектов (обучающей выборке (прецедентах) (sample set)) размером m:
то есть известны метки объектов ob
, ob
,…, ob
. Требуется построить алгоритм A («обучить»), который по объекту ob определяет значение y(ob) или «достаточно близкое» значение, если допускается неточное решение.
Другими словами, зная значения целевой функции на обучающей выборке, требуется найти удовлетворительное приближение к ней в виде А.
При конечном множестве Y = {1, 2,…, l} задачу называют задачей классификации (на l непересекающихся классов). В этом случае можно считать, что множество X разбито на классы C
,…, C
, где Ci = {ob Ob | y(ob) = i} при i{1, 2,…, l}:
Ob = ?
Все книги на сайте предоставены для ознакомления и защищены авторским правом