Сокращение потерь: упражнения на игровой площадке

Скорость обучения и конвергенция

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

Каждое упражнение Playground генерирует набор данных. Метка для этого набора данных имеет два возможных значения. Вы можете думать об этих двух возможных значениях как «спам» и «не спам» или, возможно, «здоровые деревья» и «больные деревья». Цель большинства упражнений — настроить различные гиперпараметры для создания модели, которая успешно классифицирует (отделяет или отличает) одно значение метки от другого. Обратите внимание, что большинство наборов данных содержат определенное количество шума, из-за которого невозможно успешно классифицировать каждый пример.

Интерфейс этого упражнения содержит три кнопки:

Икона Имя Что оно делает
Кнопка сброса. Перезагрузить Сбрасывает итерации на 0. Сбрасывает все веса, которые модель уже изучила.
Кнопка шага. Шаг Продвиньтесь на одну итерацию. С каждой итерацией модель меняется — иногда незаметно, иногда резко.
Кнопка «Регенерировать». Регенерировать Создает новый набор данных. Не сбрасывает Iterations .

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

Задача 1. Обратите внимание на меню «Скорость обучения» в правом верхнем углу игровой площадки. Данная скорость обучения — 3 — очень высока. Посмотрите, как такая высокая скорость обучения влияет на вашу модель, нажав кнопку «Шаг» 10 или 20 раз. После каждой ранней итерации обратите внимание, как резко меняется визуализация модели. Вы можете даже увидеть некоторую нестабильность после того, как модель сойдется. Также обратите внимание на линии, идущие от x 1 и x 2 к визуализации модели. Веса этих линий указывают веса этих функций в модели. То есть толстая линия указывает на большой вес.

Задача 2: Сделайте следующее:

  1. Нажмите кнопку сброса .
  2. Уменьшите скорость обучения .
  3. Нажмите кнопку «Шаг» несколько раз.

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