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

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

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

Преобразование, осуществляемое типичным нейроном с двумя входами, имеет вид y=f(w_1x_1+w_2x_2), где f(\cdot) -сигмоидная функция. Для того, чтобы обобщить его, нужно представить себе, что вес нейрона не обязательно должен умножаться на значение соответственного входа, а здесь может быть применена какая-либо другая операция. Далее, суммирование воздействий также может быть заменено неким другим действием. Наконец, вместо сигмоидной функции потенциал нейрона может быть преобразован каким-либо новым способом. В нечеткой логике операция умножения заменяется для булевых переменных операцией И, а для числовых - операцией взятия минимума (min). Операция суммирования заменяется соответственно операциями ИЛИ и взятием максимума (max).

Если осуществить соответствующие замены в преобразовании, осуществляемом знакомым нам нейроном, и положить в нем f(z)=z (линейный выход), то мы получим так называемый нечеткий ИЛИ-нейрон:

y=\max\{\min(w_1,x_1)\min(w_2,x_2)\}.

Для нечетких нейронов полагается, что значения входов и весов заключены в интервале [0, 1], поэтому и выход нейрона ИЛИ будет принадлежать этому же интервалу.

Используя противоположную подстановку (умножение max), (сложение min ) получим преобразование, характерное для нечеткого И-нейрона:

y=\min\{\max(w_1,x_1)\max(w_2,x_2)\}

Извлечение правил if-then

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

Рассмотрим набор нечетких правил

\Re_i:
Если x есть A_i, то y есть B_i, i=1,\ldots ,n

Каждое из них может интерпретироваться как обучающая пара для многослойного персептрона. При этом, условие (x есть A_i ) определяет значение входа, а следствие (y есть B_i ) - значение выхода сети. Полное обучающее множество имеет вид \{(A_1,B_1),\ldots ,(A_n,B_n)\}. Заметим, что каждому лингвистическому значению A_i, B_i соответствует своя функция принадлежности, так что каждое нечеткое правило определяет связь двух функций.

Если же правила имеют более сложный вид, типа "два входа - один выход":

\Re_i:
Если x есть A_i и y есть B_i, то z есть C_i, i=1,\ldots ,n то обучающая выборка принимает форму \{(A_i,B_i),C_i\}, i=1,\ldots ,n, Существует два основных подхода к реализации нечетких правил типа if-then с помощью многослойных персептронов.

В методе Умано и Изавы нечеткое множество представляется конечным числом значений совместимости. Пусть \alpha_1,\alpha_2 включает носители всех A_i, входящих в обучающую выборку а также носители всех A^{\prime}, которые могут быть входами в сети. Предположим также, что [\beta_1\beta_2] включает носители всех B_j, входящих в обучающую выборку, а также носители всех B^{/prime}, которые могут быть входами в сети. Положим

x_j=\alpha_1+(j-1)(\alpha_2-\alpha_1)/(N-1),j=1,\ldots ,N; N>1
y_j=\beta_1+(i-1)(\beta_2-\beta_1)/(M-1),i=1,\ldots ,M; M>1

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

\{(A_i(x_1),\ldots ,A_i(x_N)),(B_i(y_1),\ldots ,B_i(y_M))\}, i=1,\ldots ,n

Если теперь ввести обозначения a_{ij}\equiv A_i(x_i), b_{ij}\equiv B_i(y_i), то можно представить нечеткую нейронную сеть с N входными и M выходными нейронами ( рисунок 11.3).

Нечеткая нейронная сеть и треугольные функции принадлежности входных и  выходных переменных

Рис. 11.3. Нечеткая нейронная сеть и треугольные функции принадлежности входных и выходных переменных

Пример 1. Предположим, что обучающая выборка включает три правила: \Re_1: Если город мал, то доход от продажи бриллиантов отрицателен, \Re_2: Если город средний, то доход от продажи бриллиантов близок к нулю, \Re_3: Если город велик, то доход от продажи бриллиантов положителен.

Функции принадлежности определим как

\mu_{малый}(u)=\left\{
\begin{array}{cc}
1-\frac{u}{50000} 0\leq u\leq 50000\\
0, u>50000,
\end{array}\right.
\mu_{доход<0}(u)=\left\{
\begin{array}{cc}
-u, -1\leq u\leq 0\\
0, u>0,
\end{array}\right.
\mu_{средний}(u)=\left\{
\begin{array}{cc}
\frac{u}{50000}, 0\leq u\leq 50000\\
\frac{300000-u}{250000} ,  50000\leq u\leq 300000\\0, u>300000,
\end{array}\right.
\mu_{доход=0}(u)=\left\{
\begin{array}{cc}
1-2|u|, |u|\leq0.5\\
0, |u|>0.5,
\end{array}\right.
\mu_{большой}(u)=\left\{
\begin{array}{cc}
0, u<50000\\
\frac{u-50000}{250000} , 50000\leq u\leq 300000\\1, u>300000,
\end{array}\right.
\mu_{доход>0}(u)=\left\{
\begin{array}{cc}
u, 0\leq u\leq 1\\
0, u<0,
\end{array}\right.
(Здесь предполагается, что доход не превышает 100% или 1.0 в относительных величинах)

Тогда обучающая выборка принимает форму {(малый, отрицательный), (средний, близок к нулю), (большой, положительный)}

Если носитель множества входов [0, 10 000 000], то для покрытия множества населения городов равномерной сеткой, захватывающей и малые города, понадобится несколько сот точек. Поэтому, ограничимся городами с населением 1 000 000 человек. Тогда можно выбрать N\cong 50-100. Носитель множества выходов [-1,1] может быть описан набором из M\cong 5-10. Таким образом, в рассматриваемом случае сеть будет иметь умеренные размеры (например 50 - ... - 5) и 3 пары в обучающем наборе.

В методе Уехары и Фуджицы вместо разбиения равномерной сеткой области, покрывающей носители всех функций принадлежности, равномерно разбивается область изменения этих функций [0,1]. Здесь видна явная аналогия с переходом от интегрирования по Риману к интегралу Лебега. Остальные действия аналогичны уже описанным.