Современная математика глубокого обученияобъяснение для тех, кто не занимается математикой

Пакетная нормализация

Проект с пингвинами

Проект использует 342 записи Palmer с нужными измерениями: 240 для обучения, 102 для проверки. Выбранные примеры для обучения определяют масштабирование и параметры модели. Исходный CSV

Этот проект обучает веса с помощью softmax, в отличие от лаборатории на главной странице, где используются ближайшие средние по видам. Те же измерения пингвинов, но разные методы классификации. Предсказания могут различаться.

Нормализация пакета · Описывает нормализацию пакета и её производные.

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

Рассмотрите понятие рядом с проектом: предположения источника могут отличаться. Эти наблюдения не доказывают теорему.

Вход: 12 × 2; Проверка на новых данных: 102 · #58 · 40.6 мм, 193 мм. Известный ответ: Адели; Прогноз: Адели · [≈0,7383; ≈0,2444; ≈0,01737].

Используется в разделах источника: 6.4 Общая шкала для сравнения чисел

Найдите среднее и стандартное отклонение пакета. Вычтите среднее, разделите на стандартное отклонение, затем масштабируйте и сдвиньте.

Нормализация меняет масштаб пакета перед последующими вычислениями.

Пример формулы источника

BNb(β,γ)(y)≔γ y−μbσb+β,y∈Rn,приμb=1m∑i=1my(i)иσb2=1m∑i=1m(y(i)−μb)2,\mathrm{BN}_{{b}}^{(\beta,\gamma)}(y)\coloneqq\gamma\,\frac{y-\mu_{b}}{\sigma_{b}}+\beta,\quad y\in{\mathbb{R}}^{n},\quad\text{при}\quad\mu_{b}=\frac{1}{m}\sum_{i=1}^{m}y^{(i)}\quad\text{и}\quad\sigma_{b}^{2}=\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}-\mu_{b})^{2},

Точный результат · Результат точен для этих конечных учебных данных, за исключением обычного округления на компьютере.

Обозначения

μbμ_b
Среднее пакета.
σbσ_b
Стандартное отклонение пакета, ненулевое при делении.
β,γβ,γ
Действительные сдвиг и масштаб.

Пример формулы источника

Этот пример использует свои входные данные и предположения. Его изменение не меняет проект.

Измените значение или код и запустите пример. Это конечная иллюстрация, а не доказательство теоремы.

Поток данных в этом примере

Вы выбираете

  • input.gamma = 1
  • input.y = 2
  • input.beta = 0

Начальные значения в коде

  • batch = [1, 2, 3]

Вычисляется здесь

Выражение результата: { mean, variance, standardDeviation, normalized: (input.gamma * (input.y - mean)) / standardDeviation + input.beta, }

  • mean = batch.reduce((a, b) => a + b, 0) / batch.length Использует: batch
  • variance = batch.reduce((a, y) => a + (y - mean) ** 2, 0) / batch.length Использует: batch, mean
  • standardDeviation = Math.sqrt(variance) Использует: variance

Возвращает

Пример результата
mean
2
variance
≈0,6667
standardDeviation
≈0,8165
normalized
0

Прочитайте числа из input и верните результат. Основы JavaScript.

Результат

Включите JavaScript, чтобы запустить пример.

Техническая формулировка

Здесь используется формула источника без добавления эпсилон. Нулевое стандартное отклонение не допускается. Источник также описывает пакеты векторов; пример показывает одну координату.

Источник: Выражение из статьи