4.2. Анализ главных компонент
Теперь рассмотрим случай, когда обучаются m линейных нейронов (рис.4.5):
.
(4.6)
Если просто обучать каждый из m нейронов независимо, то получим лишь многократное дублирование одного и того же выхода. Чтобы получить несколько содержательных признаков на выходе, нужно учесть их взаимодействия при обучении. Используем правило Ойя для такой однослойной сети:
.
(4.7)
Это эквивалентно сети с узким "горлом" из m скрытых нейронов. Скрытый слой такой сети осуществляет оптимальное кодирование входных данных при максимальном количестве информации, т.е. его нейроны, обучаясь, выделяют наиболее значимые признаки информации (рис.4.6а).
Анализ главных компонент – метод статистического анализа. Он соответствует методу Ойе для NN c d>m (рис.4.6б), т.е. получается нелинейное преобразование:
.
(4.8)
Автоассоциативные сети, понижающие размерность (выделяющие главные компоненты), должны содержать как минимум три скрытых слоя нейронов, т.е. иметь узкое горло в среднем слое. Первый слой осуществляет произвольное кодирование, а третий слой – играет роль декодера. Преобразование информации производится по схеме (рис.4.7): Кодер (1)– Горло (2) – Декодер (3).
Задача таких НС – воспроизводить на выходах сети значения на входах. Декодер – опирается лишь на кодированную информацию в узком горле, которая является сжатой.
Однако, многочисленные локальные минимумы и трудности обучения снижают практическую ценность. Для улучшения схем сжатия используются Предикторы, характеризующие разброс предсказаний входов на основании знаний о других входах. В частном случае предикторы вырождаются в латеральные (местные) связи между нейронами последнего слоя. Эти связи обучаются так, чтобы выходы нейронов этого слоя не были коррелированны (или, наоборот, максимально коррелированны, когда нейрон давит всех остальных (это означает, что при обучении устанавливаются максимальные веса на входах этого нейрона).
4.3. Кластеризация в соревновательных нейронных сетях
Существуют
сети WTA
- Winner Take All (Победитель получает все)
с соревновательным обучением. Выходы
такой НС максимально коррелированны и
активность всех нейронов, кроме победителя
равна нулю. Победитель
выбирается
так, чтобы его вектор
,
определенный в d
– пространстве, находился ближе к
входному вектору X,
чем у всех остальных:
.
(4.9)
Если
использовать правило обучения нейронов,
обеспечивающее одинаковую нормировку
всех весов
,
то победителем будет нейрон, дающий
максимальный отклик на входной стимул,
т.е.
.
Выход этого нейрона усиливается, а
остальных подавляется до нуля.
Базовый алгоритм обучения соревновательного слоя нейронов строится по правилу:
.
(4.10)
Это
правило обучения такое же, как правило
Ойя, но имеется отличие в способе
кодирования выходной информации (здесь
только
-
тый нейрон имеет ненулевой (единичный)
выход):
.
(4.11)
На практике избегают существования "мертвых" нейронов, которые некогда не выигрывают. Простой способ избегать этого – выбрать начальные значения весов, как случайные значения входов в выборке обучения.
Обычно используется batch-learning метод обучения: веса изменяются усредненно только после прогонки всех примеров.
Записав
правило соревновательного обучения в
градиентном виде
,
можно убедиться, что оно минимизирует
функцию ошибки в виде:
.
(4.12)
Это означает, что сеть кластеризует данные: находит такие усредненные прототипы, которые минимизируют ошибку огрубления данных. Заметим, что в этом случае число кластеров равно числу нейронов. В идеале можно сделать адаптивный подбор числа нейронов путём "деления" нейронов прототипов.
НС,
понижающие размерность
имеет
сложность обучения, характеризуемую
числом итераций, порядка
(P
– число примеров, W
– число весов). Для однослойной сети
,
т.е. имеет место сжатие информации.
