Генетические алгоритмы и нечеткая логика. "Мягкие" вычисления. Нейронные сети и нечеткая логика. Примеры треугольных норм

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

Хотя нечеткая логика может явно использоваться для представления знаний эксперта с помощью правил для лингвистических переменных , обычно требуется очень много времени для конструирования и настройки функций принадлежности, которые количественно определяют эти переменные. Нейросетевые методы обучения автоматизируют этот процесс и существенно сокращают время разработки и затраты на нее, улучшая при этом параметры системы. Системы, использующие нейронные сети для определения параметров нечетких моделей, называются нейронными нечеткими системами. Важнейшим свойством этих систем является их интерпретируемость в терминах нечетких правил if-then.

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

Кроме них имеются также нечеткие нейронные системы. Так называются нейронные сети, использующие методы нечеткости для ускорения обучения и улучшения своих характеристик. Это может достигаться, например, использованием нечетких правил для изменения темпа обучения или же рассмотрением нейронных сетей с нечеткими значениями входов.

Существует два основных подхода к управлению темпом обучения персептрона методом обратного распространения ошибки . При первом этот темп одновременно и равномерно уменьшается для всех нейронов сети в зависимости от одного глобального критерия - достигнутой среднеквадратичной погрешности на выходном слое. При этом сеть быстро учится на начальном этапе обучения и избегает осцилляций ошибки на позднем. Во втором случае оцениваются изменения отдельных межнейронных связей. Если на двух последующих шагах обучения инкременты связей имеют противоположный знак, то разумно уменьшить соответствующий локальный темп - впротивном случае его следует увеличить. Использование нечетких правил может обеспечить более аккуратное управление локальными темпами модификации связей. В чаcтности это может быть достигнуто, если в качестве входных параметров этих правил использовать последовательные значения градиентов ошибки. Таблица соответствующих правил может иметь, например следующий вид:

Таблица 11.4. Нечеткое правило адаптации темпа обучения нейронной сети
Предыдущий градиент Текущий градиент
NB NS Z PS PB
NB PB PS Z NS NB
NS NS PS Z NS NB
Z NB NS Z NS NB
PS NB NS Z PS NS
PB NB NS Z PS PB

Лингвистические переменные Темп Обучения и Градиент принимают в иллюстрируемом таблицей нечетком правиле адаптации следующие значения: NB - большой отрицательный; NS - малый отрицательный; Z - близок к нулю; PS - малый положительный; PB - большой положительный.

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

Элементы нечеткой логики

Центральным понятием нечеткой логики является понятие лингвистической переменной . Согласно Лотфи Заде лингвистической называется переменная, значениями которой являются слова или предложения естественного или искусственного языка. Примером лингвистической переменной является, например, падение производства, если она принимает не числовые, а лингвистические значения, такие как, например, незначительное, заметное, существенное, и катастрофическое. Очевидно, что лингвистические значения нечетко характеризуют имеющуюся ситуацию. Например, падение производства на 3% можно рассматривать и как в какой-то мере незначительное, и как в какой-то мере заметное. Интуитивно ясно, что мера того, что данное падение является катастрофическим должна быть весьма мала.

ПИД-регуляторы, описанные выше, имеют плохие показатели качества при управлении нелинейными и сложными системами, а также при недостаточной информации об объекте управления. Характеристики регуляторов в некоторых случаях можно улучшить с помощью методов нечеткой логики, нейронных сетей и генетических алгоритмов. Перечисленные методы за рубежом называют "soft-computing", подчеркивая их отличие от "hard-computing", состоящее в возможности оперировать с неполными и неточными данными. В одном контроллере могут применяться комбинации перечисленных методов (фаззи-ПИД, нейро-ПИД, нейро-фаззи-ПИД регуляторы с генетическими алгоритмами).

Основным недостатком нечетких и нейросетевых контроллеров является сложность их настройки (составления базы нечетких правил и обучения нейронной сети).

5.7.1. Нечеткая логика в ПИД-регуляторах

Нечеткий вывод выполняется следующим образом. Предположим, что область изменения ошибки разделена на множества , область изменения управляющего воздействия - на множества и что с помощью эксперта удалось сформулировать следующие правила работы регулятора [Astrom ]:

Правило 1: если = и = , то =

Правило 2: если = и = , то =

Правило 3: если = и = , то =

Правило 4: если = и = , то =

Правило 5: если = и = , то =

Правило 6: если = и = , то =

Правило 7: если = и = , то =

Правило 8: если = и = , то =

Правило 9: если = и = , то = .

Приведенные правила часто записывают в более компактной табличной форме (рис. 5.91).

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

e

Рис. 5.91. Представление нечетких правил в табличной форме

Операция "И" в правилах (5.118) соответствует пересечению множеств, а результат применения всех правил соответствует операции объединения множеств [Рутковская ]. Функция принадлежности для пересечения двух множеств, например, и (см. Правило 1) находится как [Рутковская ]

Функции принадлежности, полученные при пересечении или объединении множеств, могут быть определены различными способами, в зависимости от смысла решаемой задачи. В этом смысле сама теория нечетких множеств тоже является нечеткой. В [Рутковская ] приводится 10 различных определений функции принадлежности для пересечения множеств, но не сказано, какое из них нужно выбрать для решения конкретной задачи. Используют, в частности, более понятную операцию нахождения функций принадлежности в случае пересечения и объединения множеств, имеющую аналогию с правилами умножения и сложения вероятностей:

Однако применение первых двух способов нахождения функции принадлежности обычно более предпочтительно, т.к. при этом сохраняется большинство правил, разработанных для обычных множеств [Усков ].

Функции принадлежности для каждого из множеств , входящих в нечеткую переменную в правилах (5.118), получаются в виде [Рутковская ]

Здесь каждое из 9-ти уравнений соответствует одному из правил (5.118). Результирующая функция принадлежности управляющего воздействия , полученная после применения всех 9-ти правил, находится как объединение функций принадлежности всех правил:

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

.

Такой способ дефаззификации является наиболее распространенным, но не единственным.

Для построения нечетких регуляторов обычно используют П, И, ПИ и ПД ПД+И, ПИ+Д и ПИД-законы регулирования [Mann ]. В качестве входных сигналов для системы нечеткого вывода используют сигнал ошибки, приращение ошибки, квадрат ошибки и интеграл от ошибки [Mann ]. Реализация нечеткого ПИД регулятора вызывает проблемы, поскольку он должен иметь трехмерную таблицу правил в соответствии с тремя слагаемыми в уравнении ПИД-регулятора, которую чрезвычайно сложно заполнить, пользуясь ответами эксперта. Большое количество структур ПИД-подобных нечетких контроллеров можно найти в статье [Mann ].

Окончательная настройка нечеткого регулятора или настройка, близкая к оптимальной, до сих пор остается трудной задачей. Для этого используются обучающие алгоритмы style="color:red"> и генетические поисковые методы, требующие больших вычислительных ресурсов и времени.

Применение нечеткой логики для подстройки коэффициентов ПИД-регулятора

Настройка регулятора, выполненная методами, изложенными в разделах "Расчет параметров" и "Автоматическая настройка и адаптация" , не является оптимальной и может быть улучшена с помощью дальнейшей подстройки. Подстройка может быть выполнена оператором на основании правил (см. раздел "Ручная настройка, основанная на правилах") или автоматически, с помощью блока нечеткой логики (рис. 5.92). Блок нечеткой логики (фаззи-блок) использует базу правил подстройки и методы нечеткого вывода. Фаззи-подстройка позволяет уменьшить перерегулирование, снизить время установления и повысить робастность ПИД-регулятора [Yesil ].

Процесс автонастройки регулятора с помощью блока нечеткой логики начинается с поиска начальных приближений коэффициентов регулятора . Это делается обычно методом Зиглера-Никольса, исходя из периода собственных колебаний в замкнутой системе и петлевого усиления. Далее формулируется критериальная функция, необходимая для поиска оптимальных значений параметров настройки методами оптимизации.

