Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mmotor5.doc
Скачиваний:
57
Добавлен:
07.02.2016
Размер:
2.5 Mб
Скачать

5.11.4 Алгоритм обучения lvq3

Алгоритм обучения LVQ2 основан на идее дифференциального смещения границ решения относительно Байесовских пределов, при этом не учитывается то, что может произойти с положением mi в случае достаточно продолжительной работы алгоритма. Следовательно, необходимо внести изменения, которые гарантировали бы, что mi хотя бы грубо продолжит аппроксимацию распределения классов. При объединении этих идей, мы получаем улучшенный алгоритм - LVQ3:

mi(t + 1) = mi(t) - α(t)[x(t) - mi(t)],

mj(t + 1) = mj(t) + α(t)[x(t) - mj(t)],

Для k{i,j}, если x, mi и mj принадлежат одному и тому же классу:

mk(t + 1) = mk(t) + εα(t)[x(t) - mk(t)],

где mi и mj - два самых близких к x вектора со свободными параметрами, причем x и mj принадлежат к одному и тому же классу, в то время как x и mi принадлежат различным классам, кроме того, x должен попадать в “окно”.

В результате ряда экспериментов было установлено, что значения ε должны находиться между 0.1 и 0.5. Оптимальное значение ε, возможно, зависит от размера наименьшего окна.

Этот алгоритм является самостабилизирующимся, то есть оптимальное размещение mi не изменяется при продолжительном обучении.

5.11.5 Алгоритм обучения olvq1

Алгоритм обучения OLVQ1 (Optimized-learning-rate LVQ1) представляет собой алгоритм LVQ1 модифицированный таким образом, чтобы каждому mi была назначена индивидуальная скорость обучения αi(t). Таким образом, мы получаем следующий дискретизированный по времени процесс обучения.

Пусть с определяется уравнением:

.

Тогда:

mc(t + 1) = mc(t) + αс(t)[x(t) - mc(t)],

если x классифицирован правильно;

mc(t + 1) = mc(t) - αс(t)[x(t) - mc(t)],

если х классифицирован неправильно;

mc(t + 1) = mi(t) , ic.

Рассмотрим способ определения оптимального αi(t) для наиболее быстрой сходимости OLVQ1. Выразим рассмотренные уравнение в форме

mc(t + 1) = [1 - s(t)αс(t)]mc(t) + s(t)αс(t)x(t),

где s(t) = +1, если классификация правильная и s(t) = -1, если классификация неправильная.

Отмечено, что mc(t) статистически не зависит от x(t), и статистическая точность полученных значений векторов со свободными параметрами оптимальна, если результаты исправлений сделаны в разное время.

Заметим, что mc(t + 1) содержит след x(t) через последний член в последнем уравнении и прослеживает предыдущие x(t'), t' = 1, 2, ..., t-1 через mc(t).

Абсолютная величина последнего следа x(t) масштабируется коэффициентом αс(t) и, в свою очередь, след x(t - 1) масштабируется коэффициентом [1 - s(t) αс(t)] αс(t - 1).

Теперь предусмотрим, чтобы оба эти масштабирования были идентичны и применим данное условие для всех t. Тогда “следы” всех предыдущих x, собранные до времени t, будут в конце масштабироваться одним числом, и, следовательно, “оптимальные” значения αi(t) определяются рекурсивно:

.

На практике можно убедиться, что это правило обеспечивает быструю сходимость.

Однако, заметим, что αс(t) может также увеличиваться, и важно, чтобы значение αс(t) не превышало 1. Начальные значения αi(t) могут быть выбраны довольно высокими (например, 0.3), благодаря чему обучение значительно ускоряется (особенно в начале) и приближенные асимптотические значения mi находятся довольно быстро.

Следует обратить внимание на то, что рассмотренное выражение не применимо для LVQ2, так как αi, в среднем, не будет уменьшаться и процесс не будет сходиться.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]