Прореживание двухслойной нейронной сети (пример)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Постановка задачи)
Строка 3: Строка 3:
== Постановка задачи ==
== Постановка задачи ==
-
Задана обучающая выборка <tex>X^l, Y^l</tex>, где <tex>x = (x^1, ..., x^n) </tex>∈<tex> X^l;</tex> <tex> x^i, i >= 1</tex> - признаковое описание объекта. Значения признаков <tex>x^i</tex> поступают на вход первому слою сети с весовой матрицей <tex>W_1</tex>, выходы первого слоя поступают на вход второму с весовой матрицей <tex>W_2</tex>. Функции активации на обоих слоях - сигмоидальные: <tex>\phi(z) = 1 / (1 + e^{-z})</tex>. На выходе второго слоя вычисляется вектор-функция <tex>\bf{F} = (F_1(x),...,F_P(x))</tex>, где P - количество нейронов на втором слое. Параметры сети (матрицы <tex>W_1</tex> и <tex>W_2</tex>) настраиваются алгоритмом обратного распространения (back propagation). Из полученной сети требуется устранить параметры, которые незначительно влияют на ошибку аппроксимации. Для этого необходимо посчитать матрицу Гессе <tex>H = \frac{\partial^2 \bf{E}_{av}(\bf{w})}{ \partial \bf{w}^2}</tex>, где <tex>\bf {w}</tex> - вектор весов, <tex>\bf{E}_{av}(\bf{w}) = \frac{1}{2N} \sum_{n = 1}^N \sum_{p = 1}^P(F_p(n) - Y_p(n))^2</tex> - функция стоимости. Из сети удаляются параметры, соответствующие наименьшей степени выпуклости <tex>S_i = \frac{w_i^2}{2 (\bf{H}^{-1})_{i,i}}</tex>.
+
Задана обучающая выборка <tex>X^l, Y^l</tex>. Требуется решить задачу классификации с использованием двухслойной нейронной сети; затем упростить сеть, выбросив из нее параметры, соответствующие наименьшей степени выпуклости; среднеквадратичная ошибка классификации при этом не должна сильно возрасти.
== Алгоритм настройки нейронной сети ==
== Алгоритм настройки нейронной сети ==
{{UnderConstruction|[[Участник:Mikethehuman|Mikethehuman]] 13:22, 14 апреля 2010 (MSD)}}
{{UnderConstruction|[[Участник:Mikethehuman|Mikethehuman]] 13:22, 14 апреля 2010 (MSD)}}

Версия 11:55, 14 апреля 2010

Прореживание двухслойной нейронной сети (optimal brain damage) - метод упрощения структуры нейронной сети. Идея прореживания состоит в том, что из сети удаляются параметры, оказывающие малое влияние на ошибку аппроксимации. Таким образом, модель упрощается, а ошибка аппроксимации возрастает незначительно.


Постановка задачи

Задана обучающая выборка X^l, Y^l. Требуется решить задачу классификации с использованием двухслойной нейронной сети; затем упростить сеть, выбросив из нее параметры, соответствующие наименьшей степени выпуклости; среднеквадратичная ошибка классификации при этом не должна сильно возрасти.

Алгоритм настройки нейронной сети

Статья в настоящий момент дорабатывается.
Mikethehuman 13:22, 14 апреля 2010 (MSD)


Личные инструменты