Гребневая регрессия
Проект с пингвинами
Проект использует 342 записи Palmer с нужными измерениями: 240 для обучения, 102 для проверки. Выбранные примеры для обучения определяют масштабирование и параметры модели. Исходный CSV
Этот проект обучает веса с помощью softmax, в отличие от лаборатории на главной странице, где используются ближайшие средние по видам. Те же измерения пингвинов, но разные методы классификации. Предсказания могут различаться.
Классификация предсказывает три вида; гребневая регрессия предсказывает массу в граммах по тем же наблюдениям. Это разные модели. Прогнозы обучения поступают в целевую функцию; 102 отдельных тестовых прогноза не обновляют веса.
Целевые функции · Объединяют потери и штрафы в критерий для параметров или правил.
По прогнозам и известным ответам вычисляется значение функции потерь. Классификация использует кросс-энтропию и α/2 суммы квадратов весов без смещений; гребневая регрессия использует среднюю квадратичную ошибку нормированной массы и α суммы квадратов всех коэффициентов, включая смещение.
Целевая функция
- Вход
- Среднее значение функции потерь при обучении: ≈0,2556; Штраф: ≈0,0005264
- Выход
- ≈0,2561
Операция проекта
Вычисление проекта использует эти записи; формула и пример источника приведены ниже. Изменения кода действуют на этой странице; настройки проекта передаются между страницами.
Среднее значение функции потерь при обучении → Целевая функция → Градиент
Вход проекта
Показаны первые три элемента; операция получает весь массив. Предпросмотр округлён; операция использует полную точность.
input.meanLoss· Среднее значение функции потерь при обучении≈0,2556input.weights· Модель[≈-2,422E-17; ≈0,2558; ≈0,679]input.alpha· Настройка проекта или константа0,001input.task· Настройка проекта или константаridge
Результат
≈0,2561
Используется в разделах источника: 1.3 Вопросы, которые нас ждут
Три вымышленные обучающие пары задают число упаковок и известное число наклеек: (1, 2), (2, 4), (3, 6). В реальных задачах собирают исходные наблюдения, которые могут очистить или преобразовать в признаки; метки — это известные ответы. Здесь вымышленные числа поступают прямо в xs и ys без обработки.
При нулевом свободном члене выбранный вес означает число наклеек в упаковке. Предскажите количества, возведите ошибки в квадрат, найдите среднее и прибавьте α, умноженное на квадрат веса.
Штраф способствует уменьшению весов, а ошибка измеряет соответствие данным.
Пример формулы источника
Точное вычисление · Результат точен для этих учебных данных с учётом обычного округления на компьютере.
Обозначения
- Число обучающих примеров.
- Вход и цель примера i.
- Вектор действительных весов; в учебном примере один элемент.
- Неотрицательная сила штрафа.
Пример формулы источника
Этот пример использует свои входные данные и предположения. Его изменение не меняет проект.
Измените значение или код и запустите пример. Это конечная иллюстрация, а не доказательство теоремы.
Попробуйте вес 2. Какая часть оценки остаётся? Затем установите α равным 0.
Поток данных в этом примере
Код изменён. Сбросьте его, чтобы вернуть схему примера.
Вы выбираете
input.weight= 1input.alpha= 0,001
Начальные значения в коде
xs=[1, 2, 3]ys=[2, 4, 6]
Вычисляется здесь
Выражение результата: evaluateRidge(xs, ys, input.weight, input.alpha)
weight←input.weightalpha←input.alpha
predictions=xs.map((x) => predict(x, weight))Использует:xs,predict,weighterrors=predictions.map((prediction, i) => prediction - ys[i])Использует:predictions,yssquaredErrors=errors.map(squaredLoss)Использует:errors,squaredLossmse=mean(squaredErrors)Использует:mean,squaredErrorspenalty=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.
Результат
Техническая формулировка
Читатель выбирает вес и α; начальное значение α = 0.001 взято с рисунка источника. Пример оценивает выбранный вес, не обучает модель и не ищет лучший вес. Оптимизатор мог бы использовать оценку, чтобы попробовать другой вес, а найденный вес — для предсказания числа наклеек по новому числу упаковок.
Источник: Рисунок 1.4 · стр. статьи 18