Шаг градиента по мини-батчу
Проект с пингвинами
Проект использует 342 записи Palmer с нужными измерениями: 240 для обучения, 102 для проверки. Выбранные примеры для обучения определяют масштабирование и параметры модели. Исходный CSV
Этот проект обучает веса с помощью softmax, в отличие от лаборатории на главной странице, где используются ближайшие средние по видам. Те же измерения пингвинов, но разные методы классификации. Предсказания могут различаться.
Обучение и обновление параметров · Выбирают правило или обновляют параметры с помощью правила обучения.
Текущая целевая функция даёт градиент для обновления параметров.
Рассмотрите понятие рядом с проектом: предположения источника могут отличаться. Эти наблюдения не доказывают теорему.
Вход: 12 × 2; Проверка на новых данных: 102 · #58 · 40.6 мм, 193 мм. Известный ответ: Адели; Прогноз: Адели · [≈0,7383; ≈0,2444; ≈0,01737].
Используется в разделах источника: 1.2 Обучение на примерах
Вычислите градиент для каждого примера мини-батча, усредните их, умножьте на размер шага и вычтите.
Шаг по мини-батчу позволяет обновить параметры без использования всех обучающих примеров.
Пример формулы источника
Иллюстрация · Два заданных градиента иллюстрируют арифметику; код не вычисляет их из сети и не устанавливает сходимость.
Обозначения
- Положительный размер мини-батча.
- Размер шага на итерации k.
Пример формулы источника
Этот пример использует свои входные данные и предположения. Его изменение не меняет проект.
Измените значение или код и запустите пример. Это конечная иллюстрация, а не доказательство теоремы.
Поток данных в этом примере
Код изменён. Сбросьте его, чтобы вернуть схему примера.
Вы выбираете
input.firstGradient= 2input.theta= 2input.rate= 0,1
Вычисляется здесь
Выражение результата: { gradients, meanGradient, next: input.theta - input.rate * meanGradient }
gradients=[input.firstGradient, 4]Использует:input.firstGradientmeanGradient=gradients.reduce((a, b) => a + b, 0) / gradients.lengthИспользует:gradients
Возвращает
gradients- массив (2 элементов): [2, 4]
meanGradient- 3
next- 1,7
Прочитайте числа из input и верните результат. Основы JavaScript.
Результат
Техническая формулировка
Измените вход и снова запустите тот же код. Показанный результат получен для приведённых выше значений.
Источник: Формула из статьи