Лекции по искусственным нейронным сетям



Скачать 328.95 Kb.
Pdf просмотр
Дата17.02.2017
Размер328.95 Kb.
Просмотров172
Скачиваний0

Лекции по искусственным нейронным сетям
К. В. Воронцов
19 января 2009 г.
Материал находится в стадии разработки, может содержать ошибки и неточности. Автор будет благодарен за любые замечания и предложения, направленные по адресу vokov@forecsys.ru,
либо высказанные в обсуждении страницы «Машинное обучение (курс лекций, К.В.Воронцов)»
вики-ресурса www.MachineLearning.ru.
Перепечатка фрагментов данного материала без согласия автора является плагиатом.
Содержание
1 Искусственные нейронные сети
2 1.1 Проблема полноты
2 1.1.1
Задача «исключающего ИЛИ»
2 1.1.2
Вычислительные возможности нейронных сетей.
4 1.2 Многослойные нейронные сети
5 1.2.1
Метод обратного распространения ошибок
6 1.2.2
Оптимизация структуры сети
9 1.3 Сети Кохонена
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1
Модели конкурентного обучения
. . . . . . . . . . . . . . . . . . . 12 1.3.2
Самоорганизующиеся карты Кохонена
. . . . . . . . . . . . . . . 14 1.3.3
Гибридные сети встречного распространения
. . . . . . . . . . . 16

2 1
Искусственные нейронные сети
Человеку и высшим животным буквально на каждом шагу приходится распо- знавать, принимать решения и обучаться. Нейросетевой подход возник из стремле- ния понять, каким образом мозг решает столь сложные задачи, и реализовать эти принципы в автоматических устройствах.
Пока искусственные нейронные сети (artificial neural networks, ANN) являются лишь предельно упрощёнными аналогами естественных нейронных сетей. Нервные системы животных и человека гораздо сложнее тех устройств, которые можно со- здать с помощью современных технологий. Однако для успешного решения многих практических задач оказалось вполне достаточно «подсмотреть» лишь общие прин- ципы функционирования нервной системы. Некоторые разновидности ANN пред- ставляют собой математические модели, имеющие лишь отдалённое сходство с ней- рофизиологией, что отнюдь не препятствует их практическому применению.
§1.1
Проблема полноты
Итак, отдельно взятый нейрон вида (??) позволяет реализовать линейный клас- сификатор или линейную регрессию. При решении практических задач линейность оказывается чрезмерно сильным ограничением. На ограниченность персептрона ука- зывали Минский и Пайперт в своей знаменитой книге «Персептроны» [
9
]. Следую- щий классический контрпример иллюстрирует невозможность нейронной реализа- ции даже очень простых функций.
1.1.1
Задача «исключающего ИЛИ»
Легко построить нейроны, реализующие логические функции И, ИЛИ, НЕ
от бинарных переменных x
1
и x
2
, см. Рис.
1
:
x
1
∨ x
2
= x
1
+ x
2

1 2
> 0 ;
x
1
∧ x
2
= x
1
+ x
2

3 2
> 0 ;
¬x
1
= −x
1
+
1 2
> 0 ;
Однако функцию x
1
⊕ x
2
= [x
1
= x
2
] — исключающее ИЛИ (exclusive or, XOR)
принципиально невозможно реализовать одним нейроном с двумя входами x
1
и x
2
,
поскольку множества нулей и единиц этой функции линейно неразделимы.
Возможны два пути решения этой проблемы, см. Рис
3
Первый путь — пополнить состав признаков, подавая на вход нейрона нели- нейные преобразования исходных признаков. В частности, если разрешить образо- вывать всевозможные произведения исходных признаков, то нейрон будет строить уже не линейную, а полиномиальную разделяющую поверхность. В случае исклю- чающего ИЛИ достаточно добавить только один вход x
1
x
2
, чтобы в расширенном пространстве множества нулей и единиц оказались линейно разделимыми:
x
1
⊕ x
2
= x
1
+ x
2
− 2x
1
x
2

1 2
> 0 .
Расширенные пространства признаков, в которых линейный классификатор безошибочно разделяет обучающую выборку, называют спрямляющими. Проблема

