На этом шаге мы рассмотрим влияние таких данных на работу нейронной сети.
Модели машинного обучения способны интерпретировать только входные данные, подобные тем, что они видели раньше. Поэтому очень важно, чтобы обучающие данные были репрезентативными для данных, на основе которых потом модель будет вычислять прогнозы. Вы должны помнить об этом постоянно, собирая свой набор. Представьте, что вы
разрабатываете приложение, пользователь которого может фотографировать тарелку с едой, чтобы узнать название блюда. Вы обучаете модель на изображениях, полученных из популярной у гурманов социальной сети. Развертываете ее - и начинаете получать гневные отзывы пользователей: ваше приложение дает неверный ответ в восьми случаях из десяти. Но почему? Ведь точность на контрольном наборе превысила 90%! Беглый взгляд на выгруженные пользователями данные показывает, что фотографии произвольных блюд в произвольных ресторанах, сделанные с помощью случайных смартфонов, совсем не похожи на качественные снимки, на которых вы обучали модель: ваши обучающие данные не были репрезентативными для данных, на основе которых модель вычисляет прогнозы. Это тяжкий грех - добро пожаловать в ад машинного обучения.
Особенно коварным и распространенным случаем нерепрезентативности данных является систематическая ошибка выборки. Она возникает в случаях, когда процесс сбора данных зависит от того, что вы пытаетесь предсказать, - и эта зависимость приводит к смещению измерений. Знаменитый исторический пример - случай во время президентских выборов в США 1948 года. В ночь выборов газета Chicago Tribune напечатала заголовок "Дьюи побеждает Трумэна", но утром были опубликованы результаты выборов, согласно которым победил Трумэн. Редактор Tribune поверил данным телефонного опроса, однако пользователи телефонов в 1948 году не были случайной репрезентативной выборкой населения с правом голоса. Они были более богаты, консервативны и голосовали за кандидата от республиканцев Дьюи.
Рис.1. "Дьюи побеждает Трумэна": знаменитый пример систематической ошибки выборки
В настоящее время при каждом телефонном опросе учитывается возможность систематической ошибки выборки. Это не означает, что в политических опросах она осталась в прошлом - далеко не так. Но, в отличие от 1948 года, социологи знают об этом и принимают меры для ее корректировки.
Если есть возможность, собирайте данные непосредственно в том окружении, где будет использоваться модель. Модель классификации отзывов о фильмах следует применять к новым обзорам в IMDB, а не к обзорам ресторанов Yelp или статусам в Twitter. Если вам нужно оценивать эмоциональную окраску твитов, начните со сбора и маркировки реальных твитов в той же группе пользователей, которые, как предполагается, будут использовать модель. Если нет возможности обучить модель на реальных данных, постарайтесь как можно полнее определить, чем ваши обучающие данные отличаются от реальных, и устраните эти различия.
Вы должны знать еще об одном явлении - дрейфе понятий. Оно встретится вам практически во всех задачах, и особенно в тех, которые основаны на данных, генерируемых пользователями. Дрейф понятий возникает, когда свойства реальных данных меняются с течением времени, приводя к постепенному снижению точности модели. Система музыкальных рекомендаций, обученная в 2013 году, в настоящее время может оказаться неэффективной. Набор данных IMDB, с которым мы работали, собран в 2011 году, и обученная на нем модель, вероятно, будет распознавать эмоциональную окраску обзоров 2020 года не так хорошо, как отзывов 2012 года, потому что словарный запас, способ выражения эмоций и жанры фильмов со временем меняются. Проблема дрейфа понятий особенно остро проявляется в контексте противоборств, таких как определение мошенничества с кредитными картами, где модели мошенничества меняются практически каждый день. В сферах с быстрым дрейфом понятий требуется постоянно собирать данные, маркировать их и повторно обучать модели.
Имейте в виду, что машинное обучение можно использовать только для запоминания шаблонов, имеющихся в обучающих данных. Распознать можно только увиденное раньше. Использование машинного обучения для предсказания будущего предполагает, что будущее будет вести себя как прошлое. Но часто это не так.
На следующем шаге мы рассмотрим первичный анализ данных.