Что такое обучающая выборка в машинном обучении? Объясняем простыми словами с примерами

От NP_Article

ИИ-технолог

Обучение управлению ИИ с 0 до мастерского уровня

250+ уроков Начато наполнение Без инфоцыган и воды

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

На практике успех любого ИИ-проекта на 80% зависит от качества собранных данных и только на 20% – от архитектуры самой нейросети. Плохая выборка гарантированно приведет к нерабочему алгоритму, какие бы современные технологии вы ни использовали.

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

Суть обучающей выборки на практическом примере

Чтобы алгоритм мог учиться, данные должны быть структурированы. Классическая обучающая выборка состоит из двух элементов:

  • Признаки (Features): характеристики объекта. То, на основе чего алгоритм должен принимать решение.
  • Целевая переменная (Target): правильный ответ. То, что алгоритм должен научиться предсказывать.

Пример: Вы хотите сделать алгоритм, который автоматически оценивает стоимость квартир для сайта объявлений (аналог оценки на Авито или Циан).

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

Вы загружаете в алгоритм 50 000 таких строк. Он анализирует их и выводит математическое правило: «Каждый километр от метро снижает цену на N рублей, а первый этаж отнимает Y% от стоимости». Когда на сайт приходит новый пользователь и вводит параметры своей квартиры (без цены), алгоритм применяет это правило и выдает прогноз стоимости.

Как правильно делить данные: обучающая, валидационная и тестовая выборки

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

Чтобы этого избежать, весь собранный массив данных обязательно делят на три неравные части.

1. Обучающая выборка (Train) – 70-80% данных

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

2. Валидационная выборка (Validation) – 10-15% данных

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

3. Тестовая выборка (Test) – 10-15% данных

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

Частые ошибки при формировании выборки (Точки провала)

Собрать много данных – не значит собрать хорошие данные. Ниже описаны три самые дорогие ошибки, из-за которых алгоритмы приходится переделывать с нуля.

Ошибка 1: Дисбаланс классов

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

Пример: Вы учите модель искать мошеннические транзакции в банке. В вашей выборке 99 000 честных переводов и 1 000 мошеннических. Модель быстро поймет, что если она будет всегда отвечать «это честная транзакция», ее точность составит 99%. Она просто проигнорирует признаки мошенничества.

Как избежать: Искусственно сокращать количество частых примеров (Undersampling), дублировать редкие примеры (Oversampling) или штрафовать алгоритм за ошибку на редком классе сильнее, чем на частом.

Ошибка 2: Утечка данных (Data Leakage)

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

Пример: Вы прогнозируете, вернет ли клиент микрозайм. В обучающую выборку случайно попал столбец «Дата первого платежа по просрочке». Алгоритм видит: если дата есть, значит, кредит не вернули. Он выдает 100% точности. Но когда приходит новый клиент за кредитом, у него еще нет и не может быть такой даты. В реальной работе модель окажется бесполезной.

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

Ошибка 3: Смещенная выборка (Bias)

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

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

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

Критерии качественной обучающей выборки

Чтобы понять, готовы ли ваши данные к передаче разработчикам, проверьте их по трем параметрам:

  • Репрезентативность: Выборка содержит все возможные сценарии. Если вы предсказываете спрос на такси, в данных должны быть будни, выходные, праздники, дождливые дни и дни снегопадов.
  • Актуальность: Данные не устарели. Нет смысла обучать бота-консультанта интернет-магазина на логах переписок 2018 года, если у вас полностью сменился ассортимент и регламенты общения.
  • Единообразие разметки: Если данные размечают люди (например, операторы колл-центра отмечают «позитивный» или «негативный» звонок), у них должна быть строгая инструкция. Если один оператор считает жалобу на цену «негативом», а другой «нейтральным вопросом» – алгоритм запутается.

Где брать данные для обучения

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

1. Внутренние исторические данные компании

Самый надежный источник для бизнес-задач. Это выгрузки из вашей CRM (1С, Битрикс24, amoCRM), логи баз данных, записи звонков телефонии, история покупок на сайте.

Ограничение: Данные часто хранятся в хаосе. Потребуется много времени дата-инженеров, чтобы очистить их от дублей, опечаток и пустых строк.

2. Открытые датасеты

В интернете есть готовые собранные базы для стандартных задач (распознавание лиц, анализ тональности текста, классификация изображений). Искать их можно на платформах Kaggle, в репозиториях университетов или в открытых наборах от крупных ИТ-компаний (например, открытые датасеты Яндекса или Сбера).

Когда подходит: Для старта проекта, создания прототипа (MVP) или решения базовых задач, не требующих специфики вашего бизнеса.

3. Парсинг (сбор из открытых источников)

Написание скриптов, которые автоматически собирают данные с сайтов конкурентов, форумов, сервисов отзывов или социальных сетей (ВКонтакте, Telegram).

Ограничение: Нужно учитывать юридические риски (нельзя собирать персональные данные без согласия) и технические защиты сайтов от ботов.

4. Краудсорсинг и ручная разметка

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

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

Бесплатно с ИИ Claude · ChatGPT
Баланс запросов: —