В процессе настройки регулятора используют несколько шагов [Hsuan ]. Сначала выбирают диапазоны входных и выходных сигналов блока автонастройки, форму функций принадлежности искомых параметров, правила нечеткого вывода, механизм логического вывода, метод дефаззификации и диапазоны масштабных множителей, необходимых для пересчета четких переменных в нечеткие.

Поиск параметров регулятора выполняется методами оптимизации. Для этого выбирается целевая функция как интеграл от суммы квадратов ошибки регулирования и времени установления. В критерий минимизации иногда добавляют скорость нарастания выходной переменной объекта.

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

Следует отметить, что в случаях, когда информации достаточно для получения точной математической модели объекта, традиционный регулятор всегда будет лучше нечеткого потому, что при синтезе нечеткого регулятора исходные данные заданы приближенно.

5.7.2. Искусственные нейронные сети

Нейронные сети, как и нечеткая логика, используются в ПИД-регуляторах двумя путями: для построения самого регулятора и для построения блока настройки его коэффициентов. Нейронная сеть обладает способностью "обучаться", что позволяет использовать опыт эксперта для обучения нейронной сети искусству настройки коэффициентов ПИД-регулятора. Регулятор с нейронной сетью похож на регулятор с табличным управлением (см. раздел "Табличное управление">), однако отличается специальными методами настройки ("обучения"), разработанными для нейронных сетей и методами интерполяции данных.

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

Нейронные сети были предложены в 1943 г. Мак-Каллоком и Питтсом как результат изучения нервной деятельности и биологических нейронов. Искусственный нейрон представляет собой функциональный блок с одним выходом и входами , который реализует в общем случае нелинейное преобразование , где - весовые коэффициенты (параметры) при входных переменных ; - постоянное смещение; - "функция активации " нейрона, например, вида (сигмоидальная функция), где - некоторый параметр. Нейронная сеть (рис. 5.93) состоит из множества связанных между собой нейронов, количество связей может составлять тысячи. Благодаря нелинейности функций активации и большому количеству настраиваемых коэффициентов (в работе [Kato ] использовано 35 нейронов во входном слое и 25 в выходном, при этом количество коэффициентов составило 1850) нейронная сеть может выполнять нелинейное отображение множества входных сигналов во множество выходных.

Типовая структура системы автоматического регулирования с ПИД-регулятором и нейронной сетью в качестве блока автонастройки показана на рис. 5.94 [Kawafuku , Kato ]. Нейронная сеть в данной структуре выполняет роль функционального преобразователя, который для каждого набора сигналов вырабатывает коэффициенты ПИД-регулятора .метод обратного распространения ошибки) [Терехов ]. Используются также другие методы поиска минимума, в том числе генетические алгоритмы, метод моделирования отжига, метод наименьших квадратов.

Процесс обучения нейронной сети выглядит следующим образом (рис. 5.95). Эксперту предоставляют возможность подстраивать параметры регулятора в замкнутой системе автоматического регулирования при различных входных воздействиях . Предполагается, что эксперт умеет это делать с достаточным для практики качеством. Временные диаграммы (осциллограммы) переменных , полученные в системе, подстраиваемой экспертом, записываются в архив и затем подаются на нейронную сеть, подключенную к ПИД-регулятору (рис. 5.95

Рис. 5.95. Схема обучения нейронной сети в блоке автонастройки

Длительность процесса обучения является основной преградой на пути широкого использования методов нейронных сетей в ПИД-регуляторах [Усков ]. Другими недостатками нейронных сетей являются невозможность предсказания погрешности регулирования для входных воздействий, которые не входили в набор обучающих сигналов; отсутствие критериев выбора количества нейронов в сети, длительности обучения, диапазона и количества обучающих воздействий. Ни в одной из публикаций не исследовалась робастность или запас устойчивости регулятора.

5.7.3. Генетические алгоритмы

1. Выбор исходной популяции хромосом размера N.

2. Оценка приспособленности хромосом в популяции.

3. Проверка условия остановки алгоритма.

4. Селекция хромосом.

5. Применение генетических операторов.

6. Формирование новой популяции.

7. Переход к п. 2.

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

Исходная популяция хромосом генерируется случайным образом. Приспособленность хромосом оценивается с помощью целевой функции в кодированной форме. Далее, хромосомы с лучшей приспособленностью собираются в группу, в пределах которой выполняются генетические операции скрещивания или мутации. Скрещивание позволяет получить от двух родителей перспективного потомка. Оператор мутации вносит изменения в хромосомы. В случае двоичного кодирования мутация состоит в изменении случайного бита в двоичном слове.

Рис. 5.97), затем происходит обмен генетической информацией, расположенной справа от выбранной позиции [Fleming ].