3
GFED
@ABC
x
1
GFED
@ABC
x
2
GFED
@ABC
−1
(x
1
∨ x
2
)
1
v v
v v
&&v v
v v
v
1
//
1/2
r r
r
88r r
r r
//
Рис. 1. Однослойный персептрон, реализующий операцию ИЛИ.
GFED
@ABC
x
1
GFED
@ABC
x
2
GFED
@ABC
−1
GFED
@ABC
−1
(x
1
⊕ x
2
)
1
‚
‚
‚
‚
((
‚
‚
‚
‚
1
l l
66
l l
l l
l l
1
W
W
W
W
W
W
W
W
W
W
W
W
W
W
1
‚
‚
((
‚
‚
‚
‚
‚
‚
1/2
Õ
Õ
Õ
BB
Õ
Õ
Õ
Õ
Õ
Õ
Õ
Õ
Õ
3/2
l l
l
66
l l
l
+1
‚
‚
‚
((
‚
‚
‚

1
l l
l
66
l l
l
1/2
PP
//
Рис. 2. Двухслойная сеть, реализующая опера- цию исключающего ИЛИ.
0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0
Рис. 3. Персептронная реализация элементарных логических функций. Слева направо: И, ИЛИ,
XOR с помощью добавления признака x
1
x
2
, XOR с помощью двухслойной сети.
заключается в том, что подбор нужных нелинейных преобразований является нетри- виальной задачей, которая для общего случая до сих пор остаётся нерешённой.
Второй путь — построить композицию из нескольких нейронов. Например,
исключающее ИЛИ можно реализовать, подав выходы И-нейрона и ИЛИ-нейрона на вход ещё одному ИЛИ-нейрону, Рис
2
:
x
1
⊕ x
2
= (x
1
∨ x
2
) − (x
1
∧ x
2
) −
1 2
> 0 .
Дальнейшее обобщение этой идеи приводит к построению многослойных ней- ронных сетей, состоящих из огромного количества связанных нейронов и напомина- ющих естественные нейронные сети. Пример такой композиции показан на Рис.
4
Значения всех n признаков одновременно подаются на вход всех H нейронов первого слоя. Затем их выходные значения подаются на вход всех M нейронов следующего слоя. В данном случае этот слой является выходным — такая сеть называется двух- слойной
1
В общем случае сеть может содержать произвольное число слоёв. Все слои,
за исключением последнего, называются скрытыми (hidden layers).
Вычисление выходных значений сети может осуществляться с высокой степе- нью параллелизма, за число тактов, равное числу слоёв. Существуют эффективные аппаратные реализации нейронных сетей, в которых вычисления действительно про- исходят параллельно. Но пока на практике чаще используются программные реали- зации, выполненные на обычных последовательных компьютерах.
1
Существует терминологическая путаница с подсчётом числа слоёв. Иногда такую сеть (видимо,
глядя на картинку) называют трёхслойной, считая входы x
0
, x
1
, . . . , x n
особым, «распределитель- ным» слоем. По делу, в счёт должны идти только слои, состоящие из суммирующих нейронов.

4 1.1.2
Вычислительные возможности нейронных сетей.
Возникает вопрос: любую ли функцию можно представить (хотя бы прибли- жённо) с помощью нейронной сети? Следующие факты позволяют ответить на этот вопрос утвердительно.
1. Любая булева функция представима в виде двухслойной сети. Это тривиаль- ное следствие нейронной представимости функций И, ИЛИ, НЕ и представимости произвольной булевой функции в виде дизъюнктивной нормальной формы [
3
].
2. Из простых геометрических соображений вытекает, что двухслойная сеть с пороговыми функциями активации позволяет выделить произвольный выпуклый многогранник в n-мерном пространстве признаков. Трёхслойная сеть позволяет вы- числить любую конечную линейную комбинацию характеристических функций вы- пуклых многогранников, следовательно, аппроксимировать любые области с непре- рывной границей, включая невыпуклые и даже неодносвязные, а также аппрокси- мировать любые непрерывные функции.
3. В 1900 году Гильберт предложил список из 23 нерешённых задач, которые,
по его мнению, должны были стать вызовом для математиков XX века. Тринадца- тая проблема заключалась в следующем: возможно ли произвольную непрерывную функцию n аргументов представить в виде суперпозиции функций меньшего числа аргументов. Ответ был дан А. Н. Колмогоровым в [
1
].
Теорема 1.1 (Колмогоров, 1957). Любая непрерывная функция n аргументов на единичном кубе
[0, 1]
n представима в виде суперпозиции непрерывных функций одного аргумента и операции сложения:
f (x
1
, x
2
, . . . , x n
) =
2n+1
k=1
h k
n i=1
ϕ
ik
(x i
) ,
где h
k
,
ϕ
ik
— непрерывные функции, причём
ϕ
ik не зависят от выбора f .
Нетрудно видеть, что записанное здесь выражение имеет структуру нейрон- ной сети с одним скрытым слоем из 2n + 1 нейронов. Таким образом, двух слоёв уже достаточно, чтобы вычислять произвольные непрерывные функции, и не приближён- но, а точно. К сожалению, представление Колмогорова не является персептроном:
функции ϕ
ik не линейны, а функции h k
зависят от f , и в общем случае не являются дифференцируемыми.
4. Известна классическая теорема Вейерштрасса о том, что любую непрерыв- ную функцию n переменных можно равномерно приблизить полиномом с любой сте- пенью точности. Более общая теорема Стоуна утверждает, что любую непрерывную функцию на произвольном компакте X можно приблизить не только многочленом от исходных переменных, но и многочленом от любого конечного набора функций F ,
разделяющих точки [
11
].
Опр. 1.1. Набор функций F называется разделяющим точки множества X, если для любых различных x, x

∈ X существует функция f ∈ F такая, что f (x) = f (x

).
Теорема 1.2 (Стоун, 1948). Пусть X — компактное пространство, C(X) — ал- гебра непрерывных на
X вещественных функций, F — кольцо в C(X), содержащее константу
(1 ∈ F ) и разделяющее точки множества X. Тогда F плотно в C(X).

5
GFED
@ABC
x
1
GFED
@ABC
x j
GFED
@ABC
x n
GFED
@ABC
−1
σ
1
σ
h
σ
H
GFED
@ABC
−1
w
11
//
w
1
h
‚
‚
‚
))
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
w
1
H
i i
i i
""i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i w
j1
l l
l
55
l l
l l
l l
l l
l l
l l
l l
l l
l l
w jh
//
w jH
‚
‚
‚
))
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
w n1
y y
y y
y
<y y
y y
y y
y y
y y
y y
y y
y y
y y
y y
w nh l
l l
55
l l
l l
l l
l l
l l
l l
l l
l l
l l
w nH
//
w
01
FF
w
0
h
AA
w
0
H
::
σ
1
σ
m
σ
M
w
11
//
w
1
m
‚
‚
‚
))
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
w
1
M
i i
i i
""i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i w
h1
l l
l
55
l l
l l
l l
l l
l l
l l
l l
l l
l l
w hm
//
w hM
‚
‚
‚
))
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
w
H1
y y
y y
<y y
y y
y y
y y
y y
y y
y y
y y
y y
y y
w
Hm l
l l
55
l l
l l
l l
l l
l l
l l
l l
l l
l l
w
HM
//
w
01
FF
w
0
m
AA
w
0
M
::
a
1
a m
a
M
//
//
//
входной слой,
n признаков скрытый слой,
H нейронов выходной слой,
M нейронов
Рис. 4. Многослойная сеть с одним скрытым слоем.
На самом деле справедливо ещё более общее утверждение. Оказывается, вместо многочленов (суперпозиции операций сложения и умножения) можно пользоваться суперпозициями сложения и какой-нибудь (практически произвольной) непрерывной нелинейной функции одного аргумента [
2
]. Этот результат имеет прямое отноше- ние к нейронным сетям, поскольку они строятся из операций сложения, умножения и нелинейных функций активации.
Опр. 1.2. Набор функций F ⊆ C(X) называется замкнутым относительно функ- ции
ϕ : R → R, если для любого f ∈ F выполнено ϕ(f) ∈ F .
Теорема 1.3 (Горбань, 1998). Пусть X — компактное пространство, C(X) — ал- гебра непрерывных на
X вещественных функций, F — линейное подпространство в
C(X), замкнутое относительно нелинейной непрерывной функции ϕ, содержащее константу
(1 ∈ F ) и разделяющее точки множества X. Тогда F плотно в C(X).
Это интерпретируется как утверждение об универсальных аппроксимационных возможностях произвольной нелинейности: с помощью линейных операций и един- ственного нелинейного элемента ϕ можно получить устройство, вычисляющее любую непрерывную функцию с любой желаемой точностью. Однако данная теорема ничего не говорит о количестве слоёв нейронной сети (уровней вложенности суперпозиции)
и о количестве нейронов, необходимых для аппроксимации произвольной функции.
Таким образом, нейронные сети являются универсальными аппроксиматорами функций. Возможности сети возрастают с увеличением числа слоёв и числа нейро- нов в них. Двух-трёх слоёв, как правило, достаточно для решения подавляющего большинства практических задач классификации, регрессии и прогнозирования.
§1.2
Многослойные нейронные сети
Многослойные сети, так же, как и однослойный персептрон, можно настраи- вать градиентными методами, несмотря на огромное количество весовых коэффици-

