3.2. Машинное обучение на практике
CRISP-DM
Постановка задач машинного обучения математически проста. Любая задача классификации, регрессии или кластеризации — это по сути, обычная оптимизационная задача с ограничениями. Чтобы решение задачи не превратилось в бесконечный поиск «золотого» решения, а было прогнозируемым процессом, придерживайтесь четкой последовательности действий. Ее описывают различные методологии. Одна из них — CRISP-DM.

Cross Industry Standard Process for Data Mining (CRISP-DM) — стандарт, описывающий общие процессы аналитики данных и подходы к ней, используемые в проектах независимо от конкретной задачи и индустрии.
Стандарт был очень популярен в 2010—2014 годы. У него есть две особенности:
Внимание к бизнес-целям компании. Это позволяет руководству воспринимать проекты по анализу данных не как «песочницу» для экспериментов, а как полноценный элемент бизнес-процессов компании.
01
Детальное документирование каждого шага. Хорошо задокументированный процесс позволяет менеджменту лучше понимать суть проекта, а аналитикам — больше влиять на принятие решений.
02
Согласно CRISP-DM, аналитический проект состоит из шести основных этапов, выполняемых последовательно. Каждый этап делится на задачи. На выходе каждой задачи должен получаться определенный результат.
Методология не жесткая. Она допускает вариации в зависимости от конкретного проекта — можно возвращаться к предыдущим шагам, можно какие-то шаги пропускать, если для решаемой задачи они не важны. Кроме того, она одинаково применима как для внутренних проектов, так и для ситуаций, когда проект делается консультантами.

Далее мы подробно рассмотрим каждый этап CRISP-DM.
KDD
Data mining, или обнаружение знаний в базе данных (knowledge discovery in databases, KDD), — метод, часто используемый для:
анализа больших массивов данных с помощью статистических и математических методов
поиска скрытых закономерностей или тенденций
извлечения ценности из закономерностей или тенденций
Автоматизируя процесс, инструменты data mining могут просматривать базы данных и эффективно выявлять скрытые закономерности.
Для получения информации на основе данных data mining активно используют в различных сферах, включая:
розничную торговлю
финансы
здравоохранение
транспорт
телекоммуникации
электронную коммерцию и т. д.
Data mining может помочь в следующих задачах.
Сегментация клиентов

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

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

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

Data mining помогает в построении моделей для обнаружения мошенничества. Собирая образцы мошеннических и правдивых отчетов, предприятия получают право определять, какие операции являются подозрительными.
Обнаружение паттернов в производстве

В обрабатывающей промышленности data mining используется, чтобы помочь в проектировании систем путем выявления взаимосвязи между архитектурой продукта, профилем и потребностями клиентов. Добыча данных также может предсказать сроки разработки продукции и затраты.
Еще одна методология, которую стоит изучить, — SEMMA.
SEMMA
SEMMA — это общая методология и последовательность шагов интеллектуального анализа данных (data mining), предложенная американской компанией SAS — одним из крупнейших производителей программного обеспечения для статистики и бизнес-аналитики.
В отличие от CRISP-DM, SEMMA фокусируется на задачах моделирования, не затрагивая бизнес-аспекты. Она не навязывает жестких правил, однако, используя ее, разработчик располагает научными методами:
построения концепции проекта
реализации проекта
оценки результатов проектирования
В чем преимущества подхода SEMMA?
Сочетает структурированность процесса data mining и логическую организацию инструментальных средств для поддержки каждой операции обработки и анализа данных.
Включает диаграммы процессов обработки данных, что упрощает применение методов статистического исследования и визуализации.
Позволяет выбирать и преобразовывать наиболее значимые переменные, чтобы создавать с ними модели, что улучшает предсказание результатов, помогает подтвердить точность модели и подготовить ее к развертыванию.
Таким образом, CRISP-DM — наиболее полная и детальная методология интеллектуального анализа данных, а SEMMA — это структура целевых функций в инструменте SAS Enterprise Miner, которая затрагивает исключительно технические аспекты моделирования, не касаясь бизнес-постановки задачи. Поэтому на практике в большинстве случаев используется именно подход CRISP-DM.
TDSP
Процесс обработки и анализа данных группы (TDSP) — это гибкая, итеративная методика обработки и анализа данных для эффективного предоставления решений прогнозной аналитики и интеллектуальных приложений. Он предоставляет начальный набор средств и скриптов для быстрого внедрения и позволяет автоматизировать задачи жизненного цикла обработки и анализа данных, такие как просмотр данных и моделирование базовых показателей. Его отличает распределение ролей и более подробное изучение этапов цикла.