После выполнения генетического алгоритма производят декодирование двоичного представления в инженерные величины.

Оценка приспособленности хромосом в популяции для оценки коэффициентов ПИД-регулятора может быть выбрана, к примеру, как

,

где - текущее значение ошибки регулирования, - время.

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

Математическая теория нечетких множеств (fuzzy sets) и нечеткая логика (fuzzy logic) являются обобщениями классической теории множеств и классической формальной логики. Данные понятия были впервые предложены американским ученым Лотфи Заде (Lotfi Zadeh) в 1965 г. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов.

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

Первый период (конец 60-х–начало 70 гг.) характеризуется развитием теоретического аппарата нечетких множеств (Л. Заде, Э. Мамдани, Беллман). Во втором периоде (70–80-е годы) появляются первые практические результаты в области нечеткого управления сложными техническими системами (парогенератор с нечетким управлением). Одновременно стало уделяться внимание вопросам построения экспертных систем, построенных на нечеткой логике, разработке нечетких контроллеров. Нечеткие экспертные системы для поддержки принятия решений находят широкое применение в медицине и экономике. Наконец, в третьем периоде, который длится с конца 80-х годов и продолжается в настоящее время, появляются пакеты программ для построения нечетких экспертных систем, а области применения нечеткой логики заметно расширяются. Она применяется в автомобильной, аэрокосмической и транспортной промышленности, в области изделий бытовой техники, в сфере финансов, анализа и принятия управленческих решений и многих других.

Триумфальное шествие нечеткой логики по миру началось после доказательства в конце 80-х Бартоломеем Коско знаменитой теоремы FAT (Fuzzy Approximation Theorem). В бизнесе и финансах нечеткая логика получила признание после того как в 1988 году экспертная система на основе нечетких правил для прогнозирования финансовых индикаторов единственная предсказала биржевой крах. И количество успешных фаззи-применений в настоящее время исчисляется тысячами.

Математический аппарат

Характеристикой нечеткого множества выступает функция принадлежности (Membership Function). Обозначим через MF c (x) – степень принадлежности к нечеткому множеству C, представляющей собой обобщение понятия характеристической функции обычного множества. Тогда нечетким множеством С называется множество упорядоченных пар вида C={MF c (x)/x}, MF c (x) . Значение MF c (x)=0 означает отсутствие принадлежности к множеству, 1 – полную принадлежность.

