Нечеткие нейронные сети

Автор: Пользователь скрыл имя, 26 Февраля 2012 в 17:49, реферат

Описание работы

Сети данного типа получили свое название в силу того, что для аппроксимации зависимости выходного сигнала от входного вектора X=[x1, x2, ..., xN, ]T в них используются выражения, заимствованные из нечетких систем (в частности, из систем Мамдани-Заде и Такаги-Сугено-Канга).

Содержание

Введение.
1.Сеть Такаги-Сугено-Канга.
2.Сеть Ванга-Менделя.
3.Гибридный алгоритм обучения.
4.Нечеткие сети с самоорганизацией.
5.Алгоритм нечеткой самоорганизации C-means.
6.Алгоритм пикового группирования.
7.Алгоритм разностного группирования.
8.Заключение.
Список литературы.

Работа содержит 1 файл

Нечеткие нейронные сети.docx

— 67.05 Кб (Скачать)

Содержание:

    Введение.

    1.Сеть Такаги-Сугено-Канга.

    2.Сеть Ванга-Менделя.

    3.Гибридный алгоритм обучения.

    4.Нечеткие сети с самоорганизацией.

   5.Алгоритм нечеткой самоорганизации C-means.

   6.Алгоритм пикового группирования.

   7.Алгоритм разностного группирования.

  8.Заключение.

   Список  литературы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение.

Сети данного типа получили свое название в силу того, что для  аппроксимации зависимости выходного  сигнала от входного вектора X=[x1, x2, ..., xN, ]в них используются выражения, заимствованные из нечетких систем (в частности, из систем Мамдани-Заде и Такаги-Сугено-Канга). Теоретически доказано, что эти выражения позволяют с произвольной точностью аппроксимировать любую непрерывную нелинейную функцию многих переменных суммой функций (называемых нечеткими) одной переменной.                                                                                            

Нечеткие нейронные сети (fuzzy-neural networks) осуществляют выводы на основе аппарата нечеткой логики, однако параметры функций принадлежности настраиваются с использованием алгоритмов обучения НС. Поэтому для подбора параметров таких сетей применим метод обратного распространения ошибки, изначально предложенный для обучения многослойного персептрона. Для этого модуль нечеткого управления представляется в форме многослойной сети. Нечеткая нейронная сеть как правило состоит из четырех слоев: слоя фазификации входных переменных, слоя агрегирования значений активации условия, слоя агрегирования нечетких правил и выходного слоя.

    Наибольшее распространение в настоящее время получили архитектуры нечеткой НС вида ANFIS и TSK. Доказано, что такие сети являются универсальными аппроксиматорами.

      Быстрые алгоритмы обучения и интерпретируемость накопленных знаний – эти факторы сделали сегодня нечеткие нейронные сети одним из самых перспективных и эффективных инструментов мягких вычислений.

 

 

 

 

 

1.Сеть Такаги-Сугено-Канга

В сети Такаги-Сугено-Канга (сокращенно, TSK) выходной сигнал рассчитывается с помощью выражения

y(X)=sum[i=1:M](wi*y(X))/sum[i=1:M](w),

где yi(X)=pi0+sum[j=1:N](pij*xj) - i-ый полиномиальный компонент аппроксимации.

Веса wкомпонентов рассчитываются по следующей формуле (с использованием рациональной формы функции Гаусса)

wi=prod[j=1:N](wij(xj))=prod[j=1:N](1/(1+((xj-cij)/sij)2*bij)).

Приведенным выражениям соответствует  пятислойная нейронная сеть, структурная  схема которой представлена ниже.

 

 

Первый слой содержит N*M узлов, каждый из которых реализует расчет функции Гаусса с параметрами cij, sij и bij. С точки зрения нечетких систем это слой фуззификации входных переменных. Слой называется параметрическим, поскольку в процессе обучения сети подбору подлежат параметры этого слоя.

Второй слой параметров не содержит. С точки зрения нечетких систем это слой агрегирования левых  частей продукций.

Третий слой - генератор (полиномиальных) функций TSK yi(X) и их умножитель на весовой коэффициент wi. Это параметрический слой, в котором в процессе обучения сети адаптации подвергаются коэффициенты pij, i=1,2 ,..., M, j=0,1 ,..., N. Общее количество коэффициентов pij в сети равно M*(N+1).

Четвертый слой составляют два нейрона-сумматора. Первый ряссчитывает взвешенную сумму сигналов yi(X), а второй - сумму весов wi, i=1,2 ,..., M. Это непараметрический слой.

Последний, пятый, слой осуществляет нормализацию весов. Это также непараметрический  слой.