Он разработан компанией Microsoft. Схема сложнее, но здесь есть все те же этапы, что и в CRISP-DM. Кроме этого, здесь прописаны роли в команде.

CRISP-DM — базовый вариант, наиболее часто распространенный. В TDSP же прописаны все возможные случаи. Его стоит изучить тем, кто знаком с CRISP-DM и хочет углубить знания.
Ключевые компоненты TDSP:
определение жизненного цикла обработки и анализа данных
стандартная структура проекта
инфраструктура и ресурсы, рекомендуемые для проектов обработки и анализа данных
средства и служебные программы, рекомендуемые для выполнения проекта
TDSP предоставляет жизненный цикл, позволяя структурировать разработку проектов по обработке и анализу данных.

Если вы используете другой жизненный цикл обработки и анализа данных, например CRISP-DM, KDD или собственный корпоративный процесс, вы все равно можете использовать TDSP в нужном контексте разработки.
Жизненный цикл TDSP представляет основные этапы, которые обычно выполняются проектами, часто итеративно:
анализ потребностей бизнеса
получение и анализ данных
моделирование
развертывание
Ниже представлена схема жизненного цикла TDSP.
Типы машинного обучения
Различают три типа машинного обучения.
Обучение с учителем, или контролируемое обучение (supervised learning)
Обучение с учителем — наиболее распространенный и изученный тип машинного обучения, ведь легче обучить машину с выбранными данными. В зависимости от того, что вы хотите предсказать, обучение с учителем может использоваться для решения двух типов задач: задача регрессии и задача классификации.

Задача регрессии
Если вы хотите спрогнозировать непрерывные значения например, попытаться спрогнозировать стоимость дома или погоду на улице в градусах, используйте регрессию. Этот тип задач не имеет определенного ограничения значений, поскольку значение может быть любым числом без ограничений.

Задача классификации
Если требуется спрогнозировать дискретные значения, например распределить что-либо по категориям, используйте классификацию. Вопрос «Будет ли человек делать покупку?» имеет ответ, который попадает в две конкретные категории: «да» и «нет». Число допустимых ответов конечно.
Классификация может быть:
двухклассовая (бинарная) — когда число классов равно двум
многоклассовая — когда число классов больше двух
Обучение без учителя (unsupervised learning)
Поскольку у машин нет отмеченных данных для обучения, цель машинного обучения без учителя — обнаружение закономерностей в данных и их группировка.

Обучение без учителя решает 2 типа задач: задача кластеризации и задача поиска ассоциативных правил.

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

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

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

Этот подход подобен процессу обучения нашего мозга и имеет множество практических применений, включая обучение машин в играх, автономное управление роботами, разработку алгоритмов управления трафиком и даже создание интеллектуальных агентов для финансовых анализов и решения задач оптимизации.
Этапы обучения модели
Есть 3 базовые выборки, на которые нужно делить процесс обучения модели:
тренировочная
валидационная
тестовая
Изначально есть два набора:
тренировочный, чтобы обучить модель
тестовый, чтобы проверить правильность работы модели до встраивания в бизнес-процесс
Но существует эффект «переобучения модели»: тренировочный набор модель освоила на 100%, а на тестовом показывает посредственные результаты. Чтобы не допустить этого, набор разбивают на тренировочный и валидационный. Валидационный позволяет проверить гиперпараметры модели — это отложенная выборка, способная переобучаться, но не значительно.