6
ентов. В середине 80-х одновременно несколькими исследователями был предложен эффективный способ вычисления градиента, при котором каждый градиентный шаг выполняется за число операций, лишь немногим большее, чем при обычном вычисле- нии сети на одном объекте. Это кажется удивительным — ведь количество операций,
необходимых для вычисления градиента, обычно возрастает пропорционально чис- лу весовых коэффициентов. Здесь этого удаётся избежать благодаря аналитическо- му дифференцированию суперпозиции с сохранением необходимых промежуточных величин. Метод получил название обратного распространения ошибок (error back- propagation) [
10
].
1.2.1
Метод обратного распространения ошибок
Рассмотрим многослойную сеть, в который каждый нейрон предыдущего слоя связан со всеми нейронами последующего слоя, Рис.
4
. Такая сеть называется пол- носвязной
. Для большей общности положим X = R
n
, Y = R
M
Введём следующие обозначения. Пусть выходной слой состоит из M нейро- нов с функциями активации σ
m и выходами a m
, m = 1, . . . , M . Перед ним находится скрытый слой из H нейронов с функциями активации σ
h и выходами u h
, h = 1, . . . , H.
Веса синаптических связей между h-м нейроном скрытого слоя и m-м нейроном вы- ходного слоя будем обозначать через w hm
. Перед этим слоем может находиться либо распределительный слой, либо ещё один скрытый слой с выходами v j
, j = 1, . . . , J
и синаптическими весами w jh
. В общем случае число слоёв может быть произволь- ным. Если сеть двухслойная, то v j
есть просто j-й признак: v j
(x) ≡ f j
(x) ≡ x j
,
и J = n. Обозначим через w вектор всех синаптических весов сети.
Выходные значения сети на объекте x i
вычисляются как суперпозиция:
a m
(x i
) = σ
m
H
h=0
w hm u
h
(x i
) ;
u h
(x i
) = σ
h
J
j=0
w jh v
j
(x i
) .
(1.1)
Запишем функционал среднеквадратичной ошибки для отдельного объекта x i
:
Q(w) =
1 2
M
m=1
a m
(x i
) − y m
i
2
(1.2)
В дальнейшем нам понадобятся частные производные Q по выходам нейронов.
Выпишем их сначала для выходного слоя:
∂Q(w)
∂a m
= a m
(x i
) − y m
i
= ε
m i
Оказывается, частная производная Q по a m
равна величине ошибки ε
m i
на объекте x i
Теперь выпишем частные производные по выходам скрытого слоя:
∂Q(w)
∂u h
=
M
m=1
a m
(x i
) − y m
i
σ

m w
hm
=
M
m=1
ε
m i
σ

m w
hm
= ε
h i
Эту величину, по аналогии с ε
m i
, будем называть ошибкой сети на скрытом слое и обозначать через ε
h i
. Через σ

m обозначена производная функции активации, вы- численная при том же значении аргумента, что и в (
1.1
). Если используется сигмо- идная функция активации, то для эффективного вычисления производной можно воспользоваться формулой σ

m
= σ
m
(1 − σ
m
) = a m
(x i
) 1 − a m
(x i
) .

7
Заметим, что ε
h i
вычисляется по ε
m i
, если запустить сеть «задом наперёд», подав на выходы нейронов скрытого слоя значения ε
m i
σ

m
, а результат ε
h получив на входе.
При этом входной вектор скалярно умножается на вектор весов w hm
, находящих- ся справа от нейрона, а не слева, как при прямом вычислении (отсюда и название алгоритма — обратное распространение ошибок):
ε
h i
ε
1
i
σ

1
ε
M
i
σ

M
oo tt w
h1
j j
j j
j j
j jj w
hM
„
„
„
„
„
„
„
Имея частные производные по a m
и u h
, легко выписать градиент Q по весам:
∂Q(w)
∂w hm
=
∂Q(w)
∂a m
∂a m
∂w hm
= ε
m i
σ

m u
h
,
m = 1, . . . , M,
h = 0, . . . , H;
(1.3)
∂Q(w)
∂w jh
=
∂Q(w)
∂u h
∂u h
∂w jh
= ε
h i
σ

h v
j
,
h = 1, . . . , H,
j = 0, . . . , J;
(1.4)
и так далее для каждого слоя. Если слоёв больше двух, то остальные частные про- изводные вычисляются аналогично — обратным ходом по слоям сети справа налево.
Теперь мы обладаем всем необходимым, чтобы полностью выписать алгоритм обратного распространения, см. Алгоритм
1.1
Достоинства метода обратного распространения.
• Достаточно высокая эффективность. В случае двухслойной сети прямой ход,
обратный ход и вычисления градиента требуют порядка O(Hn+HM ) операций.
• Через каждый нейрон проходит информация только о связных с ним нейронах.
Поэтому back-propagation легко реализуется на вычислительных устройствах с параллельной архитектурой.
• Высокая степень общности. Алгоритм легко записать для произвольного числа слоёв, произвольной размерности выходов и выходов, произвольной функции потерь и произвольных функций активации, возможно, различных у разных нейронов. Кроме того, back-propagation можно применять совместно с различ- ными градиентными методами оптимизации: методом скорейшего спуска, со- пряженных градиентов, Ньютона-Рафсона и др.
Недостатки метода обратного распространения.
• Метод наследует известные недостатки градиентной настройки весов в одно- слойном персептроне. Здесь также возникают проблемы медленной сходимости или расходимости, «застревания» в локальных минимумах функционала Q, пе- реобучения и паралича. Причём парализоваться могут отдельные связи, ней- роны, или вся сеть в целом.
• Приходится заранее фиксировать число нейронов скрытого слоя H. В то же вре- мя, это критичный параметр сложности сети, от которого может существенно зависеть качество обучения и скорость сходимости.

8
Алгоритм 1.1. Обучение двухслойной сети методом back-propagation — обратного распространения ошибки
Вход:
X

= (x i
, y i
)

i=1
— обучающая выборка, x i
∈ R
n
, y i
∈ R
M
;
H — число нейронов в скрытом слое;
η — темп обучения;
Выход:
синаптические веса w jh
, w hm
;
1:
инициализировать веса небольшими случайными значениями:
w jh
:= random −
1 2n
,
1 2n
;
w hm
:= random −
1 2H
,
1 2H
;
2:
повторять
3:
выбрать объект x i
случайным образом;
4:
прямой ход:
u h
i
:= σ
h
J
j=0
w jh v
j
(x i
) , для всех h = 1, . . . , H;
a m
i
:= σ
m
H
h=0
w hm u
h
(x i
) , для всех m = 1, . . . , M ;
ε
m i
:= a m
i
− y m
i
, для всех m = 1, . . . , M ;
Q
i
:=
M
m=1