Проиллюстрируем это на простом примере. Формализуем неточное определение "горячий чай". В качестве x (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяется от 0 до 100 градусов. Нечеткое множество для понятия "горячий чай" может выглядеть следующим образом:

C={0/0; 0/10; 0/20; 0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100}.

Так, чай с температурой 60 С принадлежит к множеству "Горячий" со степенью принадлежности 0,80. Для одного человека чай при температуре 60 С может оказаться горячим, для другого – не слишком горячим. Именно в этом и проявляется нечеткость задания соответствующего множества.

Для нечетких множеств, как и для обычных, определены основные логические операции. Самыми основными, необходимыми для расчетов, являются пересечение и объединение.

Пересечение двух нечетких множеств (нечеткое "И"): A B: MF AB (x)=min(MF A (x), MF B (x)).
Объединение двух нечетких множеств (нечеткое "ИЛИ"): A B: MF AB (x)=max(MF A (x), MF B (x)).

В теории нечетких множеств разработан общий подход к выполнению операторов пересечения, объединения и дополнения, реализованный в так называемых треугольных нормах и конормах. Приведенные выше реализации операций пересечения и объединения – наиболее распространенные случаи t-нормы и t-конормы.

Для описания нечетких множеств вводятся понятия нечеткой и лингвистической переменных.

Нечеткая переменная описывается набором (N,X,A), где N – это название переменной, X – универсальное множество (область рассуждений), A – нечеткое множество на X.
Значениями лингвистической переменной могут быть нечеткие переменные, т.е. лингвистическая переменная находится на более высоком уровне, чем нечеткая переменная. Каждая лингвистическая переменная состоит из:

  • названия;
  • множества своих значений, которое также называется базовым терм-множеством T. Элементы базового терм-множества представляют собой названия нечетких переменных;
  • универсального множества X;
  • синтаксического правила G, по которому генерируются новые термы с применением слов естественного или формального языка;
  • семантического правила P, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X.

Рассмотрим такое нечеткое понятие как "Цена акции". Это и есть название лингвистической переменной. Сформируем для нее базовое терм-множество, которое будет состоять из трех нечетких переменных: "Низкая", "Умеренная", "Высокая" и зададим область рассуждений в виде X= (единиц). Последнее, что осталось сделать – построить функции принадлежности для каждого лингвистического терма из базового терм-множества T.

Существует свыше десятка типовых форм кривых для задания функций принадлежности. Наибольшее распространение получили: треугольная, трапецеидальная и гауссова функции принадлежности.

Треугольная функция принадлежности определяется тройкой чисел (a,b,c), и ее значение в точке x вычисляется согласно выражению:

$$MF\,(x) = \,\begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b &\ \\ 1\,-\,\frac{x\,-\,b}{c\,-\,b},\,b\leq \,x\leq \,c &\ \\ 0, \;x\,\not \in\,(a;\,c)\ \end{cases}$$

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

Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a,b,c,d):

$$MF\,(x)\,=\, \begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b & \\ 1,\,b\leq \,x\leq \,c & \\ 1\,-\,\frac{x\,-\,c}{d\,-\,c},\,c\leq \,x\leq \,d &\\ 0, x\,\not \in\,(a;\,d) \ \end{cases}$$

При (b-a)=(d-c) трапецеидальная функция принадлежности принимает симметричный вид.

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

$$MF\,(x) = \exp\biggl[ -\,{\Bigl(\frac{x\,-\,c}{\sigma}\Bigr)}^2\biggr]$$

и оперирует двумя параметрами. Параметр c обозначает центр нечеткого множества, а параметр отвечает за крутизну функции.

Совокупность функций принадлежности для каждого терма из базового терм-множества T обычно изображаются вместе на одном графике. На рисунке 3 приведен пример описанной выше лингвистической переменной "Цена акции", на рисунке 4 – формализация неточного понятия "Возраст человека". Так, для человека 48 лет степень принадлежности к множеству "Молодой" равна 0, "Средний" – 0,47, "Выше среднего" – 0,20.

Количество термов в лингвистической переменной редко превышает 7.

Нечеткий логический вывод

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

  1. Существует хотя бы одно правило для каждого лингвистического терма выходной переменной.
  2. Для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки (левая часть правила).

В противном случае имеет место неполная база нечетких правил.

Пусть в базе правил имеется m правил вида:
R 1: ЕСЛИ x 1 это A 11 … И … x n это A 1n , ТО y это B 1

R i: ЕСЛИ x 1 это A i1 … И … x n это A in , ТО y это B i

R m: ЕСЛИ x 1 это A i1 … И … x n это A mn , ТО y это B m ,
где x k , k=1..n – входные переменные; y – выходная переменная; A ik – заданные нечеткие множества с функциями принадлежности.

Результатом нечеткого вывода является четкое значение переменной y * на основе заданных четких значений x k , k=1..n.

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

Алгоритмы нечеткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечеткого вывода Мамдани, Сугено, Ларсена, Цукамото.

