Скачиваний:
64
Добавлен:
01.05.2014
Размер:
777.73 Кб
Скачать

3.2. Процедура обучения с коррекцией ошибок

Очевидно, что для случая двух классов ошибка может существовать, если

.

Тогда нам необходимо подвинуть весовой вектор в положительную сторону гиперплоскости для , другими словами передвигаем вектор W в область правильного решения. Наиболее прямой путь сделать это - передвинуть W в направлении перпендикулярном к гиперплоскости (т.е. в направлении от или -). Вообще коррекция W может быть сформулирована следующим образом:

заменить W(k) на W(k+1) , так что

, если

, если

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

где и - весовые вектора на k-ом и (k+1)-ом шагу коррекции, соответственно. Добавление корректирующего члена заставляет вектор двигаться в направлении . Аналогично, вычитание корректирующего члена передвигает вектор направлении -.

В течение этой обучающей процедуры образы представляются по одному, всего N=N1 + N2 прототипов (обучающих образов). После одной итерации все образы представляются снова в той же последовательности, чтобы получить новую итерацию.

Существует несколько правил выбора величины С:

- правило с фиксированной коррекцией,

- правило абсолютной коррекции,

- правило частичной коррекции.

3.2.1. Правило с фиксированной коррекцией

В этом алгоритме С - выбирается как фиксированная положительная константа. Этот алгоритм начинается с любого w(0) и выражение (3.10) применяется к обучающей последовательности P, P = .

В целом процесс настройки весов будет закончен за конечное число шагов. Выбор С для этого процесса не очень важен. Если теорема сходимости справедлива для С=1, то она будет справедлива для любого С 1, так как изменение С фактически масштабирует все образы без изменения их разделимости.

3.2.2. Правило абсолютной коррекции

В этом алгоритме С выбирается как наименьшее целое число, которое передвигает поперек гиперплоскости образа в область решения w каждый раз как классификатор делает ошибку. Пусть - среднее из векторов, которые не удовлетворяют неравенству w  z T . Константа С выбирается так, что

,

поэтому

Если Т=0, должно быть больше 0 или . Взяв абсолютную величину в (3.3) получаем

.

Правило абсолютной коррекции также дает решающий весовой вектор за конечное число шагов.

3.2.3. Правило с частичной коррекцией

В W пространстве расширенный вектор образа Z - перпендикулярен гиперплоскости и направлен в положительном направлении, как показано на рис.3.3.

Расстояние от до желаемой гиперплоскости будет:

(3.15)

Когда находится на другой стороне гиперплоскости

В алгоритме с частичной коррекцией С - выбрано так, что двигается на часть расстояния в направлении нормали к желаемой гиперплоскости. То есть

и

-=

Если порог положить равным 0, то:

можно видеть, что когда =1 коррекция происходит до гиперплоскости (правило абсолютной коррекции) и когда 1 коррекция короче, чем до гиперплоскости (under relaxation), когда 1 коррекция больше чем до гиперплоскости, (over relaxation).

Для 02 правило частичной коррекции будет или заканчиваться на весовом векторе в конечное число шагов или сходиться к точке на границе решающего пространства весов.

Процедура обучения для всех перечисленных 3-х алгоритмов выглядит следующим образом:

1) Взять любой из обучающей последовательности и проверить d(z), для определения класса (предполагается М=2).

2) Если получен правильный ответ, переходим к следующему

3) Если имеет место ошибочная классификация, изменяем w(k) на w(k+1).

4) После того, как будут проверены все из обучающей последовательности, повторяем все процедуры заново в том же порядке. Если линейно разделимы , все три алгоритма будут сходиться к правильному .

На рис 3.4. показаны шаги коррекции для трех различных алогритмов. Абсолютная коррекция заканчивается за 3 шага, в то время как частичная за 4 шага.

Рис 3.4.

Для количества классов больше 2 (M2) может быть предложена подобная процедура. Предположим, что мы имеем обучающую последовательность для всех образов классов wi i=1,2,...,M.

Вычислим дискриминантные функции

di()=, i=1,2,...,M

Очевидно, мы желаем:

di()dj()

3.3. Градиентные методы

3.3.1. Общий метод градиентного спуска

Метод градиентного спуска является другим приближением к обучающим системам. Градиентный вектор обладает важным свойством указывающий максимальную скорость увеличения функции по мере увеличения аргумента. Процедура настройки весов может быть сформулирована как:

= (3.25)

где J(w) - критерий качества, который минимизируется настройкой . Минимум J(w) может быть достигнут передвижением в направлении отрицательного градиента. Процедура может быть описана следующим образом:

1. Начать с некоторого произвольно выбранного вектора w(1) и вычислить градиентный вектор

2. Получаем следующую величину w(2) передвигаясь на некоторое расстояние от w(1) в направлении наиболее крутого спуска.

k в уравнении (3.25) - положительный скалярный множитель, который устанавливает размер шага. Для его оптимального выбора предполагаем, что J(w) может быть аппоксимирован как:

(3.26)

где

подставляя (3.25) в (3.26) получим:

(3.27)

Полагая

для минимизации мы получим

(3.28)

или

, (3.29)

которое эквивалентно алгоритму Ньютона для оптимального спуска, в котором

k = D -1.

Некоторые проблемы могут возникнуть с этим оптимальным k ; D -1 в (3.29) может не существовать; используемые матричные операции требуют значительных временных затрат; предположение поверхности второго порядка может быть некорректным. Исходя из этих соображений лучшим выходом будет положить k равным константе.

Соседние файлы в папке lecture3