m i
)
2
;
5:
обратный ход:
ε
h i
:=
M
m=1
ε
m i
σ

m w
hm
, для всех h = 1, . . . , H;
6:
градиентный шаг:
w hm
:= w hm
− ηε
m i
σ

m u
h
, для всех h = 0, . . . , H, m = 1, . . . , M ;
w jh
:= w jh
− ηε
h i
σ

h x
j
, для всех j = 0, . . . , n, h = 1, . . . , H;
7:
Q :=
ℓ−1

Q +
1

Q
i
;
8:
пока
Q не стабилизируется;
Для улучшения сходимости и качества градиентного обучения применяются все те же приёмы, которые рекомендовались в ?? для обучения однослойного персептро- на методом стохастического градиента. К ним добавляется ряд новых рекомендаций,
связанных с многослойностью.
Выбор начального приближения.
Для предотвращения паралича синаптические веса должны инициализироваться небольшими по модулю значениями. В Алго- ритме
1.1
на шаге 1 веса инициализируются случайными значениями из отрезка

1 2k
,
1 2k
, где k — число нейронов в том слое, из которого выходит данный синапс.
В этом случае (и при условии, что все признаки нормализованы) значения скаляр- ных произведений гарантированно попадают в «рабочую зону» функций активации,
представленных на Рис. ??.
Существует и более тонкий способ формирования начального приближения.
Идея заключается в том, чтобы сначала настроить нейроны первого слоя по- отдельности, как H однослойных персептронов. Затем по-отдельности настраивают- ся нейроны второго слоя, которым на вход подаётся вектор выходных значений пер- вого слоя. Чтобы сеть не получилась вырожденной, нейроны первого слоя должны быть существенно различными. Ещё лучше, если они будут хоть как-то приближать целевую зависимость, тогда второму слою останется только усреднить результаты

9
первого слоя, сгладив ошибки некоторых нейронов
2
. Добиться этого совсем неслож- но, если обучать нейроны первого слоя на различных случайных подвыборках, ли- бо подавать им на вход различные случайные подмножества признаков. Отметим,
что при формировании начального приближения не требуется особая точность на- стройки, поэтому отдельные нейроны можно обучать простейшими градиентными методами.
Выбор градиентного метода оптимизации.
К сожалению, градиентные методы первого порядка сходятся довольно медленно, и потому редко применяются на прак- тике. Ньютоновские методы второго порядка также непрактичны, но по другой при- чине — они требуют вычисления матрицы вторых производных функционала Q(w),
имеющей слишком большой размер. Метод сопряжённых градиентов этого не требу- ет, однако применять его непосредственно нельзя, так как он существенно опирается на предположение неизменности функционал Q(w), а в методе стохастического гра- диента функционал меняется при предъявлении каждого нового объекта. Необходи- мы специальные ухищрения, чтобы приспособить стандартные методы оптимизации для настройки нейронных сетей. В обзоре [
7
] даются следующие рекомендации.
1. Если обучающая выборка имеет большой объём (порядка нескольких сотен объектов и более), или если решается задача классификации, то можно использовать метод стохастического градиента с адаптивным шагом.
2. Диагональный метод Левенберга–Марквардта сходится в несколько раз быст- рее. В этом методе величина шага вычисляется индивидуально для каждого весового коэффициента, при этом используется только один диагональный элемент матрицы вторых производных:
η
jh
=
η

2
Q
∂w
2
jh
+ µ,
где η остаётся глобальным параметром темпа обучения, µ — новый параметр, предот- вращающий обнуление знаменателя, и, соответственно, неограниченное увеличение шага. Отношение η/µ есть темп обучения на ровных участках функционала Q(w),
где вторая производная обращается в нуль. Диагональный элемент матрицы вторых производных вычисляется с помощью специального варианта back-propagation.
3. Если обучающая выборка имеет небольшой объём, или если решается задача регрессии, то лучше использовать адаптированные варианты метода сопряжённых градиентов. Адаптация заключается в том, что объекты предъявляются не по од- ному, а пакетами (batch learning). Состав пакета может формироваться случайным образом. Для каждого пакета минимизируемый функционал остаётся фиксирован- ным, что позволяет применить метод сопряжённых градиентов.
1.2.2
Оптимизация структуры сети
Выбор структуры сети, то есть числа слоёв, числа нейронов и числа связей для каждого нейрона, является, пожалуй, наиболее сложной проблемой. Существу-
2
Фактически, такая двуслойная сеть является простейшей алгоритмической композицией. Ней- роны первого скрытого слоя играют роль базовых алгоритмов, нейроны второго слоя реализуют корректирующую операцию
. Обучение первого слоя по случайным подвыборкам с последующим взвешенным усреднением во втором слое в точности соответствует методу бэггинга
(bagging),
см. раздел ??. Композиции общего вида рассматриваются в главе ??.

10
ют различные стратегии поиска оптимальной структуры сети: постепенное наращи- вание, построение заведомо слишком сложной сети с последующим упрощением, по- очерёдное наращивание и упрощение.
Проблема выбора структуры тесно связана с проблемами недообучения и пе- реобучения. Слишком простые сети не способны адекватно моделировать целевые зависимости в реальных задачах. Слишком сложные сети имеют избыточное чис- ло свободных параметров, которые в процессе обучения настраиваются не только на восстановление целевой зависимости, но и на воспроизведение шума.
Выбор числа слоёв.
Если в конкретной задаче гипотеза о линейной разделимости классов выглядит правдоподобно, то можно ограничиться однослойным персептро- ном. Двухслойные сети позволяют представлять извилистые нелинейные границы,
и в большинстве случаев этого хватает. Трёхслойными сетями имеет смысл пользо- ваться для представления сложных многосвязных областей. Чем больше слоёв, тем более богатый класс функций реализует сеть, но тем хуже сходятся градиентные методы, и тем труднее её обучить.
Выбор числа нейронов в скрытом слое
H
производят различными способами,
но ни один из них не является лучшим.
1. Визуальный способ. Если граница классов (или кривая регрессии) слиш- ком сглажена, значит, сеть переупрощена, и необходимо увеличивать число нейронов в скрытом слое. Если граница классов (или кривая регрессии) испытывает слишком резкие колебания, на тестовых данных наблюдаются большие выбросы, веса сети принимают большие по модулю значения, то сеть переусложнена, и скрытый слой следует сократить. Недостаток этого способа в том, что он подходит только для задач с низкой размерностью пространства (небольшим числом признаков).
2. Оптимизация H по внешнему критерию, например, по критерию скользя- щего контроля или средней ошибки на независимой контрольной выборке Q(X
k
).
Зависимость внешних критериев от параметра сложности, каким является H, обыч- но имеет характерный оптимум. Недостаток этого способа в том, что приходится много раз заново строить сеть при различных значениях параметра H, а в случае скользящего контроля — ещё и при различных разбиениях выборки на обучающую и контрольную части.
Динамическое добавление нейронов.
Сначала сеть обучается при заведомо недо- статочной мощности среднего слоя H ≪ ℓ. Обучение происходит до тех пор, пока ошибка не перестанет убывать. Тогда добавляется один или несколько новых ней- ронов. Веса новых связей инициализируются небольшими случайными числами, ли- бо добавленные нейроны обучаются по-отдельности как однослойные персептроны.
Во втором случае можно рекомендовать обучать новый персептрон на случайной под- выборке, возможно, добавив в неё те объекты, на которых текущая сеть допустила наибольшие ошибки. Веса старых связей не меняются. Затем проводится настройка сети методом обратного распространения.
После добавления новых нейронов ошибка, как правило, сначала резко воз- растает, затем быстро сходится к меньшему значению. Интересно, что общее время обучения обычно оказывается лишь в 1.5–2 раза больше, чем если бы в сети сра-