Рассмотрим подробнее нечеткий вывод на примере механизма Мамдани (Mamdani). Это наиболее распространенный способ логического вывода в нечетких системах. В нем используется минимаксная композиция нечетких множеств. Данный механизм включает в себя следующую последовательность действий.

  1. Процедура фазификации: определяются степени истинности, т.е. значения функций принадлежности для левых частей каждого правила (предпосылок). Для базы правил с m правилами обозначим степени истинности как A ik (x k), i=1..m, k=1..n.
  2. Нечеткий вывод. Сначала определяются уровни "отсечения" для левой части каждого из правил:

    $$alfa_i\,=\,\min_i \,(A_{ik}\,(x_k))$$

    $$B_i^*(y)= \min_i \,(alfa_i,\,B_i\,(y))$$

    Композиция, или объединение полученных усеченных функций, для чего используется максимальная композиция нечетких множеств:

    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

    где MF(y) – функция принадлежности итогового нечеткого множества.

    Дефазификация, или приведение к четкости. Существует несколько методов дефазификации. Например, метод среднего центра, или центроидный метод:
    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

Геометрический смысл такого значения – центр тяжести для кривой MF(y). Рисунок 6 графически показывает процесс нечеткого вывода по Мамдани для двух входных переменных и двух нечетких правил R1 и R2.

Интеграция с интеллектуальными парадигмами

Гибридизация методов интеллектуальной обработки информации – девиз, под которым прошли 90-е годы у западных и американских исследователей. В результате объединения нескольких технологий искусственного интеллекта появился специальный термин – "мягкие вычисления" (soft computing), который ввел Л. Заде в 1994 году. В настоящее время мягкие вычисления объединяют такие области как: нечеткая логика, искусственные нейронные сети, вероятностные рассуждения и эволюционные алгоритмы. Они дополняют друг друга и используются в различных комбинациях для создания гибридных интеллектуальных систем.

Влияние нечеткой логики оказалось, пожалуй, самым обширным. Подобно тому, как нечеткие множества расширили рамки классической математическую теорию множеств, нечеткая логика "вторглась" практически в большинство методов Data Mining, наделив их новой функциональностью. Ниже приводятся наиболее интересные примеры таких объединений.

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

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

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

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

Адаптивные нечеткие системы

Классические нечеткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удается обеспечить. Адаптивные нечеткие системы (adaptive fuzzy systems) решают эту проблему. В таких системах подбор параметров нечеткой системы производится в процессе обучения на экспериментальных данных. Алгоритмы обучения адаптивных нечетких систем относительно трудоемки и сложны по сравнению с алгоритмами обучения нейронных сетей, и, как правило, состоят из двух стадий: 1. Генерация лингвистических правил; 2. Корректировка функций принадлежности. Первая задача относится к задаче переборного типа, вторая – к оптимизации в непрерывных пространствах. При этом возникает определенное противоречие: для генерации нечетких правил необходимы функции принадлежности, а для проведения нечеткого вывода – правила. Кроме того, при автоматической генерации нечетких правил необходимо обеспечить их полноту и непротиворечивость.

Значительная часть методов обучения нечетких систем использует генетические алгоритмы. В англоязычной литературе этому соответствует специальный термин – Genetic Fuzzy Systems.

Значительный вклад в развитие теории и практики нечетких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).

Нечеткие запросы

Нечеткие запросы к базам данных (fuzzy queries) – перспективное направление в современных системах обработки информации. Данный инструмент дает возможность формулировать запросы на естественном языке, например: "Вывести список недорогих предложений о съеме жилья близко к центру города", что невозможно при использовании стандартного механизма запросов. Для этой цели разработана нечеткая реляционная алгебра и специальные расширения языков SQL для нечетких запросов. Большая часть исследований в этой области принадлежит западноевропейским ученым Д. Дюбуа и Г. Праде.

Нечеткие ассоциативные правила

Нечеткие ассоциативные правила (fuzzy associative rules) – инструмент для извлечения из баз данных закономерностей, которые формулируются в виде лингвистических высказываний. Здесь введены специальные понятия нечеткой транзакции, поддержки и достоверности нечеткого ассоциативного правила.

Нечеткие когнитивные карты

