Эта статья является основной записью «Wu Enda Machine Learning».
Обучение нейронных сетей
Представление модели
в приведенном выше выражениипредставитель
Первый
блок активации,
представитель
слой до
Матрица весов слоев.
Мы также можем использовать вектор для представления вышеуказанной модели:
функция стоимости
Идея этой, казалось бы, сложной функции стоимости все та же. Мы надеемся использовать функцию стоимости, чтобы наблюдать, сколько ошибок алгоритм предсказывает из реальной ситуации. Единственное отличие состоит в том, что для каждой строки признаков мы дадим прогноз, в основном мы можем использовать цикл, чтобы предсказать другой результат для каждой строки функций, а затем использовать цикл, чтобы выбрать наиболее вероятный среди прогнозов и сравнить его с фактическими данными в .
Член регуляризации — это просто сумма матриц каждого слоя после исключения каждого слоя. Самый внутренний цикл проходит по всем строкам (определяется количеством единиц активации в слое +1), а цикл повторяется по всем столбцам, определяемым количеством ячеек активации в этом слое (слое). То есть: расстояние от истинного значения представляет собой сумму выходных данных каждой выборки-каждого класса, а член смещения для регуляризации параметров обрабатывает сумму квадратов всех параметров.
Алгоритм обратного распространения
Алгоритм обратного распространения используется для расчета, его правило расчета, возьмем в качестве примера четырехслойную нейронную сеть:
в
,
,
использоватьдля представления ошибки, то:
:
наконец-то:
Указывает, какой слой вычисляется в данный момент.
Представляет индекс единицы активации на текущем вычислительном уровне, а также будет индексом первой входной переменной следующего уровня.
Представляет нижний индекс единицы ошибки в следующем слое, который является нижним индексом единицы ошибки в следующем слое, на который влияет строка в матрице весов.
- Конкретные шаги алгоритма обратного распространения
использовать
для представления матрицы ошибок, ее смыслпервое
первое
блок активации подлежит
Ошибка, вызванная влиянием параметра
Предполагая тренировочный набор, процесс обучения нейронной сети с использованием обратного распространения ошибки выглядит следующим образом:
-
, инициализировать весовой градиент
:
-
:
- Найдите приращение обновления весов каждого слоя
, веса смещения соединения не нормированы:
- Обновите весовую матрицу каждого слоя
,в
скорость обучения:
Общие шаги алгоритмов нейронной сети
Структура сети: Первое, что нужно сделать, это выбрать структуру сети, т. е. сколько слоев выбрать и сколько единиц в каждом слое.
Количество единиц в первом слое — это количество функций в нашем обучающем наборе.
Количество единиц в последнем слое — это количество классов для результата нашего тренировочного набора.
Если количество скрытых слоев больше 1, убедитесь, что количество единиц в каждом скрытом слое одинаково.Обычно, чем больше количество единиц скрытого слоя, тем лучше.
Что нам действительно нужно решить, так это количество скрытых слоев и количество единиц в каждом промежуточном слое.
Обучите нейронную сеть:
- Случайная инициализация параметров
- Используя метод прямого распространения для расчета всех
- Напишите код, вычисляющий функцию стоимости
- Вычислите все частные производные, используя обратное распространение
- Проверьте эти частные производные с помощью численных тестов.
- Используйте алгоритм оптимизации, чтобы минимизировать функцию стоимости