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

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

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

Машинное обучение (Machine Learning, сокращенно ML) — это попытка научить компьютер решать задачи, для которых нет четких инструкций. Стандартное программирование четко прописывает, что нужно делать в конкретном случае, например, если переменная меньше единицы, то выполняем одно действие, больше ― другое.

В машинном обучении все устроено гораздо сложнее. Мы показываем компьютеру какие-либо данные и говорим, в этом случае нужно поступить так, а в этом ― так. И в итоге получаем программу, которая с высокой степенью вероятности может выбрать правильное действие даже в том случае, если данные для нее абсолютно незнакомые.

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

Кто и как занимается машинным обучением

Ученые

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

Data Scientists

Датасаентисты собирают и анализируют данные для построения моделей ML. Они готовят данные, затем они выбирают модель, занимаются ее обучением, а в итоге оценивают производительность того, что получилось.

Machine Learning Engineers

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

DevOps

Инженеры DevOps обеспечивают бесперебойную работу ML в производственной среде. Они занимаются мониторингом работы, автоматизацией деплоя и тестирования, а также масштабированием решений.

Business Analysts

Бизнес-аналитики определяют бизнес-задачи, которые можно решить с помощью ML. Например, анализ потребностей компании, формулирование KPI, чтобы оценивать эффективность моделей и сотрудничеством с командами разработчиков для реализации решений.

Источник: Shutterstock. Чтобы успешно работать в области ML, необходимы не только технические навыки, но и понимание бизнес-потребностей компаний

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

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

Обучение с учителем (Supervised Learning)

Это тип обучения на данных, которые уже были заранее размечены ― на этой фотографии есть лошадь, а на этой ― трактор. Главная задача модели в этом случае научиться понимать на новых фотографиях, где находится сельхозтехника, а где ― животные.

Обучение без учителя (Unsupervised Learning)

В этом случае мы «скармливаем» модели данные, у которых нет никаких меток. Алгоритм должен сам научиться определять закономерности, по которым он будет классифицировать объекты.

Обучение с подкреплением (Reinforcement Learning)

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

Обучение с частичным участием учителя (Semi-supervised Learning)

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

Глубинное обучение (Deep Learning)

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

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

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

Классификация

В это случае модели нужно определить, к какому классу нужно отнести ту или иную информацию, например, какому специалисту перенаправить сообщение об ошибке на сервере.

Регрессия

В этом случае модели нужно предсказать какое-либо число на основе исторических данных, например, как будут меняться закупочные цены на бензин через два месяца.

Кластеризация

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

Снижение размерности

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

Обработка естественного языка (NLP)

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

Компьютерное зрение

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

Задачи временных рядов

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

Рекомендации

Это предложение пользователю релевантных товаров, контента или услуг. Например, Яндекс.Волна, которая рекомендует слушателям музыку на основе его лайков.

Задачи усиленного обучения (Reinforcement Learning)

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

Генерация данных

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

Источник: Shutterstock. Традиционные методы, например, логистическая регрессия, подойдут для простых задач, тогда как нейронные сети и современные архитектуры будут более эффективны в обработке естественного языка

Примеры использования машинного обучения

Поиск и рекомендации

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

Кибербезопасность

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

Финансы

Hedge funds используют машинное обучение для анализа данных и принятия инвестиционных решений.
PayPal использует машинное обучение для выявления подозрительных транзакций.
Visa/Mastercard анализируют паттерны платежей для защиты клиентов.

Диагностика заболеваний

IBM Watson Health анализирует медицинские данные для помощи врачам в диагностике.
Apple Watch использует ML для анализа сердечного ритма и предупреждения о возможных проблемах.

Торговля

Ozon: Предлагает персонализированные рекомендации товаров.
AliExpress использует машинное обучение для адаптации контента под каждого пользователя.

Чат-боты

Sephora использует чат-боты для консультаций по косметике.
Виртуальный бариста Starbucks помогает принимать заказы через мобильное приложение.

Логистика и транспорт

Яндекс.Такси использует машинное обучение для расчета оптимальных маршрутов и стоимости поездок.
Tesla использует компьютерное зрение и ML для автономного вождения.

Игры

Game AI используется для создания сложных противников в видеоиграх.

Производство

Siemens использует машинное обучение для предсказания поломок производственного оборудования.

Андрей Лебедев

Кейс Stworka: как создать ERP в облаке для 5000 строительных компаний

А также запустить маркетплейс для строителей и обрабатывать 1,5 млн артикулов ежедневно. Рассказываем, как компания Stworka развернула IT-инфраструктуру в Облаке...
Read More

Системы контроля версий: зачем они нужны и как их использовать

Мир разработки ПО издалека кажется непонятным и запутанным, но существуют инструменты, которые значительно упрощают жизнь и делают работу более эффективной....
Read More

Соглашение об уровне обслуживания (SLA)

Поговорим о документе, который может серьезно повлиять на успех проекта, будь то интернет-магазин, SaaS-платформа или любой другой онлайн-сервис. Речь пойдет...
Read More

Что такое S3 (Simple Storage Service)

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

Полный обзор NoSQL: особенности и использование

Развитие интернета диктует новые правила в разработке. Традиционные базы данных, которые называются реляционными (RDBMS), не справляются с задачами, которые требуют...
Read More

Как использовать DataSphere. Датасеты в DataSphere

Данные нужны в любой сфере: магазины анализируют продажи, в медцентры — истории болезней, ученые — результаты экспериментов. Чем больше информации,...
Read More

Основные задачи машинного обучения: классификация, регрессия, кластеризация и уменьшение размерности

Machine Learning ― это уже часть нашей повседневной жизни. От рекомендаций фильмов на Кинопоиске до спам-фильтров в почте — за...
Read More

Обзор CLI: командная строка и ее возможности

Когда были созданы первые компьютеры, операционной системой на них можно было управлять только при помощи ввода текстовых команд. Со временем...
Read More

Шардирование в базах данных: обзор концепции

В условиях стремительного роста объемов данных и увеличения нагрузок на информационные системы эффективность их масштабирования становится критически важной. Одним из...
Read More

Графический процессор (GPU): что это, для кого, разновидности

Дизайнерам, проектировщикам и разработчикам требуются мощные вычислительные ресурсы для работы. Обычный процессор (CPU) не справится с такими задачами, как обработка...
Read More