5 советов, как повысить ценность проекта по науке о данных

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

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

«ИИ»

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

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

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

Совет №1: правильно сформулируйте свои ожидания и рассмотрите все варианты.

Входы и выходы

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

Что действительно необходимо, так это указать, что именно будет входами в систему ИИ и, что еще более важно, какими будут ее выходы. В качестве примера представьте, что вы создаете систему классификатора собак, которая может сказать вам, есть ли собака на картинке или нет. Входом этой системы является изображение, а выходным - y es есть собака или no ее нет.

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

Совет № 2: Тщательно укажите входы и выходы задачи и не меняйте их.

Данные

Обычно мы говорим, что система ИИ = данные + код. Это означает, что сами данные являются частью системы и определяют, как система работает. Хотя специалист по данным может справиться со всем кодированием самостоятельно, он не может многое сделать без данных, каким бы квалифицированным и опытным он ни был.

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

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

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

Совет № 3: определите, как система ИИ должна работать с использованием данных.

Оценка

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

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

Полученные цифры и показатели, которые вы услышите, могут иногда вводить в заблуждение. По опыту, если в каком-то сообщенном числе указана точность 99,8% или что-то подобное, вероятно, что-то не так. Поэтому не просто слушайте и смотрите на числа, надеясь, что они будут как можно более высокими, но постарайтесь понять, как именно они подсчитываются и что они представляют. Не стесняйтесь попросить специалиста по обработке данных объяснить любые заданные показатели, он или она с радостью это сделает.

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

Совет №4. Оптимизируйте показатели, которые отражают реальность и понятны всем.

Анализ ошибок

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

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

Не слишком увлекайтесь одной ошибкой, но постарайтесь найти закономерности и количественно оценить их. Результатом анализа должно быть не «Я видел, что волк классифицируется как собака», а скорее «30% ошибок - это волки, отнесенные к собакам, 20% - размытые изображения, 5% - неправильные ярлыки и т. Д.». Не все типы ошибок можно легко исправить, и их количественная оценка может помочь определить, какие из них действительно стоит преследовать, а также каков потенциальный прирост производительности в случае успеха.

Совет № 5: проводите анализ ошибок систематически и сосредотачивайтесь на шаблонах, а не на отдельных примерах.

Заключение

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

Спасибо за чтение!