Анализ данных • 04 сентября 2023 • 5 мин чтения

Модели машинного обучения: что это и как выбрать подходящую

Человек уже научил компьютеры писать романы и музыку, выдавать кредиты и даже диагностировать болезни. Рассказываем, какие бывают модели машинного обучения и как их выбирают.

Зачем обучать машины

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

Цель машинного обучения — увеличить точность решений и скорость их принятия. Чем подробнее вводная информация, которую получает искусственный интеллект, тем точнее будет результат.

Николай Шавлюго, тимлид, ревьюер DS
Математики изобрели способ предсказывать будущее. Они создали формулу, с помощью которой можно описать состояние и условия для объекта или процесса вчера и сегодня. А на основе этих данных — спрогнозировать поведение объекта или результат процесса завтра.
Примеры использования машинного обучения
Машинное обучение особенно актуально там, где много данных для анализа: в медицине, финансах, науке, бизнесе. Разберём несколько сфер, в которых уже активно применяют ML.
Банковская сфера
Чтобы спрогнозировать, как клиент будет выплачивать кредит, используют скоринг — систему оценки, которая учитывает текущие и прошлые долги заёмщика, наличие имущества, место работы, уровень зарплаты. Скоринг проводит искусственный интеллект, обученный на реальных примерах.
Контент
Яндекс Музыка подбирает песни, которые скорее всего понравятся пользователю. Для этого искусственный интеллект анализирует его предпочтения и запросы других пользователей с похожими вкусами.
Продажи
Допустим, предприниматель в течение недели продаёт мороженое в парке. В конце недели он собирает данные: сколько мороженого продано и какая была погода в каждый из дней. На основании этой информации искусственный интеллект анализирует, как росли или падали продажи в зависимости от температуры. Используя прогноз погоды на следующую неделю, программа может рассчитать, сколько мороженого необходимо заказать у поставщика.
Умные системы
Ещё одна умная система Яндекса — камера Алисы. Она может распознать сфотографированный объект и выдать информацию о нём на основе опубликованных в сети данных.
Сфера безопасности
Одно из важных достижений искусственного интеллекта в сфере безопасности — система распознавания лиц. Она идентифицирует человека по внешним параметрам — например, форме носа и губ, цвету глаз и волос. Такую систему применяют в аэропортах.
Медицина
Специалисты Приволжского исследовательского медицинского университета разработали приложение, которое с помощью нейросети распознает рак кожи по фото родинки.

Что нужно для обучения

Машинным обучением занимается специалист по Data Science. Он обрабатывает данные и строит модели для искусственного интеллекта. Вот что должен уметь специалист для того, чтобы обучать машины:

● структурировать информацию;
● логически мыслить, анализировать;
● знать язык программирования Python — на нём пишут алгоритмы для обработки данных;
● знать Java и Scala — на них написаны инструменты для обработки данных, ими можно овладеть в процессе работы;
● владеть SQL — это язык запросов, который используют для получения информации из базы данных;
● уметь обращаться с инструментами для работы с базами данных — например, с экосистемой Hadoop для создания озёр данных.

Чтобы обучить машину, нужно сначала собрать данные, на основе которых компьютер будет выдавать решения. Это может быть любая информация, связанная с объектом моделирования: цифры, картинки или текст. Задача специалиста по машинному обучению — понять, какая информация обязательна для анализа, а какая нет. Научиться этому можно на курсах Практикума.

Николай Шавлюго
Первый шаг — изучить объект моделирования, его внутреннюю и внешнюю среду. Нужно понять, как взаимодействуют эти три параметра. Как и в медицине, прежде чем ставить диагноз, необходимо изучить организм и влияние внешних факторов.
Для анализа можно использовать диаграмму Исикавы или метод «рыбьей кости»: диаграмма выглядит как рыбий скелет, его голова — это проблема, хвост — вывод, нижние кости — факты, а верхние — причины.
Диаграмма Исикавы помогает определить причинно-следственные связи между факторами и последствиями

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

1. Сбор данных: информации, связанной с объектом моделирования.
2. Исследование и структурирование данных. Проще говоря, нужно показать машине правильные и неправильные ответы. Например, систему видеофиксации нарушений на дорогах сначала обучают на реальных кейсах.
3. Предобработка данных: специалист перепроверяет информацию и исправляет ошибки.
4. Загрузка данных в виде кода в модель обучения — про них расскажем в следующем разделе.

Материал по теме:

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

Что такое модели машинного обучения

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

Существует три вида моделей ML, и у каждой свои параметры, по которым она обрабатывает информацию:

1. С учителем. Компьютеру предоставляют набор размеченных данных (датасет), на их основе он находит решение задач.
2. Без учителя. Модель получает неразмеченные данные без оценки и пытается сама найти ответ.
3. С подкреплением. Машина принимает решение в зависимости от действий пользователя, как в шахматах.

Выбор модели зависит от того, какую задачу она должна решить
Материал по теме:

Три метода обучения нейросетей: с учителем, без учителя, с подкреплением

Модели машинного обучения также делятся по типу задач, которые они решают:

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

Какие бывают модели машинного обучения

