Процесс внедрения алгоритма машинного обучения в эксплуатацию
При этом не только результаты оценки модели могут стать решающим фактором в пользу той или иной модели. Зачастую важна интерпретируемость полученной модели, т. е. то, насколько ее пользователь сможет понимать, почему модель приняла именно такое решение, а не какое другое. Также немаловажен такой параметр, как производительность модели, хотя он относится по большей части к этапу эксплуатации… Читать ещё >
Процесс внедрения алгоритма машинного обучения в эксплуатацию (реферат, курсовая, диплом, контрольная)
Машинное обучение занимает лишь промежуточное положение в задаче интеллектуальной обработки данных независимо от ее природы. Более-менее полная схема процесса интеллектуальной обработки данных отображена на рис. 4.6.
Рис. 4.6. Схема разработки системы интеллектуального анализа данных.
Собственно весь процесс разработки системы интеллектуального анализа данных сводится к трем этапам.
1. Изучение предметной области и анализ задачи. На данном этапе, прежде чем перейти к собственно машинному обучению, необходимо ответить на несколько вопросов, а именно: зачем нужно машинное обучение вообще — есть ли возможность обойтись эвристическими алгоритмами на основе мнения экспертов; как машинно-обученный алгоритм будет использоваться; какова структура бизнес-процессов в решаемой задаче; есть ли необходимость отойти от задачи минимизации ошибки на обучающей выборке и минимизировать некоторый особый функционал, который зависит от предметной области; насколько страшно для данной предметной области допустить ошибку?
Если после всех этих вопросов осталась необходимость в использовании машинного обучения, то следующим этаном будет сбор данных об условиях задачи — что является входным объектом задачи, что является ответом (определение типа задачи машинного обучения), какие признаки у объектов являются наиболее интересными с точки зрения ответа. Этот этап соответствует процессам сбора и предобработки данных — необходимо собрать первичную выборку объектов, на ее базе провести первичное исследование признаков, настроить процесс извлечения признаков и приведения их к чистым данным.
2. Машинное обучение. Выбор алгоритма во многом зависит от свойств признаков в данных. Обычно на этом этапе формируются обучающая и тестовая выборки (если последнее возможно, если нет — проводится кросс-валидация) и выбирается несколько алгоритмов машинного обучения, которые в дальнейшем сравниваются между собой. Как раз на этом этапе производится обучение и построение кривых обучения, оценка получаемых моделей, выбор наилучшей.
При этом не только результаты оценки модели могут стать решающим фактором в пользу той или иной модели. Зачастую важна интерпретируемость полученной модели, т. е. то, насколько ее пользователь сможет понимать, почему модель приняла именно такое решение, а не какое другое. Также немаловажен такой параметр, как производительность модели, хотя он относится по большей части к этапу эксплуатации. После выбора модели проводится ее финальная оценка на приемочной выборке и решение относительно необходимости ее переобучения или выбора другой.
3. Эксплуатация. Последний этап работы с моделью заключается в перенесении прототипного кода модели на необходимую платформу (например, на язык Java) и ее оптимизации. На данном этапе необходимо позаботиться о мониторинге качества модели в реальном времени. Оптимальным решением для этого этана будет периодически пересобирать приемочную выборку и проводить переоценку модели. Некоторые из практических задач предполагают наличие обратной связи с пользователями. Например, в задаче оценки релевантности документа предпочтение пользователя, т. е. положение документа, который он выбрал, отличное от предсказанной первой позиции в ответе поисковой системы, является сигналом о возможно ошибочном ранжировании, что можно учесть при переобучении модели.
Что касается использования алгоритмов машинного обучения на практике, в процессе прототипирования и разработки приложения, то для языков семейства/аш наиболее удобным инструментом является Weka, который включает в себя одноименное приложение (рис. 4.7) и библиотеки для работы с инструментами машинного обучения непосредственно из кода.
Рис. 4.7. Главное окно программы Weka Explorer с открытым набором данных В программе Weka для большинства задач машинного обучения самыми полезными являются вкладки Preprocess и группа вкладок Classify, Cluster и Associate. Первая вкладка позволяет сделать быстрый обзор данных — на ней можно увидеть распределение выбранных значений признаков, а также минимальную статистику по признакам. Группа вкладок Classify, Cluster и Associate позволяет решить соответствующие задачи машинного обучения — классификацию данных, кластеризацию объектов в пространстве признаков и поиск среди переданных данных ассоциативных связей. Работу некоторых из имеющихся алгоритмов мы рассмотрим в гл. 5 и 6. На рис. 4.8 представлен скриншот с результатами обучения простейшего дерева принятия решений — тут же есть и оценка часто используемых метрик качества.
Кнопка Choose позволяет выбрать тог или иной алгоритм, к каждому из которых прилагается краткое описание его работы и список его параметров. Настройка параметров выполняется отдельно, в зависимости от алгоритма. На рис. 4.9 показан список параметров дерева принятия решений.
Рис. 4.8. Вкладка Classify программы Weka Explorer.
Рис. 4.9. Пример окна настроек алгоритма/48
После настройки и обучения алгоритма его можно сохранить и использовать из кода. Примеры использования можно посмотреть на сайте разработчика инструмента.