Прореживание двухслойной нейронной сети (пример)
Материал из MachineLearning.
(→Настройка нейронной сети) |
(→Алгоритм оптимального прореживания) |
||
Строка 10: | Строка 10: | ||
== Алгоритм оптимального прореживания == | == Алгоритм оптимального прореживания == | ||
+ | {{UnderConstruction|[[Участник:Mikethehuman|Mikethehuman]] 17:41, 14 апреля 2010 (MSD)}} |
Версия 13:41, 14 апреля 2010
Прореживание двухслойной нейронной сети (optimal brain damage) - метод упрощения структуры нейронной сети. Идея прореживания состоит в том, что из сети удаляются параметры, оказывающие малое влияние на ошибку аппроксимации. Таким образом, модель упрощается, а ошибка аппроксимации возрастает незначительно.
Постановка задачи
Задана обучающая выборка . Требуется решить задачу классификации с использованием двухслойной нейронной сети; затем упростить сеть, выбросив из нее параметры, соответствующие наименьшей степени выпуклости; среднеквадратичная ошибка классификации при этом не должна сильно возрасти.
Настройка нейронной сети
Двухслойная нейронная сеть состоит из одного скрытого слоя и выходного слоя. Каждый нейрон сети имеет сигмоидальную функции активации . Значения признаков
поступают на вход первому (скрытому) слою сети с весовой матрицей
, выходы первого слоя поступают на вход второму с весовой матрицей
.На выходе второго слоя вычисляется вектор-функция
, где P - количество нейронов на втором слое. Необходимо настроить параметры сети, используя алгоритм обратного распространения (back propagation).
- нормированная среднеквадратичная ошибка. Пусть
- вес, соединяющий нейрон i с нейроном j следующего слоя. Тогда коррекция веса, применяемая к
, определяется согласно правилу
, где
- локальный градиент нейрона j. Здесь
- выход i-го нейрона,
- значение, которое получает на вход функция активации, соответствующая j-му нейрону (m - количество его входов), η - темп обучения. Поскольку ошибка представляется в виде
, то для выходного слоя
, и для него справедливо
.
Соответственно, для первого, скрытого, слоя справедлива формула обратного распространения
.
Алгоритм оптимального прореживания
![]() | Статья в настоящий момент дорабатывается. Mikethehuman 17:41, 14 апреля 2010 (MSD) |