Нечеткие когнитивные карты (fuzzy cognitive maps) были предложены Б. Коско в 1986 г. и используются для моделирования причинных взаимосвязей, выявленных между концептами некоторой области. В отличие от простых когнитивных карт, нечеткие когнитивные карты представляют собой нечеткий ориентированный граф, узлы которого являются нечеткими множествами. Направленные ребра графа не только отражают причинно-следственные связи между концептами, но и определяют степень влияния (вес) связываемых концептов. Активное использование нечетких когнитивных карт в качестве средства моделирования систем обусловлено возможностью наглядного представления анализируемой системы и легкостью интерпретации причинно-следственных связей между концептами. Основные проблемы связаны с процессом построения когнитивной карты, который не поддается формализации. Кроме того, необходимо доказать, что построенная когнитивная карта адекватна реальной моделируемой системе. Для решения данных проблем разработаны алгоритмы автоматического построения когнитивных карт на основе выборки данных.

Нечеткая кластеризация

Нечеткие методы кластеризации, в отличие от четких методов (например, нейронные сети Кохонена), позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам, но с различной степенью. Нечеткая кластеризация во многих ситуациях более "естественна", чем четкая, например, для объектов, расположенных на границе кластеров. Наиболее распространены: алгоритм нечеткой самоорганизации c-means и его обобщение в виде алгоритма Густафсона-Кесселя.

Литература

  • Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. – М.: Мир, 1976.
  • Круглов В.В., Дли М.И. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода. – М.: Физматлит, 2002.
  • Леоленков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. – СПб., 2003.
  • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. – М., 2004.
  • Масалович А. Нечеткая логика в бизнесе и финансах. www.tora-centre.ru/library/fuzzy/fuzzy-.htm
  • Kosko B. Fuzzy systems as universal approximators // IEEE Transactions on Computers, vol. 43, No. 11, November 1994. – P. 1329-1333.
  • Cordon O., Herrera F., A General study on genetic fuzzy systems // Genetic Algorithms in engineering and computer science, 1995. – P. 33-57.

Нейронечеткие или гибридные системы, включающие в себя нечеткую логику, нейронные сети, генетические алгоритмы и экспертные системы, являются эффективным средством при решении большого круга задач реального, мира.

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

Например, нейронные сети успешно применяются в распознавании моделей, они неэффективны в объяснении способов достижения своих решений.

Системы нечеткой логики, которые связаны с неточной информацией, ус­тно применяются при объяснении своих решений, но не могут автоматически пополнять систему правил, которые необходимы для принятия этих решений.

Эти ограничения послужили толчком для создания интеллектуальных гибридных систем, где два или более методов объединяются для того, чтобы преодолеть ограничения каждого метода в отдельности.

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

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

Интеллектуальные гибридные системы успешно применяются во многих областях, таких как управление, техническое проектирование, торговля, о кредита, медицинская диагностика и когнитивное моделирование. Кроме того, диапазон приложения данных систем непрерывно растет.

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

Для того чтобы система могла обрабатывать когнитивные неопределенности так, как это делают люди, нужно применить концепцию нечеткой логики в нейронных сетях. Такие гибридные системы называются нечеткими нейронными или нечетко-нейронными сетями.

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

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

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

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

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

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

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

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

Вычислительный процесс представляет собой использование следующих нечетких нейронных сетей. Процесс начинается с разработки "нечеткого нейро­на", который основан на распознавании биологических нейронных морфоло­гии согласно механизму обучения. При этом можно выделить следующие три этапа вычислительного процесса нечеткой нейронной сети:

    разработка нечетких нейронных моделей на основе биологических ней­ронов;

    модели синоптических соединений, которые вносят неопределенность в нейронные сети;

    разработка алгоритмов обучения (метод регулирования синоптических весовых коэффициентов).

На рис. П1.1 и П1.2 представлены две возможные модели нечетких нейрон­ных систем.

Полученное лингвистическое утверждение интерфейсный блок нечеткой ло­гики преобразует во входной вектор многоуровневой нейронной сети. Ней­ронная сеть может быть обучена вырабатывать необходимые выходные команды или решения

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

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

Рис. П1.2. Вторая модель нечеткой нейронной системы

Простая нейронная сеть представлена на рис. П1.3. Все сигналы и веса задаются вещественными числами.

Рис. П1.3. Простая нейронная сеть