11
зу было нужное количество нейронов. Это означает, что информация, накопленная в сети, является полезной и не теряется при добавлении новых нейронов.
При постепенном наращивании сети целесообразно наблюдать за динамикой какого-нибудь внешнего критерия. Прохождение значения Q(X
k
) через минимум яв- ляется надёжным критерием останова, так как свидетельствует о переобученности,
вызванной чрезмерным усложнением сети.
Удаление избыточных связей.
Метод оптимального прореживания сети (optimal brain damage, OBD) [
8
,
5
] удаляет те связи, к изменению которых функционал Q
наименее чувствителен. Уменьшение числа весов снижает склонность сети к пере- обучению.
Метод OBD основан на предположении, что после стабилизации функционала ошибки Q вектор весов w находится в локальном минимуме, где функционал может быть аппроксимирован квадратичной формой:
Q(w + δ) = Q(w) +
1 2
δ
т
H(w)δ + o( δ
2
),
где H(w) =

2
Q(w)
∂w jh
∂w j′h′
— гессиан, матрица вторых производных. Как и в диагональ- ном методе Левенберга–Марквардта, предполагается, что диагональные элементы доминируют в гессиане, а остальными частными производными можно пренебречь,
положив их равными нулю. Это предположение носит эвристический характер и вво- дится для того, чтобы избежать трудоёмкого вычисления всего гессиана.
Если гессиан H(w) диагонален, то
δ
т
H(w)δ =
J
j=0
H
h=1
δ
2
jh

2
Q(w)
∂w
2
jh
Обнуление веса w jh эквивалентно выполнению условия w jh
+ δ
jh
= 0. Введём величину значимости (salience) синаптической связи, равную изменению функцио- нала Q(w) при обнулении веса: S
jh
= w
2
jh

2
Q(w)
∂w
2
jh
Эвристика OBD заключается в том, чтобы удалить из сети d синапсов, соот- ветствующих наименьшим значениям S
jh
. Здесь d — это ещё один параметр метода настройки. После удаления производится цикл итераций до следующей стабилизации функционала Q. При относительно небольших значениях d градиентный алгоритм довольно быстро находит новый локальный минимум Q. Процесс упрощения сети останавливается, когда внутренний критерий стабилизируется, либо когда задан- ный внешний критерий начинает возрастать.
Обнуление веса w jh между входным и скрытым слоями означает, что h-й ней- рон скрытого слоя не будет учитывать j-й признак. Тем самым происходит отбор информативных признаков для h-го нейрона скрытого слоя.
Метод OBD легко приспособить и для настоящего отбора признаков. Вводит- ся суммарная значимость признака S
j
=
H
h=1
S
jh
, и из сети удаляется один или несколько признаков с наименьшим значением S
j
Обнуление веса w hm между скрытым и выходным слоями означает, что m-е вы- ходное значение не зависит от h-го нейрона скрытого слоя. Если выход одномерный
(M = 1), то h-й нейрон можно удалить. В случае многомерного выхода для удаления нейронов скрытого слоя вычисляется суммарная значимость S
h
=
M
m=1
S
hm

12
§1.3
Сети Кохонена
До сих пор мы рассматривали нейронные сети, предназначенные для обучения с учителем, когда для каждого объекта x i
задан соответствующий ему ответ y i
. Сети
Кохонена решают задачи обучения без учителя, когда задаются только сами объек- ты x i
, и требуется выделить обособленные «плотные сгустки» объектов — кластеры,
и научиться относить новые объекты к этим кластерам.
Кластеризация основывается на предположении, что в пространстве X введе- на метрика ρ : X × X → R, адекватно оценивающая степень сходства любой пары объектов.
1.3.1
Модели конкурентного обучения
Пусть X = R
n
— пространство объектов, Y = {1, . . . , M } — множество кла- стеров, число M фиксировано. Задана обучающая выборка объектов X

= {x i
}

i=1
Требуется выработать правило отнесения объектов к кластерам a : X → Y .
Правило жёсткой конкуренции WTA.
Наиболее очевидный подход заключается в том, чтобы ввести векторы w m
∈ R
n
, m = 1, . . . , M , описывающие центры класте- ров, и относить произвольный объект x ∈ X к ближайшему кластеру:
a(x) = arg min m∈Y
ρ(x, w m
).
(1.5)
Образно говоря, кластеры соревнуются за право присоединить к себе объект x.
Кластер, ближайший к x, называется кластером-победителем, а выражение (
1.5
) —
правилом WTA
(winner takes all).
Настройка алгоритма кластеризации a(x) сводится к оптимизации расположе- ния центров w m
. Для этого минимизируется функционал качества кластеризации,
равный среднему квадрату расстояния между объектами и центрами кластеров:
Q(w
1
, . . . , w
M
) =
1 2

i=1
ρ
2
(x i
, w a(x i
)
) → min .
Допустим, что метрика евклидова: ρ(x, w) = x−w . Тогда можно выписать градиент функционала Q по вектору w m
:
∂Q
∂w m
=

i=1
(w m
− x i
) a(x i
) = m .
Для поиска центров кластеров w m
можно применить метод стохастического градиента — Алгоритм ??, практически без модификаций. Единственное отличие заключается в том, что теперь правило обновления весов на шаге 6 будет иметь вид w
m
:= w m
+ η(x i
− w m
) a(x i
) = m ,
(1.6)
где x i
∈ X