Из описания сети TSK следует, что она содержит два параметрических  слоя (первый и третий), параметры которых подлежат подбору в процессе обучения. Параметры первого слоя будем называть нелинейными, так как они относятся к нелинейной функции, а параметры третьего слоя - линейными.

Общее количество параметров (линейных и нелинейных) сети TSK равно

M*3*N+M*(N+1)=M*(4*N+1).

Во многих практических приложениях  это чрезмерная величина, поэтому  часто для входных переменных xиспользуют ограниченный набор функций mu(xj), что уменьшает количество нелинейных параметров.

 

 

 

2.Сеть Ванга-Менделя

В сети данного типа выходной сигнал рассчитывается с помощью  выражения

y(X) = sum[i=1:M](ci*wi)/sum[i=1:M](wi
= sum[i=1:M](ci*prod[j=1:N](muij(xj)))/sum[i=1:M](prod[j=1:N](muij(xj))),

где c- весовой коэффициент (с точки зрения нечетких систем это центр функции принадлежности правой части продукции), muij() - функция Гаусса (в экспоненциальном или рациональном виде) с параметрами центра cij, ширины sij и формы bij (с точки зрения нечетких систем muij() - функция принадлежности к нечеткому множеству).

Легко заметить, что выражение  для y(X) в сети Ванга-Менделя является частным случаем аналогичного выражения в сети TSK, если в последней принять yi(X)=ci. Поэтому сеть Ванга-Менделя проще и имеет следующую трехслойную структуру.

 

 

В данной сети параметрическими являются первый и третий слои. Первый содержит M*N*3 нелинейных параметров функции Гаусса, а третий - M линейных параметров ci.

Нечеткие нейронные сети (как Ванга-Менделя, так и TSK) могут быть обобщены на случай многих выходных переменных. Их обучение, так же как и классических сетей, может проводиться как с учителем, так и без оного. Обучение с учителем основано на минимизации целевой функции, определяемой с использованием эвклидовой нормы

E=(1/2)*sum[k=1:p]((y(Xk)-dk)2).

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.Гибридный алгоритм обучения

Данный алгоритм применим к обеим описанным выше структурам, но рассмотрим его касательно сетей TSK, как более общих. Гибридный  алгоритм обучения нечетких сетей можно  считать вариантом гибридного алгоритма  обучения радиальных сетей.

Алгоритм реализуется  чередованием двух этапов:

при зафиксиронных значениях нелинейных параметров cij, sij и bij первого слоя нейронов отыскиваются значения линейных параметров pij третьего слоя сети;

при зафиксиронных значениях линейных параметров pij третьего слоя уточняются нелинейные параметры cij, sij и bij первого слоя сети.

Этап 1. На данном этапе обучения нелинейные параметры фиксированы. Выходной сигнал определяется как

y(X)=sum[i=1:M](w'*(pi0+sum[j=1:N](pij*xj))),

где

w'=vi=prod[j=1:N](muij(xj))/sum[l=1:M](prod[j=1:N](mulj(xj)))=const.

Для K обучающих выборок <Xk,dk>, k=1, 2 , ..., K, получаем систему K линейных уравнений

A*P=D,

где P=[p10, p11, ..., p1N, ..., pM0, pM1, ..., pMN]- вектор весов третьего слоя сети, а D=[d1, d2, ..., dk]- вектор ожидаемых значений, составленный из всех K обучающих выборок. Матрица A представлена ниже:

v11

v11*x11

...

v11*x1N

...

v1M

v1M*x11

...

v1M*x1N

v21

v21*x21

...

v21*x2N

...

v2M

v2M*x21

...

v2M*x3N

.

.

.

.

.

.

.

.

.

vk1

vk1*xk1

...

vk1*xkN

...

vkM

vkM*xk1

...

vkM*xkN


Количество строк K матрицы A значительно больше количества ее столбцов M*(N+1). Решение этой системы линейных алгебраических уравнений может быть получено за один шаг следующим образом:

P=A+*D,

где A- псевдоинверсия матрицы A.

Этап 2. Здесь фиксируются значения коэффициентов полиномов третьего слоя и осуществляется уточнение (обычно многократное) коэффициентов функции Гаусса для первого слоя сети стандартным методом градиента:

ck+1ij=ckij-nuc*дEk/дckij
sk+1ij=skij-nus*дEk/дskij
bk+1ij=bkij-nub*дEk/дbkij,

где k - номер очередного цикла обучения ( в режиме "онлайн" он совпадает с номером обучающей выборки). С технической точки зрения получение аналитических выражений для производных целевой функции по нелинейным параметрам проблем не представляет. Однако, здесь в силу громоздкости эти выражения не приводятся.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

4.Нечеткие сети с самоорганизацией

Сети данного типа на этапе  обучения осуществляют группирование  входных вектров Xk, k=1, 2, ..., p, в M кластеров, каждый из которых определяется своим центром Ci, i=1, 2, ..., M. На этапе классификации сеть отождествляет очередной входной вектор данных X с одним из ранее определенных кластеров.

Нечеткая сеть с самоорганизацией имеет простую двухслойную структуру.

 

 

Нейроны первого слоя реализуют  обощенную функцию Гауcса в рациональной форме:muij(xj)=1/(1+((xj-cij)/sij)2*bij).

Каждый нейрон второго  слоя характеризуется центром Ci=[ц1i, ц2i, ..., цNi, ]T.

5.Алгоритм нечеткой самоорганизации C-means.

В данном алгоритме подаваемый на вход очередной обучающий вектор Xпринадлежит различным кластерам (представленным своими центрами Ci, i=1, 2, ..., M) в степени uki, 0<uki<1, при соблюдении условия

sum[i=1:M](uki)=1.

При этом значение ukтем больше, чем ближе Xк Ci.

Погрешность соотнесения  обучающих векторов Xи центров Cдля всех p обучающих векторов может быть выражена следующим образом

E=sum[i=1:M](sum[k=1:p]((uki)m*|Xk-Ci|2)),

где m - показатель, выбираемый из ряда 1, 2, 3, ... .

Цель обучения - подбор таких  значений центров Ci, которые обеспечивают минимальное значение погрешности E при одновременном соблюдении условия

sum[i=1:M](uki)=1.

Решение этой задачи можно  свести к минимизации функции  Лагранжа в виде

LE=sum[i=1:M](sum[k=1:p]((uki)m*|Xk-Ci|2))+sum[k=1:p](Lk*(sum[i=1:M](uki)-1)),

где Lk, k=1, 2, ..., p - множители Лагранжа.

Доказано, что решение  этой задачи можно представить в  виде

Ci=sum[k=1:p]((uki)m*Xk)/sum[k=1:p]((uki)m), 
uki=1/sum[l=1:M](((dki)2/(dkl)2))1/(m-1)),

где dki=|Xk-Ci|- эвклидово расстояние между Xи Ci.

Алгоритм обучения, реализующий  описанную выше идею, получил название C-means. Он носит итерационный характер и может быть описан следующим образом.

1. Выполнить случайный выбор коэффициентов ukиз диапазона [0,1] при соблюдении условия sum[i=1:M](uki)=1.

2. Вычислить все M центров Cпо приведенной выше формуле.

3. Рассчитать значение  погрешности E. Если это значение меньше установленного порога или незначительно изменилось относительно предыдущей итерации, то закончить вычисления. Иначе перейти к п. 4.

4. Рассчитать новые значения ukпо приведенной выше формуле и перейти к п. 2.

Описанный выше итерационный алгоритм ведет к достижению минимума погрешности E, который, однако, необязательно будет глобальным минимумом. На вероятность отыскания глобального минимума влияет выбор начальных значений ukи Ci. Специально для подбора "хороших" начальных значений центров Cразработаны процедуры инициализации, две из которых представлены ниже.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.Алгоритм пикового группирования

Для отыскания "первого  приближения" к наилучшему расположению центров Cв данном алгоритме используются так называемые пиковые функции. При подаче на вход сети p обучающих векторов Xсоздается равномерная сетка, покрывающая все пространство, занимаемое данными векторами.

Узлы сетки обозначим  как Vl, для каждого из них рассчитывается значение пиковой функции

m(Vl)=sum[k=1:p](exp(-(|Xk-Vl|22*b/(2*s2)))),

где s - константа, индивидуально подбираемая для каждой задачи.

Значение m(Vl) пропорционально количеству обучающих векторов Xk, находящихся в окрестности потенциального центра Vl. Малое значение m(Vl) говорит о том, что Vв области, где количество векторов Xмало. Следует отметить, что коэффициент s оказывает незначитетьное влияние на соотношение значений Vдля разных узлов сетки, поэтому подбор его величины не является критичным.

После расчета m(Vl) для всех потенциальных центров (узлов сетки) отбирается узел, имеющий наибольшее значение пиковой функции. С этим узлом отождествляется первый центр C1. Для выбора аналогичным образом следующего центра из рассмотрения исключается центр Cи соседние с ним узлы сетки. Это удобно сделать переопределением пиковой функции

Информация о работе Нечеткие нейронные сети