Шаг 152.
Глубокое обучение на Python. Обобщенный процесс машинного обучения. Определение задачи. Формулировка задачи
На этом шаге мы перечислим те проблемы, которые требуется решить перед тем, как браться за поставленную задачу.
Формулировка задачи машинного обучения обычно требует детального обсуждения с заинтересованными сторонами. Вот вопросы, которые вы должны держать
в голове.
- Какой вид будут иметь входные данные? Что требуется предсказать? Вы сможете обучить сеть предполагать что-либо только при наличии обучающих
данных: например, обучить сеть определять оценку в отзывах к фильмам можно, если имеются отзывы и соответствующие аннотации. То есть доступность
данных на данном этапе является ограничивающим фактором. Во многих случаях вам придется прибегать к сбору и аннотированию новых наборов данных
самостоятельно (о чем мы поговорим несколько позже).
- К какому типу относится задача, стоящая перед вами? Бинарная классификация? Многоклассовая классификация? Скалярная регрессия? Векторная
регрессия? Многоклассовая многозначная (нечеткая) классификация? Сегментация изображения? Определение рейтинга? Что-то иное, например кластеризация,
генерация или обучение с подкреплением? В некоторых случаях может оказаться, что машинное обучение не лучший способ обработки данных и следует
использовать что-то еще, например старый добрый статистический анализ:
- поисковая система фотографий - это задача многоклассовой многозначной классификации;
- определение спама - задача бинарной классификации. А если выделить в отдельный класс "оскорбительные выражения" - понадобится тернарная классификация;
- задачу подбора музыкальных рекомендаций, как оказывается, лучше решать не с помощью глубокого обучения, а методом матричной факторизации (коллаборативной фильтрации);
- выявление мошеннических действий с кредитными картами - это задача бинарной классификации;
- прогнозирование процента переходов по рекламным ссылкам - скалярной регрессии;
- выявление бракованных изделий на линии по производству печенья - задача бинарной классификации, но для этого также потребуется модель обнаружения объектов, которая на первом этапе будет правильно идентифицировать печенье в изображениях (обратите внимание, что набор методов машинного обучения, известный как "обнаружение отклонений", для этой ситуации не подходит!);
- поиск новых археологических памятников по спутниковым снимкам - это задача ранжирования изображений по сходству: получить новые изображения, похожие на известные местонахождения археологических памятников.
- Как выглядят существующие решения? Возможно, у вашего клиента уже есть созданный вручную алгоритм, выполняющий фильтрацию спама или
выявляющий мошенничество с кредитными картами с использованием множества вложенных операторов if. Может, в настоящее время задача решается
человеком, который, например, наблюдает за конвейерной лентой на заводе по производству печенья и вручную удаляет бракованные изделия или
составляет списки воспроизведения с рекомендациями для рассылки пользователям, которым понравился конкретный исполнитель. Вы должны убедиться,
что понимаете, какие системы уже существуют и как они работают.
- Есть ли какие-то особые ограничения, с которыми вам придется столкнуться? Например, может выясниться, что приложение, для которого нужно создать
систему обнаружения спама, в обязательном порядке шифрует сообщения, поэтому разрабатываемая модель должна функционировать на телефоне конечного
пользователя и обучаться на внешнем наборе данных. Возможно, модель выявления бракованного печенья имеет такие ограничения по задержкам, что ее
придется запускать на встроенном устройстве на заводе, а не на удаленном сервере. Вы должны знать и понимать все условия, в которых придется работать вашей модели.
После проведения исследований хорошо иметь более или менее полное представление о том, какими должны быть входные данные и целевые значения и какой
тип задачи машинного обучения соответствует вашей проблеме. Не забывайте о гипотезах, которые выдвигаются на этом этапе:
- гипотеза о том, что выходные данные можно предсказать по входным данным;
- гипотеза о том, что доступные данные достаточно информативны для изучения отношений между входными и выходными данными.
Пока у вас нет рабочей модели, это всего лишь идеи, ожидающие подтверждения или опровержения. Не все задачи имеют решение; наличие входных данных
X и целей Y еще не означает, что X содержит достаточно информации для предсказания Y. Например, если вы пытаетесь
предсказать движение акций на фондовой бирже по недавней истории изменения цен, вы едва ли добьетесь успеха, потому что история цен не содержит
достаточного объема информации для уверенного прогнозирования.
На следующем шаге мы рассмотрим сбор данных.
Предыдущий шаг
Содержание
Следующий шаг