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

Гребневая регрессия

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

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

Классификация предсказывает три вида; гребневая регрессия предсказывает массу в граммах по тем же наблюдениям. Это разные модели. Прогнозы обучения поступают в целевую функцию; 102 отдельных тестовых прогноза не обновляют веса.

Целевые функции · Объединяют потери и штрафы в критерий для параметров или правил.

По прогнозам и известным ответам вычисляется значение функции потерь. Классификация использует кросс-энтропию и α/2 суммы квадратов весов без смещений; гребневая регрессия использует среднюю квадратичную ошибку нормированной массы и α суммы квадратов всех коэффициентов, включая смещение.

Целевая функция

Вход
Среднее значение функции потерь при обучении: ≈0,2556; Штраф: ≈0,0005264
Выход
≈0,2561

Операция проекта

Вычисление проекта использует эти записи; формула и пример источника приведены ниже. Изменения кода действуют на этой странице; настройки проекта передаются между страницами.

Среднее значение функции потерь при обучении → Целевая функция → Градиент

Вход проекта

Показаны первые три элемента; операция получает весь массив. Предпросмотр округлён; операция использует полную точность.

input.weights · Модель
[≈-2,422E-17; ≈0,2558; ≈0,679]
input.alpha · Настройка проекта или константа
0,001
input.task · Настройка проекта или константа
ridge

Результат

≈0,2561

Используется в разделах источника: 1.3 Вопросы, которые нас ждут

Три вымышленные обучающие пары задают число упаковок и известное число наклеек: (1, 2), (2, 4), (3, 6). В реальных задачах собирают исходные наблюдения, которые могут очистить или преобразовать в признаки; метки — это известные ответы. Здесь вымышленные числа поступают прямо в xs и ys без обработки.

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

Штраф способствует уменьшению весов, а ошибка измеряет соответствие данным.

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

1m∑i=1m(Φ(X(i),θ)−Y(i))2+α∥θ∥22\frac{1}{m}\sum_{i=1}^{m}(\Phi(X^{(i)},\theta)-Y^{(i)})^{2}+\alpha\|\theta\|_{2}^{2}

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

Обозначения

mm
Число обучающих примеров.
x(i),y(i)x^{(i)}, y^{(i)}
Вход и цель примера i.
θθ
Вектор действительных весов; в учебном примере один элемент.
αα
Неотрицательная сила штрафа.

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

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

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

Попробуйте вес 2. Какая часть оценки остаётся? Затем установите α равным 0.

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

Вы выбираете

  • input.weight = 1
  • input.alpha = 0,001

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

  • xs = [1, 2, 3]
  • ys = [2, 4, 6]

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

Выражение результата: evaluateRidge(xs, ys, input.weight, input.alpha)

  • weight ← input.weight
  • alpha ← input.alpha
  • predictions = xs.map((x) => predict(x, weight)) Использует: xs, predict, weight
  • errors = predictions.map((prediction, i) => prediction - ys[i]) Использует: predictions, ys
  • squaredErrors = errors.map(squaredLoss) Использует: errors, squaredLoss
  • mse = mean(squaredErrors) Использует: mean, squaredErrors
  • penalty = alpha * weight ** 2 Использует: alpha, weight

Возвращает

Пример результата
xs
массив (3 элементов): [1, 2, 3]
ys
массив (3 элементов): [2, 4, 6]
predictions
массив (3 элементов): [1, 2, 3]
errors
массив (3 элементов): [-1, -2, -3]
squaredErrors
массив (3 элементов): [1, 4, 9]
mse
≈4,667
penalty
0,001
objective
≈4,668

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

Результат

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

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

Читатель выбирает вес и α; начальное значение α = 0.001 взято с рисунка источника. Пример оценивает выбранный вес, не обучает модель и не ищет лучший вес. Оптимизатор мог бы использовать оценку, чтобы попробовать другой вес, а найденный вес — для предсказания числа наклеек по новому числу упаковок.

Источник: Рисунок 1.4 · стр. статьи 18