— случайным образом выбранный обучающий объект, η — градиентный шаг, он же темп обучения. Смысл данного правила очевиден: если объект x i
отно- сится к кластеру m, то центр этого кластера w m
немного сдвигается в направлении объекта x i
, остальные центры не изменяются.

13
GFED
@ABC
x
1
· · ·
GFED
@ABC
x n
ρ(x, w
1
)
· · ·
ρ(x, w
M
)
arg min a(x)
w
1 1
//
w
1
M
c c
c
c c
c c
c c
c c
c c
w n
1



??









w n
M
//
&&v v
v v
v v
88r r
r r
r r
//
Рис. 5. Представление алгоритма кла- стеризации (
1.5
) в виде двухслойной ней- ронной сети.
Формальное сходство формулы (
1.6
) с персептронным правилом наводит на мысль, что кластеризация осуществляется алгоритмом, аналогичным нейронной сети. Выражение (
1.5
) и в самом деле представимо в виде двухслойной суперпозиции,
только вместо привычных скалярных произведений x, w m
вычисляются функции расстояния ρ(x, w m
), а на выходе вместо суммирования применяется операция мини- мума, см. Рис.
5
. При этом центры кластеров w m
взаимно однозначно соответствуют нейронам скрытого стоя, которые называются нейронами Кохонена. Нейрон, выход которого минимален, называется нейроном-победителем.
Рассмотренная разновидность нейронных сетей называется сетью с конкурент- ным обучением
. Исходно она была предложена как чисто математическая модель.
Позже нейрофизиологам удалось найти некоторые её аналоги в биологических ней- ронных сетях [
4
].
Альтернативное название — обучающееся векторное квантование (learning vector quantization, LVQ) — связано с тем, что по исходной выборке из ℓ объектов x i
строятся M новых объектов w m
, похожих на исходные, — это центры ячеек, по кото- рым распределяются («квантуются») исходные объекты. Как правило, M ≪ ℓ, по- этому замена объектов на ближайшие к ним центры позволяет эффективно сжимать данные при незначительной потере информации. Объём сохраняемой информации регулируется единственным параметром M , что достаточно удобно в приложениях.
Правило справедливой конкуренции CWTA.
Недостаток конкурентного обуче- ния по правилу WTA заключается в том, что при случайной инициализации весов нейрон Кохонена может попасть в такую область, где он никогда не станет победи- телем. В результате появится неинформативный пустой кластер.
Для преодоления этого недостатка алгоритм (
1.5
) немного модифицируется.
Вводится «механизм утомления» победителей — правило CWTA (conscience WTA):
a(x) = arg min m∈Y
C
m
ρ(x, w m
),
(1.7)
где C
m
— количество побед m-го нейрона в ходе обучения. Таким образом, кластеры штрафуются за слишком частое присоединение объектов.
Правило мягкой конкуренции WTM.
Другим недостатком правила WTA являет- ся медленная скорость сходимости, связанная с тем, что на каждой итерации моди- фицируется только один нейрон-победитель w m
. Для ускорения сходимости, особен- но на начальных итерациях, можно подстраивать сразу несколько нейронов, близких к объекту x i
. Для этого вводится ядро — неотрицательная монотонно убывающая на
[0, +∞) функция расстояния K(ρ). Иногда накладывается дополнительное требова- ние нормировки K(0) = 1. Часто берут гауссовское ядро K(ρ) = exp(−βρ
2
) при

14
некотором β > 0. Вместо правила жёсткой конкуренции WTA вводится мягкая кон- куренция — правило WTM (winner takes most):
w m
:= w m
+ η(x i
− w m
) K ρ(x i
, w m
) ,
m = 1, . . . , M.
(1.8)
Теперь на каждой итерации центры всех кластеров смещаются в сторону x i
, но чем дальше центр находится от x i
, тем меньше величина смещения. Заметим, что (
1.6
)
является частным случаем (
1.8
), если положить K ρ(x i
, w m
) = [a(x i
) = m].
На начальных итерациях имеет смысл выбрать небольшое значение коэффици- ента β, чтобы все весовые векторы успели переместиться ближе к области входных векторов. Затем β можно увеличивать, делая конкуренцию всё более жёсткой, и по- степенно переходя к коррекции только одного нейрона-победителя.
Благодаря способности к сглаживанию, правило WTM имеет многочисленные применения. Одно из важнейших — самоорганизующиеся карты Кохонена.
1.3.2
Самоорганизующиеся карты Кохонена
Самоорганизующиеся карты Кохонена
(self-organizing maps, SOM) применяют- ся для визуализации многомерных данных. Они дают лишь общую картину, довольно размытую и подверженную искажениям, поскольку спроецировать многомерную вы- борку на плоскость без искажений в общем случае невозможно. Тем не менее, карты
Кохонена позволяют увидеть ключевые особенности кластерной структуры выбор- ки. Они используются на стадии разведочного анализа данных, скорее для общего понимания задачи, чем для получения каких-либо точных результатов.
Идея заключается в том, чтобы спроецировать все объекты выборки на плоскую карту, точнее, на множество узлов прямоугольной сетки заранее заданного размера
M × H. На практике M и H имеют порядок десятков или сотен. Каждому узлу сетки приписывается нейрон Кохонена с вектором весов w mh
∈ R
n
, m = 1, . . . , M ,
h = 1, . . . , H. Таким образом, множество Y совпадает с множеством узлов сетки,
Y = {1, . . . , M } × {1, . . . , H}.
Алгоритм кластеризации a(x) выдаёт пару индексов (m, h) ∈ Y , показываю- щих, в какой узел сетки проецируется объект x. Чтобы карта отражала кластерную структуру выборки, близкие объекты должны попадать в близкие узлы сетки.
Обучение нейронов производится методом стохастического градиента, см. Ал- горитм
1.2
. После случайного выбора объекта x i
на шаге 3 определяется нейрон- победитель согласно правилу WTA. Соответствующий ему узел сетки обозначается в алгоритме через (m i
, h i
). Затем, согласно правилу WTM, этот нейрон и нейроны,
расположенные в ближайших узлах сетки, сдвигаются в сторону вектора x i
. Правило обучения, применяемое на шаге 6, схоже с (
1.8
), только вместо метрики ρ(x, x

), опре- делённой на пространстве объектов, используется евклидова метрика на множестве узлов сетки Y :
r (m i
, h i
), (m, h) =
(m − m i
)
2
+ (h − h i
)
2
По прежнему, K(ρ) — ядро сглаживания, например, K(ρ) = exp(−βρ
2
). Пара- метр β задаёт степень сглаженности карты: чем меньше β, тем мягче конкуренция нейронов, и тем более сглаженными будут выглядеть границы кластеров на кар- те. Имеет смысл увеличивать значение параметра β от итерации к итерации, чтобы

