Опубликован: 25.12.2006 | Доступ: свободный | Студентов: 1832 / 361 | Оценка: 4.43 / 4.13 | Длительность: 15:29:00
Специальности: Программист, Экономист
Лекция 11:

Нейронные сети и ...

Адаптация функций принадлежности

В лекции, посвященной извлечению знаний из обученных нейронных сетей, мы познакомились с методами интерпретации отображения сетью входной информации в выходную с помощью правил типа неравенств, правил m-of-n и других. В теории нечетких множеств соответствующие нечеткие правила уже изначально имеют наглядный смысл. Например, \Re: если разрыв между бедными и богатыми высок, то уровень преступности повышен.

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

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

Рассмотрим соответствующую методику на следующем примере.Обозначим x_1 - курс доллара США ($) по отношению к немецкой марке (DM); x_2 - курс доллара США ($) по отношению к шведской кроне (SK); x_3 - курс доллара США ($) по отношению к финской марке (FM); Предположим, что мы имеем три нечетких правила

\Re_1:если $ слаб по отношению к DM и слаб по отношению к SK и слаб по отношению к FM, то величина портфеля очень высока

\Re_2: если $ силен по отношению к DM и силен по отношению к SK и слаб по отношению к FM, то величина портфеля высока

\Re_3: если $ силен по отношению к DM и силен по отношению к SK и силен по отношению к FM, то величина портфеля мала

Формально, эти правила можно записать следующим образом \Re_1: если x_1 есть L_1 и x_2 есть L_2 и x_3 есть L_3, то PV есть VB \Re_2: если x_1 есть H_1 и x_2 есть H_2 и x_3 есть L_3, то PV есть B \Re_3: если x_1 есть H_1 и x_2 есть H_2 и x_3 есть H_3, то PV есть S Для всех нечетких правил L_i и H_i используем сигмоидные функции принадлежности

L_i(t)=\frac{1}{1+e^{\gamma_i (t-\vartheta_i)}},
H_i(t)=\frac{1}{1+e^{-\gamma_i (t-\vartheta_i)}},
L_i(t)+H_i(t).
Для нечетких оценок величины портфеля вводятся следующие функции принадлежности
S(t)=\frac{1}{1+e^{\gamma(t-\vartheta)}},
B(t)=\frac{1}{1+e^{-\gamma(t-\vartheta)}},
S(t)+B(t)=1,
VS(t)=\frac{1}{1+e^{\gamma(t-\vartheta-\xi)}},
VB(t)=\frac{1}{1+e^{-\gamma(t-\vartheta-\xi)}}.

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

\alpha_1=\min(L_1(a_1),L_2(a_2),L_3(a_3))
\alpha_2=\min(H_1(a_1),H_2(a_2),L_3(a_3))
\alpha_3=\min(H_1(a_1),H_2(a_2),H_3(a_3))

Теперь можно вычислить и количественные оценки величины портфеля, даваемые каждым из наших правил,

z_1=VB^{-1}(\alpha_1)=\vartheta+\xi+\frac{1}{\gamma}\ln\frac{1-\alpha_1}{\alpha_1}
z_2=B^{-1}(\alpha_2)=\vartheta+\frac{1}{\gamma}\ln\frac{1-\alpha_2}{\alpha_2}
z_3=S^{-1}(\alpha_3)=\vartheta-\frac{1}{\gamma}\ln\frac{1-\alpha_3}{\alpha_3}

Оценка величины портфеля получается усреднением вышеприведенных оценок по уровням активации каждого из правил

z_0=\frac{a_1z_1+a_2z_2+a_3z_3}{\alpha_1+\alpha_2+\alpha_3}

Ниже на рисунке приведена архитектура нейронной сети, эквивалентной описанной выше нечеткой системе ( рисунок 11.4).

Нейронная сеть (нечеткий персептрон), входами которой являются лингвистические переменные, выходом -  четкое значение величины портфеля. Скрытые слои в нечетком персептроне называются слоями правил

Рис. 11.4. Нейронная сеть (нечеткий персептрон), входами которой являются лингвистические переменные, выходом - четкое значение величины портфеля. Скрытые слои в нечетком персептроне называются слоями правил

Значения выходов в узлах первого слоя отражают степень соответствия входных значений лингвистическим переменным, связанными с этими узлами. Элементы второго слоя вычисляют значения уровней активации соответствующих нечетких правил. Выходные значения нейронов третьего слоя соответствуют нормированным значениям этих уровней активации c_{i}=\alpha_{i}/\sum_{i=1}^3\alpha_i Выходные значения нейронов четвертого слоя вычисляются как произведения нормированных значений уровней активации правил на значения величины портфеля, соответствующего данной их (ненормированной)активации.

c_1 z_1=c_1VB^{-1}(\alpha_1), c_2z_2=c_2B^{-1}(\alpha_2), c_3z_3=c_3S^{-1}(\alpha_3)

Наконец, единственный выходной нейрон (слой 5) просто суммирует воздействия нейронов предыдущего слоя.

Если мы имеем набор обучающих пар, содержащих точные значения курсов обмена x_k и точные значения величины портфеля: y_k:\{(x_1,y_1),\ldots ,(x_k,y_k)\}, то определив ошибку сети для k-й обучающей пары обычным образом, как E_k=\frac{1}{2}(y_k-o_k)^2 ( o_k - реальное значение состояния выходного нейрона), можно использовать метод градиентного спуска для коррекции значений параметров, управляющих формой функции принадлежности лингвистической переменной "величина портфеля":

\gamma(t+1)=\gamma(t)-\eta\frac{\partial
E_k}{\partial\gamma}=\gamma(t)-\frac{\eta}{\gamma^2}\delta_k\frac{\alpha_1+\alpha_2-\alpha_3}{\alpha_1+\alpha_2+\alpha_3},
\vartheta(t+1)=\vartheta(t)-\eta\frac{\partial
E_k}{\partial\vartheta}=\vartheta(t)-\eta\delta_k,
\xi(t+1)=\xi(t)-\eta\frac{\partial
E_k}{\partial\xi}=\xi(t)-\eta\delta_k\frac{\alpha_1}{\alpha_1+\alpha_2+\alpha_3},
\delta_k=(y_k-o_k).

Аналогичным образом выводятся уравнения коррекции для параметров, управляющих формой функций принадлежности нечетких понятий слабый L_i и сильный H_i курс доллара: \beta_i,\theta_i,i=1,2,3. Легко заметить, что особенность описанного нами совместного использования нейросетевого и нечеткого подходов заключается в том, что адаптируются не величины связей между нейронами, а формы нелинейного преобразования, осуществляемого нейронами (формы функции принадлежности). С нейрокомпьютерной точки зрения достоинства нечетких моделей как раз и связаны с нелинейностью функции принадлежности. Фиксирование и изначальное задание архитектуры сети позволяет интерпретировать ее решения. И что особенно важно, описанный подход по сути позволяет инкорпорировать априорные знания в структуру нейронной сети.