Скрытые признаки и интерполяция
Проект с пингвинами
Проект использует 342 записи Palmer с нужными измерениями: 240 для обучения, 102 для проверки. Выбранные примеры для обучения определяют масштабирование и параметры модели. Исходный CSV
Этот проект обучает веса с помощью softmax, в отличие от лаборатории на главной странице, где используются ближайшие средние по видам. Те же измерения пингвинов, но разные методы классификации. Предсказания могут различаться.
Признаки · Преобразуют входы в признаки для правила.
Из длины клюва и крыла вычитаем средние по обучающим примерам, затем делим на их стандартные отклонения. Получается вектор из двух чисел.
Рассмотрите понятие рядом с проектом: предположения источника могут отличаться. Эти наблюдения не доказывают теорему.
Вход: 12 × 2; Проверка на новых данных: 102 · #58 · 40.6 мм, 193 мм. Известный ответ: Адели; Прогноз: Адели · [≈0,7383; ≈0,2444; ≈0,01737].
Используется в разделах источника: 1.2.2 Может ли сеть представить нужную функцию? · 1.2 Обучение на примерах
Поместите выходы скрытых нейронов для каждого обучающего входа в один столбец. В доказательстве источника обратимая квадратная подматрица A позволяет выбрать выходные веса для воспроизведения целевых меток.
Учебный пример использует входы 0 и 1 и признаки ReLU(x), ReLU(1−x). Его матрица признаков обратна самой себе.
Подходящая матрица признаков позволяет сети точно подогнаться под конечный набор различных примеров.
Пример формулы источника
Иллюстрация · Здесь строится один маленький пример с известной обратной матрицей. Он не устанавливает обратимость произвольных матриц признаков и не доказывает общее утверждение об интерполяции.
Обозначения
- Матрица с n скрытыми нейронами в строках и m обучающими точками в столбцах.
- Обратимая подматрица m на m, выбранная в доказательстве.
- Матрица выходных весов с одним столбцом на скрытый признак.
Пример формулы источника
Этот пример использует свои входные данные и предположения. Его изменение не меняет проект.
Измените значение или код и запустите пример. Это конечная иллюстрация, а не доказательство теоремы.
Поток данных в этом примере
Код изменён. Сбросьте его, чтобы вернуть схему примера.
Вы выбираете
input.firstLabel= 2
Начальные значения в коде
inputs=[0, 1]inverse=[ [0, 1], [1, 0], ]
Вычисляется здесь
Выражение результата: {
matrix,
inverse,
labels,
outputWeights,
outputBias: 0,
proofOutputMatrix,
matrixProduct,
predictions,
}
labels=[input.firstLabel, 3]Использует:input.firstLabelfeatures=inputs.map((x) => [Math.max(0, x), Math.max(0, 1 - x)])Использует:inputsmatrix=[ [features[0][0], features[1][0]], [features[0][1], features[1][1]], ]Использует:featuresoutputWeights=inverse[0].map((_, j) => labels.reduce((sum, y, i) => sum + y * inverse[i][j], 0), )Использует:inverse,labelspredictions=features.map((column) => column.reduce((sum, value, i) => sum + value * outputWeights[i], 0), )Использует:features,outputWeightsproofOutputMatrix=inverseИспользует:inversematrixProduct=proofOutputMatrix.map((row) => matrix[0].map((_, j) => row.reduce((sum, value, k) => sum + value * matrix[k][j], 0)), )Использует:proofOutputMatrix,matrix
Возвращает
matrix- массив (2 элементов): [массив (2 элементов): [0, 1], массив (2 элементов): [1, 0]]
inverse- массив (2 элементов): [массив (2 элементов): [0, 1], массив (2 элементов): [1, 0]]
labels- массив (2 элементов): [2, 3]
outputWeights- массив (2 элементов): [3, 2]
outputBias- 0
proofOutputMatrix- массив (2 элементов): [массив (2 элементов): [0, 1], массив (2 элементов): [1, 0]]
matrixProduct- массив (2 элементов): [массив (2 элементов): [1, 0], массив (2 элементов): [0, 1]]
predictions- массив (2 элементов): [2, 3]
Прочитайте числа из input и верните результат. Основы JavaScript.
Результат
Техническая формулировка
Утверждение источника требует различных входов и непрерывной неполиномиальной активации. Оно утверждает существование подходящих параметров первого слоя для любых меток; затем доказательство выбирает W² = [y¹ … yᵐ]A⁻¹. Пример вычисляет конкретный случай ReLU и точную конечную обратную матрицу. Сеть доказательства имеет архитектуру (1,2,2), веса первого слоя [1,−1], смещения [0,1], выходную матрицу два на два и нулевые выходные смещения. Умножение выходной матрицы на матрицу признаков даёт единичную матрицу два на два. Отдельная итоговая подгонка меток использует один выход и нулевое выходное смещение.
Источник: Формула из статьи