Входные нейроны не изменяют входной сигнал, поэтому выходные и входные параметры совпадают.

При взаимодействии с весовым коэффициентом w t для сигнала х, получаем результат p = wi xi, i = 1, …, n. Элементы входной информации pi складываются и в результате дают входное значение для нейрона:

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

Для вычисления выходного значения:

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

Гибридная нейронная сеть - это нейронная сеть с нечеткими сигналами и весами, и нечеткими передаточными функциями. Однако: (1) можно объединить Xj и w h используя другие непрерывные операции; (2) сложить компонен­ты р1 с помощью других непрерывных функций; (3) передаточная функция может иметь вид любой другой непрерывной функции.

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

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

Рис. П.4. Передаточная функция гибридной нейронной сети

П1.2. Нечеткие нейроны

Определение 1 - нечеткий нейрон И. Сигналы х, и w, объединяются опе­ратором максимума и дают:

Элементы входной информации р, объединяются с помощью оператора ми­нимума и в результате дают выходную информацию нейрона:

Определение 2 - нечеткий нейрон ИЛИ . Сигнал х, и вес w , объединяются оператором минимума:

Элементы входной информации р, объединяются с помощью оператора максимума и в результате дают выходную информацию нейрона:

Определение 3 - нечеткий нейрон ИЛИ (максимум Произведения)

Сигнал х, и вес w, объединяются оператором умножения:

Элементы входной информации р, объединяются с помощью оператора максимума и в результате дают выходную информацию нейрона:

Рис. П1.5. Передаточная функция нечеткого нейрона ИЛИ

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

Известно, что стандартные сети являются универсальными аппроксиматорами, т. е. они могут аппроксимировать любую непрерывную функцию на компактном множестве с любой точностью. Задача с таким результатом является; неконструктивной и не дает информации о том, как построить данную сеть.

Гибридные нейронные сети применяются для реализации правил нечеткой логики IF-THEN конструктивным путем.

Хотя гибридные нейронные сети не способны использовать напрямую стан­дартный алгоритм вывода с обратным ходом, они могут быть обучены мето­дами наискорейшего спуска распознавать параметры функций принадлежно­сти, представляющих собой лингвистические термины в правилах

Рассмотрим некоторые методы "мягких" вычислений, не получившие пока широкого распространения в бизнесе. Алгоритмы и параметры этих методов значительно меньше детерминированы по сравнению с традиционными. Появление концепций "мягких" вычислений было вызвано попытками упрощенного моделирования интеллектуальных и природных процессов, которые во многом носят случайный характер.

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

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

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

Среди недостатков нейронных сетей можно назвать: длительное время обучения, склонность к подстройке под обучающие данные и снижение обобщающих способностей с ростом времени обучения. Кроме того, невозможно объяснить, каким образом сеть приходит к тому или иному решению задачи, то есть нейронные сети являются системами категории "черный ящик", потому что функции нейронов и веса синапсов не имеют реальной интерпретации. Тем не менее, существует масса нейросетевых алгоритмов, в которых эти и другие недостатки так или иначе нивелированы.

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

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

1. Решение задачи представляется в виде хромосомы.

2. Создается случайный набор хромосом - это изначальное поколение решений.

3. Они обрабатываются специальными операторами репродукции и мутации.

4. Производится оценка решений и их селекция на основе функции пригодности.

5. Выводится новое поколение решений, и цикл повторяется.

В результате с каждой эпохой эволюции находятся более совершенные решения.

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

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

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

Возникает вопрос: почему продажи на уровне 999 999 шекелей уже считаются низкими? Очевидно, что это не совсем корректное утверждение. Нечеткая логика оперирует более мягкими понятиями. Например, продажи на уровне 900 тыс. шекелей будут считаться высокими с рангом 0,9 и низкими с рангом 0,1.

В нечеткой логике задачи формулируются в терминах правил, состоящих из совокупностей условий и результатов. Примеры простейших правил: "Если клиентам дали скромный срок кредита, то продажи будут так себе", "Если клиентам предложили приличную скидку, то продажи будут неплохими".

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

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

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

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