Рассмотрим примеры моделей машинного обучения с учителем. Каждую из них можно использовать для разных целей —то есть одну и ту же задачу можно решить разными способами.
Линейная регрессия (регрессионная модель)
Показывает связь нескольких переменных ― как результат Y будет зависеть от одной или нескольких переменных х. Работает, если между параметрами и результатом наблюдается линейная связь.

Вернёмся к примеру с продавцом мороженого. Есть три переменных: количество проданного товара, день недели и температура воздуха. Исходя из этих данных с помощью регрессионной модели можно спрогнозировать, сколько мороженого закупать у поставщика на следующую неделю.

Линейная регрессия показывает, как результат будет зависеть от переменных, между которыми есть линейная связь
Логистическая регрессия (модель классификации)
Показывает взаимосвязь переменных и её результат в линейной зависимости. В отличие от линейной регрессии, зависимая переменная имеет только два значения, например — да / нет или 1 / 0.

Когда пациент звонит в колл-центр клиники, автоответчик называет ему цифры и условия, которые им соответствуют: 1 — стоматология, 2 — детское отделение, 3 — взрослое отделение, 4 — консультация оператора. Если пациент нажимает кнопку «2», ему дают новый выбор: 1 — записаться на консультацию, 2 — получить справку, 3 — отменить приём, и так далее до тех пор, пока клиент не получит желаемый результат.

Регрессионно-классификационные модели

Дерево решений. В этой модели принятие решений зависит от «узлов» и «листьев». На вершине дерева решений — начальный узел, в него попадает вся выборка. Затем она проверяется на выполнение условия или наличие признака. И так до тех пор, пока не будет получен результат.

Эту модель используют, например, в банке, чтобы решить, одобрить кредит или нет. Если возраст клиента — менее 21 года, алгоритм выдаёт значение «нет». Если возраст 21 год и больше, алгоритм выдаёт значение «да» и отправляет к следующему параметру — уровень дохода и так далее.

Материал по теме:

Для чего начинающим аналитикам нужны деревья решений

Модель случайного леса. Более усовершенствованная версия модели «Дерево решений» — ей реже нужна перенастройка. Состоит из нескольких деревьев решений, связанных между собой.

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

Множество деревьев решений связываются между собой и создают «случайный лес»

Наивный байесовский классификатор. Основана на теореме Бейса. Помогает понять, каким будет событие X, если наступит связанное с ним событие Y. В классификации Бейса X — это класс объекта, Y — его признак. Недостаток модели в её предположении, что объекты условно независимы: в реальности это может быть не так.

Чтобы определить, какие из электронных писем мошеннические, а какие — нет, регрессионная модель анализирует письмо, выводит два результата — «спам» или «не спам», и сортирует письма по соответствующим папкам.

K-Ближайшие соседи. Популярная и простая в использовании модель, которая, правда, плохо работает с большими объемами данных. Суть её в том, что объекту моделирования присваивают свойства тех объектов, которые соседствуют с ним и свойства которых уже известны.

При наличии базы данных о предпочтениях пользователей в интернет-магазине можно использовать модель «K-Ближайшие соседи» для предсказания, какой товар может заинтересовать конкретного покупателя. Модель будет искать пользователей с похожими предпочтениями и рекомендовать товары, которые им понравились.

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

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

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

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

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

Например, классификация изображений мозга на основе МРТ-сканов. Метод может быть обучен на большом количестве признаков (размеры опухоли, форма и текстура ткани) и использоваться для разделения изображений на две категории: здоровые и больные.

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

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

Материал по теме:

Для чего строят и обучают нейросети в IT

Подход к выбору модели машинного обучения

Выбор вида модели машинного обучения зависит от двух факторов:

1. Исходные данные. Они могут быть числовые и категориальные — в виде текста. Объект моделирования тоже может быть числовым или текстовым.

2. Количество данных. Например, для больших объемов информации нет смысла использовать логистическую регрессию.

Николай Шавлюго
Выбор модели зависит от структуры, размера и качества данных. От этих же факторов зависит и результат моделирования: если данные непроверенные или их мало, то результат будет неэффективным. Можно выбрать одну или несколько моделей и протестировать их. Лучшей признаётся та модель, у которой меньше ошибок.
Качество модели машинного обучения зависит от того, для какой задачи её применяют. Линейные модели плохо работают с нелинейными связями между факторами, поэтому начали развиваться «лесные» модели. А когда появилась потребность обрабатывать большие данные и «лесные» уже не справлялись, появились более современные модели — CatBoost, XGBoost.

Совет эксперта

Николай Шавлюго
В область машинного обучения стоит идти тем, кто хочет усовершенствовать окружающий мир, процессы, явления. Специалисты по Data Science знают: любую систему всегда можно улучшить. Это очень мотивирует двигаться дальше, развиваться в профессии. Перспективы для этого огромные.
Статью подготовили:
Николай Шавлюго
Яндекс Практикум
Тимлид, ревьюер DS
Надежда Низамова
Яндекс Практикум
Редактор
Анастасия Павлова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Fri Nov 15 2024 12:50:45 GMT+0300 (Moscow Standard Time)