15
Алгоритм 1.2. Обучение карты Кохонена методом стохастического градиента
Вход:
X

— обучающая выборка;
η — темп обучения;
Выход:
Векторы синаптических весов w mh
, m = 1, . . . , M , h = 1, . . . , H;
1:
инициализировать веса:
w mh
:= random −
1 2M H
,
1 2M H
;
2:
повторять
3:
выбрать объект x i
из X

случайным образом;
4:
WTA: вычислить координаты узла, в который проецируется объект x i
:
(m i
, h i
) := a(x i
) ≡ arg min
(m,h)∈Y
ρ(x i
, w mh
);
5:
для всех
(m, h) ∈ Y , достаточно близких к (m i
, h i
)
6:
WTM: сделать шаг градиентного спуска:
w mh
:= w mh
+ η(x i
− w mh
) K r((m i
, h i
), (m, h)) ;
7:
пока размещение всех объектов в узлах сетки не стабилизируется;
сеть Кохонена сначала обучилась кластерной структуре «в общих чертах», а затем сосредоточилась на деталях.
Алгоритм останавливается, когда проекции всех, или хотя бы большинства,
объектов выборки (m i
, h i
) = a(x i
) перестанут меняться от итерации к итерации.
Искусство интерпретации карт Кохонена.
Если через настроенную карту Кохо- нена (алгоритм a(x)) пропустить все объекты обучающей выборки X

, то кластеры исходного пространства отобразятся в сгустки точек на карте. При этом векторы весов в узлах-сгустках должны быть одновременно похожи на все объекты соответ- ствующих кластеров.
Обычно для каждой точки карты вычисляют среднее расстояние до k ближай- ших точек выборки, и полученное распределение средних расстояний отображают в виде двухцветной полутоновой карты. Чем меньше среднее расстояние, тем выше локальная плотность точек на карте. На той же карте отмечают и сами точки обуча- ющей выборки. На карте хорошо видно, сколько кластеров выделено, в каких местах они расположились, и какие объекты выборки в них попадают.
Следующий шаг — поиск интерпретации кластеров. Для этого строятся ещё
n карт, по одной карте на каждый признак. Теперь цвет узла (m, h) соответству- ет значению j-й компоненты вектора весов w m,h
. Обычно эти карты раскрашивают в геодезические цвета от синего до коричневого. Синие участки карты соответству- ют наименьшим значениям j-го признака, красные — наибольшим. Сравнивая карты признаков с общей картой кластеров, можно найти кластеры, которым свойственны повышенные или пониженные значения отдельных признаков.
В результате содержательная интерпретация кластеров формулируется путём перечисления всех признаков, имеющих либо повышенные, либо пониженные значе- ния в каждом из кластеров.
Ещё один способ интерпретации — выделение на карте всех узлов, в которые по- падает выбранное подмножество объектов. Если объекты сгруппировались в одном

16
месте, значит мы имеем дело с кластером или его частью. Выделяя различные под- множества объектов, имеющие заведомо известную содержательную интерпретацию,
можно находить интерпретации различных зон на карте.
Недостатки карт Кохонена.
• Субъективность. Не всегда ясно, какие особенности карты обусловлены кла- стерной структурой данных, а какие — свойствами сглаживающего ядра.
От выбора параметра β существенно зависит сглаженность границ кластеров и степень детализации карты.
• Наличие искажений. Близкие объекты исходного пространства могут перехо- дить в далёкие точки на карте. В частности, объективно существующие класте- ры могут разрываться на фрагменты [
6
]. И наоборот, далёкие объекты могут случайно оказаться на карте рядом, особенно, если они были одинаково дале- ки от всех кластеров. Искажения неизбежны при проецировании многомерной выборки на плоскость. Распределение точек на карте позволяет судить лишь о локальной структуре многомерных данных, и то не всегда.
• Зависимость от инициализации. Начальное распределение весов существенно влияет на процесс обучения и может сказываться не только на расположении кластеров, но даже на их количестве. Иногда рекомендуется построить несколь- ко карт и выбрать из них наиболее «удачную».
Не секрет, что популярность карт Кохонена обусловлена в значительной сте- пени их эстетической привлекательностью и впечатлением наукообразной загадоч- ности, которое они производят на неискушённого пользователя. На практике они применяются в основном как вспомогательное средство для предварительного визу- ального анализа и выявления некоторых закономерностей в многомерных данных.
1.3.3
Гибридные сети встречного распространения
Ещё одно важное применение нейронов Кохонена с их способностью кластери- зовать исходные векторы — кусочная аппроксимация функций.
Рассмотрим задачу восстановления регрессии, когда на элементах обучающей выборки X

= {x i
}

i=1
заданы вещественные ответы y i
= y

(x i
). Идея заключается в том, чтобы сначала разбить обучающие объекты (и всё пространство X) на класте- ры, не пользуясь ответами y i
, затем для каждого кластера построить свою локаль- ную аппроксимацию целевой зависимости y

. При использовании жёсткой конку- ренции WTA эти аппроксимации образуют кусочно-непрерывную функцию. Мягкая конкуренция WTM «склеивает» из локальных кусков гладкую аппроксимацию.
Кусочно-постоянная аппроксимация.
Чтобы алгоритм кластеризации (
1.5
) пре- вратить в алгоритм кусочной аппроксимации, к нему добавляется ещё один нейрон

17
с линейной функцией активации, образующий третий слой с весами v
1
, . . . , v
M
:
a(x) = v m

(x)
=
M
m=1
v m
m

(x) = m ;
(1.9)
m

(x) = arg min m=1,...,M
ρ(x, w m
);
где m

(x) — номер нейрона-победителя на объекте x, вычисляемый по правилу WTA.
При квадратичной функции потерь задача настройки весов v m
легко решается аналитически:
Q(v) =
1 2

i=1
a(x i
) − y i
2
→ min v
;
∂Q
∂v m
=

i=1
a(x i
) − y i
m

(x i
) = m = 0.
Подставляя сюда выражение для a(x i
) из (
1.9
), получаем v
m
=

i=1
y i
m

(x i
) = m

i=1
m

(x i
) = m
Проще говоря, оптимальное значение весового коэффициента v m
есть среднее y i
по всем объектам x i
, попавшим в m-й кластер. Ответ алгоритма a(x) для всех объек- тов, попадающих в m-й кластер, будет одинаков и равен v m
. Это означает, что a(x)
реализует кусочно-постоянную функцию.
Гладкая аппроксимация строится с помощью правила мягкой конкуренции WTM
при выбранном гладком ядре K(ρ). Алгоритм a(x) представляет собой формулу На- дарая-Ватсона для сглаживания ответов v m
по M точкам — центрам кластеров:
a(x) =
M
m=1
v m
K ρ(x, w m
)
M
s=1
K ρ(x, w s
)
В этом случае задача минимизации Q(v) сводится к решению системы линейных уравнений размера M × M . Вместо явного решения системы можно снова воспользо- ваться методом стохастического градиента. На каждой итерации обновляются и веса слоя Кохонена w m
, и веса третьего (выходного) слоя v m
:





