Машинное обучение (machine learning, ML) — это процесс, при котором компьютерная программа с помощью искусственного интеллекта учится решать задачи на основе данных. Она находит определённые закономерности и использует их для принятия решений. Так работает распознавание дорожных знаков и объектов в беспилотных автомобилях.
Цель машинного обучения — увеличить точность решений и скорость их принятия. Чем подробнее вводная информация, которую получает искусственный интеллект, тем точнее будет результат.
Банковская сфера | Чтобы спрогнозировать, как клиент будет выплачивать кредит, используют скоринг — систему оценки, которая учитывает текущие и прошлые долги заёмщика, наличие имущества, место работы, уровень зарплаты. Скоринг проводит искусственный интеллект, обученный на реальных примерах. |
---|---|
Контент | Яндекс Музыка подбирает песни, которые скорее всего понравятся пользователю. Для этого искусственный интеллект анализирует его предпочтения и запросы других пользователей с похожими вкусами. |
Продажи | Допустим, предприниматель в течение недели продаёт мороженое в парке. В конце недели он собирает данные: сколько мороженого продано и какая была погода в каждый из дней. На основании этой информации искусственный интеллект анализирует, как росли или падали продажи в зависимости от температуры. Используя прогноз погоды на следующую неделю, программа может рассчитать, сколько мороженого необходимо заказать у поставщика. |
Умные системы | Ещё одна умная система Яндекса — камера Алисы. Она может распознать сфотографированный объект и выдать информацию о нём на основе опубликованных в сети данных. |
Сфера безопасности | Одно из важных достижений искусственного интеллекта в сфере безопасности — система распознавания лиц. Она идентифицирует человека по внешним параметрам — например, форме носа и губ, цвету глаз и волос. Такую систему применяют в аэропортах. |
Медицина | Специалисты Приволжского исследовательского медицинского университета разработали приложение, которое с помощью нейросети распознает рак кожи по фото родинки. |
Машинным обучением занимается специалист по Data Science. Он обрабатывает данные и строит модели для искусственного интеллекта. Вот что должен уметь специалист для того, чтобы обучать машины:
● структурировать информацию;
● логически мыслить, анализировать;
● знать язык программирования Python — на нём пишут алгоритмы для обработки данных;
● знать Java и Scala — на них написаны инструменты для обработки данных, ими можно овладеть в процессе работы;
● владеть SQL — это язык запросов, который используют для получения информации из базы данных;
● уметь обращаться с инструментами для работы с базами данных — например, с экосистемой Hadoop для создания озёр данных.
Чтобы обучить машину, нужно сначала собрать данные, на основе которых компьютер будет выдавать решения. Это может быть любая информация, связанная с объектом моделирования: цифры, картинки или текст. Задача специалиста по машинному обучению — понять, какая информация обязательна для анализа, а какая нет. Научиться этому можно на курсах Практикума.
Процесс работы с данными для машинного обучения проходит в четыре этапа:
1. Сбор данных: информации, связанной с объектом моделирования.
2. Исследование и структурирование данных. Проще говоря, нужно показать машине правильные и неправильные ответы. Например, систему видеофиксации нарушений на дорогах сначала обучают на реальных кейсах.
3. Предобработка данных: специалист перепроверяет информацию и исправляет ошибки.
4. Загрузка данных в виде кода в модель обучения — про них расскажем в следующем разделе.
Модель машинного обучения — это метод обучения компьютера. Машина начинает думать и действовать как человек, только точнее. За основу метода берут данные об объекте: они поступают в модель, а выходят из неё уже в виде прогноза — готового решения.
Существует три вида моделей ML, и у каждой свои параметры, по которым она обрабатывает информацию:
1. С учителем. Компьютеру предоставляют набор размеченных данных (датасет), на их основе он находит решение задач.
2. Без учителя. Модель получает неразмеченные данные без оценки и пытается сама найти ответ.
3. С подкреплением. Машина принимает решение в зависимости от действий пользователя, как в шахматах.
Модели машинного обучения также делятся по типу задач, которые они решают:
● Регрессионные модели — предсказывают числовую характеристику объекта. Например, стоимость квартиры исходя из её площади или количество людей в аэропорту в зависимости от дня недели.
● Модели классификации — предсказывают категорию объекта по заранее заданным параметрам. Например, диагноз пациента на основе истории болезни, результатов анализов, симптомов.
● Регрессионно-классификационные модели — умеют решать оба типа задач.
Вернёмся к примеру с продавцом мороженого. Есть три переменных: количество проданного товара, день недели и температура воздуха. Исходя из этих данных с помощью регрессионной модели можно спрогнозировать, сколько мороженого закупать у поставщика на следующую неделю.
Когда пациент звонит в колл-центр клиники, автоответчик называет ему цифры и условия, которые им соответствуют: 1 — стоматология, 2 — детское отделение, 3 — взрослое отделение, 4 — консультация оператора. Если пациент нажимает кнопку «2», ему дают новый выбор: 1 — записаться на консультацию, 2 — получить справку, 3 — отменить приём, и так далее до тех пор, пока клиент не получит желаемый результат.
● Дерево решений. В этой модели принятие решений зависит от «узлов» и «листьев». На вершине дерева решений — начальный узел, в него попадает вся выборка. Затем она проверяется на выполнение условия или наличие признака. И так до тех пор, пока не будет получен результат.
Эту модель используют, например, в банке, чтобы решить, одобрить кредит или нет. Если возраст клиента — менее 21 года, алгоритм выдаёт значение «нет». Если возраст 21 год и больше, алгоритм выдаёт значение «да» и отправляет к следующему параметру — уровень дохода и так далее.
● Модель случайного леса. Более усовершенствованная версия модели «Дерево решений» — ей реже нужна перенастройка. Состоит из нескольких деревьев решений, связанных между собой.
Модель можно использовать для анализа данных о здоровье пациентов и факторов, которые могут влиять на заболеваемость: возраст, вес, пол. Она будет строить несколько деревьев решений, каждое из которых будет определять важность конкретного фактора в предсказании заболеваемости.
● Наивный байесовский классификатор. Основана на теореме Бейса. Помогает понять, каким будет событие X, если наступит связанное с ним событие Y. В классификации Бейса X — это класс объекта, Y — его признак. Недостаток модели в её предположении, что объекты условно независимы: в реальности это может быть не так.
Чтобы определить, какие из электронных писем мошеннические, а какие — нет, регрессионная модель анализирует письмо, выводит два результата — «спам» или «не спам», и сортирует письма по соответствующим папкам.
● K-Ближайшие соседи. Популярная и простая в использовании модель, которая, правда, плохо работает с большими объемами данных. Суть её в том, что объекту моделирования присваивают свойства тех объектов, которые соседствуют с ним и свойства которых уже известны.
При наличии базы данных о предпочтениях пользователей в интернет-магазине можно использовать модель «K-Ближайшие соседи» для предсказания, какой товар может заинтересовать конкретного покупателя. Модель будет искать пользователей с похожими предпочтениями и рекомендовать товары, которые им понравились.
● AdaBoost. В процессе обучения выстраивает композицию из базовых алгоритмов для улучшения их эффективности. Суть в том, что каждый следующий классификатор строится по объектам, которые плохо классифицируются предыдущими.
Так создают систему распознавания лиц: AdaBoost спроектирует несколько классификаторов, обученных на данных, содержащих изображения лиц. Каждый классификатор будет стремиться улучшить точность предсказаний предыдущего классификатора.
● XGBoost. Строится в форме ансамбля слабых предсказывающих моделей: с каждым новым этапом обучения она вычисляет отклонения предсказаний уже обученного ансамбля. Следующая итерация, которая будет добавлена в ансамбль, будет предсказывать эти отклонения.
Модель можно использовать для работы с финансовыми данными и анализа фундаментальных данных компаний, таких как доходы, расходы, рентабельность.
● Метод опорных векторов. Подходит для решения задач классификации и регрессии (отношений между переменными). Для этого строится гиперплоскость, которая разделяет объекты выборки оптимальным способом. Чем больше расстояние между разделяющей гиперплоскостью и объектами, тем меньше будет средняя ошибка классификатора.
Например, классификация изображений мозга на основе МРТ-сканов. Метод может быть обучен на большом количестве признаков (размеры опухоли, форма и текстура ткани) и использоваться для разделения изображений на две категории: здоровые и больные.
● Искусственные нейронные сети. Имитирует работу человеческого мозга: состоит из слоёв взаимосвязанных узлов (нейронов), которые могут сами учиться сопоставлять входные данные с выходными с помощью процесса.
Например, голосовой помощник Алиса в Яндекс Станции с помощью нейронных сетей учится отвечать на вопросы и поддерживать разговор с пользователем.
Выбор вида модели машинного обучения зависит от двух факторов:
1. Исходные данные. Они могут быть числовые и категориальные — в виде текста. Объект моделирования тоже может быть числовым или текстовым.
2. Количество данных. Например, для больших объемов информации нет смысла использовать логистическую регрессию.
Читать также: