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

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

Что такое машинное обучение? Коротко и ясно

Представьте, что вы учите ребенка отличать кошек от собак. Вы показываете ему много картинок: «Это кошка», «Это собака», «А это снова кошка». Со временем ребенок начинает сам понимать, по каким признакам (усы, форма ушей, размер) можно их различить.

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

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

При работе с большими объемами данных в машинном обучении требуются значительные вычислительные ресурсы. Именно поэтому так популярны облачные платформы. Если вы задумываетесь, где можно было бы экспериментировать с моделями или развернуть свое ML-решение, обратите внимание на облачные решения от компании Рег.ру. Они предоставляют гибкую и масштабируемую инфраструктуру (виртуальные серверы, хранилища), которая поможет вам начать работу с машинным обучением, не беспокоясь о покупке и настройке собственного оборудования.

Какие задачи решает машинное обучение

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

  1. Сортировка по категориям (классификация) ― распределить объекты по известным группам.
  2. Предсказание чисел (регрессия) ― спрогнозировать конкретное числовое значение.
  3. Поиск похожих групп (кластеризация) ― найти скрытые группы в данных без предварительных подсказок.
  4. Упрощение данных (уменьшение размерности) ― сделать сложные данные проще для понимания и обработки.

Давайте рассмотрим каждую из этих задач подробнее с примерами.

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

Классификация задач машинного обучения, примеры

Здесь мы разберем те самые «профессии» ML-алгоритмов.

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

Это задача отнести объект к одной из нескольких заранее известных категорий или «классов». Алгоритм учится на примерах, где правильный ответ уже известен.
Ключевой вопрос: «К какой группе это относится?», например, при сортировке писем на «Спам» и «Не спам». Категории известны, нужно просто решить, куда положить новое письмо. Алгоритм изучает множество писем, уже помеченных как «спам» или «не спам». Он ищет слова, отправителей, особенности текста, которые чаще встречаются в спаме, и те, что характерны для обычных писем. На основе этих закономерностей он потом классифицирует новые, незнакомые письма.

2. Регрессия

Это задача предсказать конкретное числовое значение. В отличие от классификации, где ответ — это категория, здесь ответ — это число. Ключевой вопрос: «Сколько?» или «Какое значение?». Например, предсказание цены на квартиру. Ответ будет числом, а не категорией.
Алгоритм изучает данные о множестве квартир: их площадь, район, количество комнат, этаж и их реальную цену продажи. Он пытается найти математическую зависимость между характеристиками квартиры и ее ценой. Зная эту зависимость, он может предсказать цену для новой квартиры с известными характеристиками.

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

Это задача сгруппировать похожие объекты вместе, не зная заранее, какие группы существуют. Алгоритм сам ищет естественные «скопления» или «кластеры» в данных. Ключевой вопрос: «Какие здесь есть похожие группы?». Алгоритм анализирует характеристики объектов и ищет объекты, которые «близки» друг к другу по этим характеристикам, объединяя их в кластеры. Объекты в одном кластере должны быть похожи друг на друга, а объекты из разных кластеров – отличаться.

4. Уменьшение размерности

Представьте, что у вас есть таблица с данными, где сотни или тысячи столбцов (признаков). Работать с такими данными сложно и долго. Уменьшение размерности — это способ упростить данные, сократив количество признаков, но постаравшись сохранить самую важную информацию.
Ключевой вопрос: «Как упростить эти данные, не потеряв суть?» Алгоритмы ищут способы либо выбрать самые важные признаки, либо объединить несколько старых признаков в новые, более информативные.

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

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

Теперь, когда вы знаете основные задачи, давайте посмотрим, где они находят применение в реальном мире:

Медицина
Диагностика заболеваний по снимкам (классификация), предсказание риска развития болезни (регрессия), поиск групп пациентов со схожим течением болезни (кластеризация).

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

Торговля и E-commerce
Рекомендательные системы (часто используют методы, близкие к кластеризации и регрессии), сегментация клиентов (кластеризация), прогноз спроса на товары (регрессия).

Транспорт
Беспилотные автомобили используют множество задач, включая распознавание объектов - классификацию, оптимизация маршрутов доставки (регрессия, задачи оптимизации), предсказание поломок (классификация).

Развлечения
Рекомендации фильмов, музыки, книг (как в E-commerce), создание игровых ботов.

Повседневная жизнь
Спам-фильтры (классификация), виртуальные помощники (Алиса), машинный перевод, поиск информации в интернете, распознавание лиц на фото.

Машинное обучение — это инструмент, который помогает находить закономерности в данных, делать прогнозы и автоматизировать сложные задачи. Классификация, регрессия, кластеризация и уменьшение размерности — это лишь основные «кирпичики», из которых строятся современные интеллектуальные системы. Мир ML огромен и постоянно развивается, но понимание этих базовых задач — отличный старт для погружения в эту увлекательную область.

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

Кейс 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