Феномен переобучения заключается в том, что модель на данные, которые видела, реагирует хорошо. Но на незнакомые — никак не отвечает. В тренировочной выборке переобучение большое, в валидационной — среднее, в тестовой — малое.
Метрики классификации
Задачи машинного обучения с учителем состоят в восстановлении зависимости между парами по данным, доступным для анализа. Однако модель может ошибаться на некоторых объектах. Задача специалиста по машинному обучению — подобрать критерий, который позволит сравнивать модели.
Представьте, что мы хотим:
решить, сколько коробок с бананами нужно привезти в магазин, чтобы минимизировать количество товара, который не будет выкуплен
сделать пользователя счастливее от работы с сервисом, обеспечить стабильный прогнозируемый доход
решить, нужно ли направить человека на дополнительное обследование
В каждом конкретном случае может возникать целая иерархия метрик — внешних, объективных критериев качества, обычно зависящих не от параметров модели, а от предсказанных меток. Они бывают двух видов.
Представьте, что вы строите защиту модели, вкладываете деньги. Первая версия модели давала точность в 80% — на нее вы тратите месяц разработки. Чтобы добиться 90%, вам понадобится три месяца. Важно оценивать результаты работы модели и бизнес-метрики, особенно если мы говорим о ситуации невозврата кредита. Если мы предсказываем, что человек отдаст кредит, а этого не происходит, объем кредита теряется. В ином случае теряется доля процентов. Поэтому важно балансировать. Зная ошибки модели, мы можем умножить их на деньги и сделать так, чтобы бизнес-модель сходилась. Это позволит нам при применении модели машинного обучения выйти в плюс, а не в минус.

Первым критерием качества метрики является accuracy — доля объектов, для которых мы правильно предсказали класс. Или сопряженная ей метрика — доля ошибочных классификаций (error rate).

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

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

Матрица ошибок — это показатель успешности классификации, где классов два или более. Это таблица с 4 различными комбинациями сочетаний прогнозируемых и фактических значений.
Познакомившись чуть внимательнее с этой метрикой, можно заметить, что у нее есть недостатки. Она не учитывает:
дисбаланс классов
цену ошибки на объектах разных классов
Давайте рассмотрим значения ячеек (истинно позитивные, ошибочно позитивные, ошибочно негативные, истинно негативные) с помощью «беременной» аналогии.
Предположим, вы пытаетесь что-то вспомнить, например сколько синих зонтиков вы видели в жизни. Recall определяет, сколько раз вы смогли запомнить эту ситуацию. Например, вы решили, что видели такие зонтики 10 раз (а на самом деле — всего 8, остальные 2 случая вы перепутали), тогда получается, что вы вспомнили все ситуации, которые с вами случались, и recall равен 100%.

Precision же помогает определить, сколько ситуаций вы определили правильно. В нашем примере из 10 воспоминаний только 8 были правильными. Поэтому ваша точность составляет около 80%.
Итак, что важнее? Это зависит от целей. Если вы используете технологии машинного обучения для того, чтобы идентифицировать рак по фотографиям родинок, вполне разумно как можно меньше говорить пациентам о том, что у них рак (потому что вероятность ошибки довольно высока).

Дело в том, что эти две функции не могут работать одновременно, должен быть компромисс: все будет либо крайне радужно, либо обманчиво. Звучит довольно сложно, но при решении конкретной задачи определить, что использовать, будет проще.
Map of Computer Science
Вы можете изучить карту компьютерных наук. Она разделена на 8 крупных частей, расположенных сверху вниз. Каждый раздел представлен отдельным цветом. Верхние разделы состоят из фундаментальных тем, от которых можно отталкиваться при изучении более специализированных тем, упомянутых в нижних разделах.

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

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

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

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

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

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