Важным вопросом обучения сети является подбор начальных значений для параметров нейронной сети. Существует несколько подходов к решению этого вопроса. Так, начальное приближение для весов сети выбирается случайным образом. Вопрос об инициализации центров cj требует более тонкого подхода, так как положение функции в пространстве входных данных тесно связано с классифицирующей способностью сети. Естественно в таком случае ориентироваться на характер обучающих данных, и в качестве начального значения центра функции выбрать среднее арифметическое всех значений входных переменных, т.е. разместить функцию равноудаленно от всех точек пространства входных данных. Дальнейший подбор центров будет произведен при работе адаптивного метода подбора параметров так же, как и общее количество центров.
Адаптивный алгоритм был сформулирован только для гауссовской функции с использованием обобщенной модели Ванга- Менделя [6]. В результате его реализации определяются: количество центров и их расположение в части, соответствующей условиям (множество векторов хt) и заключениям (множество скалярных ожидаемых значений dt). Этот алгоритм можно описать следующим образом.
1) При старте с первой пары данных (x1, d1) создается первый кластер с центром c1=x1. Принимается, что w1=d1 и что мощность множества L1=1. Пусть r обозначает предельное эвклидово расстояние между вектором х и центром, при котором данные будут трактоваться как принадлежащие к созданному кластеру (то есть максимальный радиус функции). Для сохранения общности решения принимается, что в момент начала обучения существует М кластеров с центрами с1, с2, ..., сM и соответствующие им значения wi и Li (i=1,2,...,М).
2) После считывания t-ой обучающей пары (xt, dt) рассчитываются расстояния между вектором хt и всеми существующими центрами ||xt-ci|| для i=1, 2, ..., М и выбирается центр, ближайший к хt. Допустим, что ближайший центр — это сit. В таком случае в зависимости от значения ||хt-сit|| может возникнуть одна из двух ситуаций:
· если ||xt-cit||>r, то создается новый кластер cM+1=xt, причем wM+1(t)=dt, LM+1(t)=1. Параметры созданных до этого кластеров не изменяются, т.е. wi(t)=wi(t-i), Li(t)=Li(t-i) для i= 1, 2, ..., М. Количество кластеров М увеличивается на 1 (М←М+1);
· если ||xt-cit||<=r, то данные включаются в it-й кластер, параметры которого следует уточнить в соответствии с формулами:
, (8.69)
, (8.70)
. (8.71)
тогда как остальные кластеры не изменяются, т.е. при , и , для .
В другой версии алгоритма фиксируется положение центров сit после инициализации, и их координаты уже не изменяются. Во многих случаях такой прием улучшает результаты адаптации.
3) После уточнения параметров нечеткой системы функция, аппроксимирующая входные данные системы, определяется в виде:
, (8.72)
При повторении перечисленных этапов алгоритма до t=р с уточнением каждый раз значения М, пространство данных разделяется на М кластеров, при этом мощность каждого из них определяется как Li=Li(t), центр - как сi=сi (t), а значение приписанной ему накопленной функции d -как wi = wi(t).
Этот алгоритм называется самоорганизующимся, поскольку разделение пространства данных на кластеры происходит самостоятельно и без участия человека, в соответствии с заданным значением порога r. При малом значении r количество кластеров возрастает, в результате чего аппроксимация данных становится более точной, однако это достигается за счет более сложной функции и увеличения объема необходимых вычислений при одновременном ухудшении обобщающих свойств сети. Если значение r слишком велико, то вычислительная сложность уменьшается, однако возрастает погрешность аппроксимации. При подборе оптимальной величины порога r должен соблюдаться компромисс между точностью отображения и вычислительной сложностью. Как правило, оптимальное значение r подбирается методом проб и ошибок с использованием вычислительных экспериментов, по существу r это максимальное значение параметра σ функции Гаусса. Таким образом, следует подобрать оптимальные значения σ и затем взять максимальное из них. Оптимальные значения σ можно подобрать в соответствии с формулой (3.8), то есть так же, как для радиально-базисных сетей.
Следует обратить внимание, что алгоритм самоорганизации нечёткой сети позволяет одновременно определять как параметры сети, так и ее структуру (количество нейронов скрытого слоя). Его реализация подобна модели Ванга- Менделя, описываемой формулой (8.68), в которой можно выделить центры сi, соответствующие множеству векторов х, и коэффициенты wi, связанные с положением центров через последовательность заданных функций {d}. В связи с накопительным характером формирования параметров wi (формула (8.69)), в знаменателе выражения (8.72) суммирование производится с весами Li, отражающими количество уточнений параметров конкретных групп данных (размерность кластера).