Проверьте свое понимание: отладка модели

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

Подход к моделированию

Ты и твой друг Мэл любите единорогов. На самом деле, вам так нравятся единороги, что вы решаете предсказывать появление единорогов с помощью… машинного обучения. У вас есть набор данных из 10 000 появлений единорогов. Для каждого появления набор данных содержит местоположение, время суток, высоту над уровнем моря, температуру, влажность, плотность населения, древесный покров, наличие радуги и многие другие характеристики.

Вы хотите начать разработку своей модели машинного обучения. Какой из следующих подходов является хорошим способом начать разработку?
Единороги часто появляются на рассвете и в сумерках. Поэтому используйте функцию «время суток» для создания линейной модели.
Правильный. Линейная модель, использующая одну или две функции с высоким уровнем прогнозирования, — эффективный способ начать.
Предсказание появления единорога — очень сложная задача. Поэтому используйте глубокую нейронную сеть со всеми доступными функциями.
Неправильно. Работа со сложной моделью усложнит отладку.
Начните с простой линейной модели, но используйте все функции, чтобы простая модель обладала предсказательной силой.
Неправильно. Если вы используете множество функций, даже с линейной моделью, результирующая модель будет сложной и трудной для отладки.

Базовые показатели

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

  • Средняя стоимость поездки составляет 15 долларов.
  • Стоимость поездки увеличивается на фиксированную сумму за километр.
  • Поездки в пределах центра города оплачиваются дополнительно.
  • Поездки начинаются с минимальной стоимости в 3 доллара.

Определите, полезны ли следующие базовые показатели.

Является ли это полезной базой: каждая поездка стоит 15 долларов.
Да
Правильный. Средняя стоимость является полезной базой.
Нет
Неправильно. Всегда прогнозирование среднего приводит к более низкому MSE, чем всегда прогнозирование любого другого значения. Таким образом, тестирование модели на этом базовом уровне обеспечивает значимое сравнение.
Это зависит от того, каково стандартное отклонение стоимости поездки.
Неправильно. Независимо от стандартного отклонения средняя стоимость поездки является полезной базовой линией, поскольку всегда прогнозирование среднего приводит к более низкому MSE по сравнению с всегда прогнозированием любого другого значения.
Является ли это полезной базовой линией: обученная модель, которая использует только продолжительность и происхождение в качестве признаков.
Да
Неправильно. Вы должны использовать обученную модель в качестве основы только после того, как модель будет полностью проверена в производстве. Кроме того, обученная модель сама должна быть проверена на более простом базовом уровне.
Нет
Правильный. Вы должны использовать обученную модель в качестве основы только после того, как модель будет полностью проверена в производстве.
Является ли это полезной базой: стоимость поездки равна расстоянию поездки (в километрах), умноженному на стоимость проезда за километр.
Да
Правильный. Расстояние является наиболее важным фактором, влияющим на стоимость поездки. Поэтому полезна базовая линия, основанная на расстоянии.
Нет
Неправильно. Расстояние является наиболее важным фактором, определяющим стоимость поездки. Поэтому полезна базовая линия, основанная на расстоянии.
Является ли это полезной базой: каждая поездка стоит 1 доллар. Потому что модель всегда должна превосходить этот базовый уровень. Если модель не соответствует этому базовому уровню, мы можем быть уверены, что в модели есть ошибка.
Да
Неправильно. Это бесполезная базовая линия, потому что она всегда неверна. Сравнение модели с базовой линией, которая всегда неверна, не имеет смысла.
Нет
Правильный. Этот базовый уровень не является полезным тестом вашей модели.

Гиперпараметры

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

Потери при обучении составляют 0,24, а потери при проверке — 0,36. Какие два из следующих действий могут уменьшить разницу между потерями при обучении и проверке?
Убедитесь, что наборы для обучения и проверки имеют одинаковые статистические свойства.
Правильный. Если обучающий и проверочный наборы имеют разные статистические свойства, то обучающие данные не помогут предсказать проверочные данные.
Используйте регуляризацию, чтобы предотвратить переоснащение.
Правильный. Если потери при обучении меньше, чем потери при проверке, то ваша модель, вероятно, переоснащается данными обучения. Регуляризация предотвращает переоснащение.
Увеличьте количество тренировочных эпох.
Неправильно. Если потери при обучении меньше, чем потери при проверке, то ваша модель обычно переоснащается данными обучения. Увеличение тренировочных эпох только увеличит переоснащение.
Снизить скорость обучения.
Неправильно. Наличие потери проверки, которая больше, чем потеря обучения, обычно указывает на переоснащение. Изменение скорости обучения не уменьшает переоснащение.
Вы выполняете правильные действия, описанные в предыдущем вопросе, и теперь ваши потери при обучении и проверке уменьшаются с 1,0 до примерно 0,24 после обучения в течение многих эпох. Какое из следующих действий могло бы еще больше снизить потери на тренировках?
Увеличьте глубину и ширину вашей нейронной сети.
Правильный. Если ваши потери при обучении остаются постоянными на уровне 0,24 после обучения в течение многих эпох, то вашей модели может не хватать прогностической способности для дальнейшего снижения потерь. Увеличение глубины и ширины модели может дать модели дополнительную прогностическую способность, необходимую для дальнейшего снижения потерь при обучении.
Увеличьте количество тренировочных эпох.
Неправильно. Если ваши потери при обучении остаются на уровне 0,24 после обучения в течение многих эпох, то продолжение обучения модели, вероятно, не приведет к значительному уменьшению потерь при обучении.
Увеличение скорости обучения.
Неправильно. Учитывая, что потери при обучении не уменьшались в течение многих эпох обучения, увеличение скорости обучения, вероятно, не снизит окончательные потери при обучении. Вместо этого увеличение скорости обучения может сделать ваше обучение нестабильным и помешать вашей модели изучить данные.
Вы делаете правильное действие в предыдущем вопросе. Потери при обучении вашей модели уменьшились до 0,20. Предположим, вам нужно еще немного уменьшить потери при обучении вашей модели. Вы добавляете несколько функций, которые, по-видимому, обладают предсказательной силой. Однако потери при обучении продолжают колебаться около 0,20. Какие три из следующих вариантов могут уменьшить ваши тренировочные потери?
Увеличьте глубину и ширину слоев.
Правильный. В вашей модели может не хватать возможности для изучения прогностических сигналов в новых функциях.
Увеличивайте тренировочные эпохи.
Неправильно. Если потери при обучении вашей модели колеблются около 0,20, то увеличение количества эпох обучения, вероятно, приведет к тому, что потери при обучении модели продолжат колебаться около 0,20.
Функции не добавляют информацию относительно существующих функций. Попробуйте другую функцию.
Правильный. Возможно, прогностические сигналы, закодированные функциями, уже существуют в функциях, которые вы используете.
Снизить скорость обучения.
Правильный. Возможно, добавление новых функций усложнило проблему. В частности, колебания потерь указывают на то, что скорость обучения слишком высока, и ваша модель прыгает вокруг минимумов. Уменьшение скорости обучения позволит вашей модели изучить минимумы.