12.4. Применение алгоритма самоорганизации для обучения нечеткой сети
Алгоритм самоорганизации приписывает вектор
к соответствующей группе данных, представляемых центром
с использованием обучения конкурентного типа подобно тому, как это имело место в сетях с самоорганизацией Кохонена. При обучении этого типа процесс самоорганизации становится возможным при предъявлении вектора
Базовая форма алгоритма самоорганизации позволяет точно определять положение центров с, - соответствующих групп данных (кластеров), на которые подразделяется многомерное пространство. Эти центры в последующем могут использоваться в гибридном алгоритме обучения нечеткой сети в качестве начальных значений, что существенно ускоряет процесс обучения и гарантирует сходимость решения к глобальному минимуму.
12.4.1. Алгоритм нечеткой самоорганизации C-means
Допустим, что в сети существует К нечетких нейронов с центрами в точках
. Начальные значения этих центров могут быть выбраны случайным образом из областей допустимых значений соответствующих компонентов векторов
использованных для обучения. Пусть функция фуззифнкации задана в форме обобщенной функции Гаусса, выраженной формулой (12.2).
Подаваемый на вход сети вектор
будет принадлежать к различным группам, представляемым центрами
в степени
причем
, а суммарная степень принадлежности ко всем группам, очевидно, равна 1. Поэтому
для
Функцию погрешности, соответствующую такому
представлению, можно определить как сумму частых погрешностей принадлежности к центрам а с учетом степени принадлежности
Следовательно,
где
- это весовой коэффициент, который принимает значения из интервала
Цель обучения с самоорганизацией состоит в таком подборе центров
чтобы для заданного множества обучающих векторов
обеспечить достижение минимума функции (12.26) при одновременном соблюдении условий ограничения (12.25). Таким образом возникает задача минимизации нелинейной функции (12.26) с
ограничениями типа (12.25). Решение этой задачи можно свести к минимизации функции Лагранжа, определенной в виде [60]
где
- это множители Лагранжа. В [60] доказано, что решение задачи (12.27) можно представить в виде
и
где
- это эвклидово расстояние между центром
и вектором
Поскольку точные значения центров с, в начале процесса не известны, алгоритм обучения должен быть итерационным. Он может быть сформулирован в следующем виде.
1. Выполнить случайную инициализацию коэффициентов
выбирая их значения из интервала [0, 1] таким образом, чтобы соблюдалось условие (12.25).
2. Определить К центров с,- в соответствии с (12.28).
3. Рассчитать значение функции погрешности согласно выражению (12.26). Если ее значение окажется ниже установленного порога либо если уменьшение этой погрешности относительно предыдущей итерации пренебрежимо мало, то завершить вычисления. Последние значения центров составляют искомое решение. В противном случае перейти к п. 4.
4. Рассчитать новые значения
по формуле (12.29) и перейти к
Такую процедуру нечеткой самоорганизации будем называть алгоритмом C-means.