Эндрю Нг deeplearningai | Коды обучения машинному обучению: глава 11

машинное обучение искусственный интеллект

11 Когда изменять набор разработки, набор тестов и метрики

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

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

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

В приведенном выше примере есть три основные причины, по которым классификатор А может иметь низкий балл:

  1. Распределение фактических данных, с которыми вам нужно работать, отличается от распределения данных разработки/тестирования.

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

  2. Вы переоснащаете набор разработчика.

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

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

  3. То, что измеряет эта метрика, не является тем, для чего следует оптимизировать проект.

    Предположим, что текущей метрикой вашего приложения для кошек является точность классификации, и эта метрика считает, что классификатор A лучше, чем классификатор B. Однако, попробовав оба алгоритма, вы обнаружите, что классификатор А допускает некоторые порнографические изображения, что действительно недопустимо. Как я должен это делать?

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

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

Оставайтесь с нами для главы 11: Когда модифицировать разработку, тестирование и метрики Обучающие читы по машинному обучению Выпущены главыГлавы 1-4 Глава 5 Глава 6 Глава 7 Глава 8 Глава 9 Глава 10 Пожалуйста, зарегистрируйтесь здесь для получения последней главы английской версииhttp://www.mlyearning.org/ Для того, чтобы все желающие как можно скорее получили доступ к китайской версии обучающих читов по машинному обучению, мы организовали работу по переводу в кратчайшие сроки. Пожалуйста, несите меня, если есть какие-либо ошибки. Содержание перевода все еще находится в стадии постоянного улучшения. Если у вас есть какие-либо комментарии и предложения, пожалуйста, оставьте нам сообщение. Добро пожаловать, чтобы отсканировать код и подписаться на нашу официальную учетную запись! Спасибо!