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