w m
:= w m
− η(w m
− x i
)K ρ(x i
, w m
) ;
v m
:= v m
− η(a(x i
) − y i
)
K ρ(x i
, w m
)
M
s=1
K ρ(x i
, w s
)
;
Заметим, что обновление весов w m
влияет на веса v m
, а обратного влияния нет.
Данный метод получил название встречного распространения ошибки, по- скольку второй слой настраивается по правилу Кохонена, а третий слой — так же,
как в методе back-propagation.

18
Резюме
1. Проблема полноты связана с вопросом «насколько богатый класс функций спо- собны реализовать нейронные сети той или иной структуры?» Однослойный персептрон способен разделять множества точек гиперплоскостью. Двухслой- ные сети способны аппроксимировать произвольные выпуклые области. Трёх- слойные сети способны аппроксимировать области произвольной формы. Для этого функция активации обязана быть нелинейной.
2. Метод обратного распространения ошибок основан на технике быстрого диф- ференцирования суперпозиции функций. Он позволяет настраивать сети прак- тически любой архитектуры, с любым числом слоёв. Однако он не всегда схо- дится, может «застревать» в локальных минимумах, попадать в состояние па- ралича (если функция активации имеет горизонтальную асимптоту) и переобу- чаться (если сеть имеет избыточное количество весовых коэффициентов). Для решения этих проблем выработано большое количество подходов и эвристик.
3. Проблема паралича сети решается с помощью нормировки исходных данных,
аккуратного выбора начального приближения, использования функций акти- вации без горизонтальных асимптот, сокращения весов (регуляризации).
4. Проблема сходимости, связанная с «застреванием» в локальных минимумах,
решается путём смешения стратегий градиентного спуска и случайного локаль- ного поиска. Для увеличения скорости сходимости применяется оптимизация величины темпа обучения (метод скорейшего спуска), оптимизация порядка предъявления объектов (перетасовка объектов), диагональный метод Левен- берга-Марквардта или другие методы второго порядка.
5. Проблема переобучения решается с помощью регуляризации (сокращения ве- сов), раннего останова и оптимизации структуры сети.
6. Оптимизация структуры сети — числа слоёв, числа нейронов в каждом слое и числа связей для каждого нейрона — может производиться различными спо- собами. Выбор числа нейронов в скрытом слое по скользящему контролю яв- ляется слишком трудоёмкой процедурой и годится только для очень простых задач. Более эффективны процедуры динамического добавления и удаления нейронов и отдельных связей. Метод оптимального прореживания сети (OBD)
позволяет выявлять и удалять наименее значимые связи, неинформативные признаки и избыточные нейроны в скрытых слоях.
7. Сети Кохонена решают задачу кластеризации, используя евклидову метри- ку между объектами. Правила мягкой и жёсткой конкуренции возникают как следствия градиентной минимизации средних внутрикластерных расстояний.
8. Карты Кохонена — это специальная разновидность сети Кохонена, в которой нейроны скрытого слоя образуют прямоугольную решётку, которая визуали- зируется в виде разноцветной карты и применяется для разведочного анализа данных. Обычно строится n + 1 карта, где n — число признаков. Одна общая карта показывает собственно кластеры — места сгущений объектов. Карты по

19
каждому признаку позволяют определить, каким кластерам свойственны по- ниженные или повышенные значения признака, и тем самым найти интерпре- тацию кластеров. Недостатками карт Кохонена являются субъективность, на- личие искажений и чувствительность к начальному приближению.
9. Гибридные сети встречного распространения являются симбиозом кластери- зующего слоя Кохонена и обычного линейного нейрона. Они используются для кусочно-постоянной (с правилом жёсткой конкуренции) или гладкой (с прави- лом мягкой конкуренции) аппроксимации регрессионных зависимостей.
Упражнения
Упр. 1.1.
Вывести формулы вычисления вторых производных

2
Q
∂w
2
jh
, необходимые для реализации диагонального метода Левенберга-Марквардта, в алгоритме обратного распространения ошибок.
Список литературы
[1] Колмогоров А. Н. О представлении непрерывных функций нескольких перемен- ных в виде суперпозиции непрерывных функций одного переменного // Докл.
АН СССР
. — 1958. — Т. 114, № 5. — С. 953–956.
[2] Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин,
Е. М. Миркес, А. Ю. Новоходько, Д. А. Россиев, С. А. Терехов и др. — Новоси- бирск: Наука, 1998. — С. 296.
[3] Яблонский С. В. Введение в дискретную математику. — М.: Наука, 1986.
[4] Durbin R., Rummelhart D. E. Product units: A computationally powerful and biologically plausible extension to backpropagation networks // Neural
Computation
. — 1989. — Vol. 1, no. 4. — Pp. 133–142.
[5] Hassibi B., Stork D. G. Second order derivatives for network pruning: Optimal brain surgeon // Advances in Neural Information Processing Systems / Ed. by S. J. Hanson,
J. D. Cowan, C. L. Giles. — Vol. 5. — Morgan Kaufmann, San Mateo, CA, 1993. —
Pp. 164–171.
http://citeseer.ist.psu.edu/hassibi93second.html
[6] Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. —
Springer, 2001.
[7] LeCun Y., Bottou L., Orr G. B., Muller K.-R. Efficient BackProp // Neural
Networks: tricks of the trade. — Springer, 1998.
[8] LeCun Y., Denker J., Solla S., Howard R. E., Jackel L. D. Optimal brain damage //
Advances in Neural Information Processing Systems II / Ed. by D. S. Touretzky. —
San Mateo, CA: Morgan Kauffman, 1990.
http://citeseer.ist.psu.edu/lecun90optimal.html
[9] Minsky M., Papert S. Perceptrons: an Introduction to Computational Geometry. —
MIT Press, 1968.

20
[10] Rummelhart D. E., Hinton G. E., Williams R. J. Learning internal representations by error propagation // Vol. 1 of Computational models of cognition and perception,
chap. 8. — Cambridge, MA: MIT Press, 1986. — Pp. 319–362.
[11] Stone M. N. The generalized Weierstrass approximation theorem // Math. Mag. —
1948. — Vol. 21. — Pp. 167–183, 237–254.

Document Outline

      • << >>
      • .


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал