Шаг градиентного спуска
Проект с пингвинами
Проект использует 342 записи Palmer с нужными измерениями: 240 для обучения, 102 для проверки. Выбранные примеры для обучения определяют масштабирование и параметры модели. Исходный CSV
Этот проект обучает веса с помощью softmax, в отличие от лаборатории на главной странице, где используются ближайшие средние по видам. Те же измерения пингвинов, но разные методы классификации. Предсказания могут различаться.
Классификация предсказывает три вида; гребневая регрессия предсказывает массу в граммах по тем же наблюдениям. Это разные модели. Прогнозы обучения поступают в целевую функцию; 102 отдельных тестовых прогноза не обновляют веса.
Обучение и обновление параметров · Выбирают правило или обновляют параметры с помощью правила обучения.
Текущая целевая функция даёт градиент для обновления параметров.
Обновление
- Вход
- Градиент: [≈0,004056; ≈0,01907; ≈0,008327; ≈-0,008829; ≈-0,0138; ≈0,01504; ≈0,004773; ≈-0,005269; ≈-0,02337]; Размер шага: 0,1
- Выход
- [≈-0,2899; ≈-2,054; ≈-1,017; ≈0,6924; ≈1,558; ≈-1,663; ≈-0,4025; ≈0,4955; ≈2,68]
Операция проекта
Вычисление проекта использует эти записи; формула и пример источника приведены ниже. Изменения кода действуют на этой странице; настройки проекта передаются между страницами.
Градиент → Обновление → Прогноз
Вход проекта
Показаны первые три элемента; операция получает весь массив. Предпросмотр округлён; операция использует полную точность.
input.weights· Модель[≈-0,2895; ≈-2,052; ≈-1,016] … (9 элементов)input.gradient· Градиент[≈0,004056; ≈0,01907; ≈0,008327] … (9 элементов)input.rate· Обновление0,1
Результат
[≈-0,2899; ≈-2,054; ≈-1,017] … (9 элементов)
Используется в разделах источника: 1.2.1 Поиск более удачных параметров · 2.3 Путь обучения имеет значение
Градиент задаёт направление наиболее быстрого роста целевой функции. Вычтите масштабированный градиент, чтобы сделать шаг.
Для учебной функции r(θ) = θ² градиент равен 2θ.
Этот шаг — один из основных способов уменьшения целевой функции.
Пример формулы источника
Иллюстрация · Это один шаг для конкретной квадратичной функции. Шаг не обязан уменьшать любую целевую функцию при любом размере шага.
Пример формулы источника
Этот пример использует свои входные данные и предположения. Его изменение не меняет проект.
Измените значение или код и запустите пример. Это конечная иллюстрация, а не доказательство теоремы.
Поток данных в этом примере
Код изменён. Сбросьте его, чтобы вернуть схему примера.
Вы выбираете
input.theta= 2input.rate= 0,1
Вычисляется здесь
Выражение результата: { gradient, next, before: input.theta ** 2, after: next ** 2 }
gradient=2 * input.thetaИспользует:input.thetanext=input.theta - input.rate * gradientИспользует:input.theta,input.rate,gradient
Возвращает
gradient- 4
next- 1,6
before- 4
after- 2,56
Прочитайте числа из input и верните результат. Основы JavaScript.
Результат
Техническая формулировка
Измените вход и снова запустите тот же код. Показанный результат получен для приведённых выше значений.
Источник: Градиентный спуск