Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ
Посмотреть оригинал

Процесс внедрения алгоритма машинного обучения в эксплуатацию

Машинное обучение занимает лишь промежуточное положение в задаче интеллектуальной обработки данных независимо от ее природы. Более-менее полная схема процесса интеллектуальной обработки данных отображена на рис. 4.6.

Схема разработки системы интеллектуального анализа данных

Рис. 4.6. Схема разработки системы интеллектуального анализа данных

Собственно весь процесс разработки системы интеллектуального анализа данных сводится к трем этапам.

1. Изучение предметной области и анализ задачи. На данном этапе, прежде чем перейти к собственно машинному обучению, необходимо ответить на несколько вопросов, а именно: зачем нужно машинное обучение вообще — есть ли возможность обойтись эвристическими алгоритмами на основе мнения экспертов; как машинно-обученный алгоритм будет использоваться; какова структура бизнес-процессов в решаемой задаче; есть ли необходимость отойти от задачи минимизации ошибки на обучающей выборке и минимизировать некоторый особый функционал, который зависит от предметной области; насколько страшно для данной предметной области допустить ошибку?

Если после всех этих вопросов осталась необходимость в использовании машинного обучения, то следующим этаном будет сбор данных об условиях задачи — что является входным объектом задачи, что является ответом (определение типа задачи машинного обучения), какие признаки у объектов являются наиболее интересными с точки зрения ответа. Этот этап соответствует процессам сбора и предобработки данных — необходимо собрать первичную выборку объектов, на ее базе провести первичное исследование признаков, настроить процесс извлечения признаков и приведения их к чистым данным.

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

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

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

Что касается использования алгоритмов машинного обучения на практике, в процессе прототипирования и разработки приложения, то для языков семейства/аш наиболее удобным инструментом является Weka, который включает в себя одноименное приложение (рис. 4.7) и библиотеки для работы с инструментами машинного обучения непосредственно из кода.

Главное окно программы Weka Explorer с открытым набором данных

Рис. 4.7. Главное окно программы Weka Explorer с открытым набором данных

В программе Weka для большинства задач машинного обучения самыми полезными являются вкладки Preprocess и группа вкладок Classify, Cluster и Associate. Первая вкладка позволяет сделать быстрый обзор данных — на ней можно увидеть распределение выбранных значений признаков, а также минимальную статистику по признакам. Группа вкладок Classify, Cluster и Associate позволяет решить соответствующие задачи машинного обучения - классификацию данных, кластеризацию объектов в пространстве признаков и поиск среди переданных данных ассоциативных связей. Работу некоторых из имеющихся алгоритмов мы рассмотрим в гл. 5 и 6. На рис. 4.8 представлен скриншот с результатами обучения простейшего дерева принятия решений — тут же есть и оценка часто используемых метрик качества.

Кнопка Choose позволяет выбрать тог или иной алгоритм, к каждому из которых прилагается краткое описание его работы и список его параметров. Настройка параметров выполняется отдельно, в зависимости от алгоритма. На рис. 4.9 показан список параметров дерева принятия решений.

Вкладка Classify программы Weka Explorer

Рис. 4.8. Вкладка Classify программы Weka Explorer

Пример окна настроек алгоритма/48

Рис. 4.9. Пример окна настроек алгоритма/48

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

 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы