Мтс

Нечёткая логика и нейронные сети. Математические методы и модели искусственного интеллекта: нечеткая логика, генетические алгоритмы, нейронные сети и др. Интеллектуальный анализ данных. Управление знаниями Генетические алгоритмы и нечеткая логика










Пример «Горячий чай" X= 0 C 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.


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


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


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










Описание лингвистической переменной "Цена акции" X= Базовое терм-множество: "Низкая", "Умеренная", "Высокая"


Описание лингвистической переменной "Возраст"








«Мягкие вычисления" (Soft computing) нечёткая логика, искусственн ые нейронные сети, вероятностн ые рассуждени я эволюционн ые алгоритмы


























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


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


Задача "Выдавать ли кредит клиенту" в аналитическом пакете Deductor (BaseGroup) Обучающий набор - база данных, содержащая информацию о клиентах: – Сумма кредита, – Срок кредита, – Цель кредитования, – Возраст, – Пол, – Образование, – Частная собственность, – Квартира, – Площадь квартиры. Необходимо построить модель, которая сможет дать ответ, входит ли Клиент, желающий получить кредит, в группу риска невозврата кредита, т.е. пользователь должен получить ответ на вопрос "Выдавать ли кредит?" Задача относится к группе задач классификации, т.е. обучения с учителем.







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

Л. Заде, формулируя это главное свойство нечетких множеств, базировался на трудах предшественников. В начале 1920-х годов польский математик Лукашевич трудился над принципами многозначной математической логики, в которой значениями предикатов могли быть не только «истина» или «ложь». В 1937 году еще один американский ученый М. Блэк впервые применил многозначную логику Лукашевича к спискам как множествам объектов и назвал такие множества неопределенными.

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

Первый период развития нечетких систем (конец 60-х – начало 70-х гг.) характеризуется развитием теоретического аппарата нечетких множеств. В 1970 году Беллман совместно с Заде разработали теорию принятия решений в нечетких условиях.

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

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


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

Достоинства нечетких систем:

· функционирование в условиях неопределенности;

· оперирование качественными и количественными данными;

· использование экспертных знаний в управлении;

· построение моделей приближенных рассуждений человека;

· устойчивость при действии на систему всевозможных возмущений.

Недостатками нечетких систем являются:

· отсутствие стандартной методики конструирования нечетких систем;

· невозможность математического анализа нечетких систем существующими методами;

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

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

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

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

Более строго: нечетким множеством A называется совокупность пар

где – функция принадлежности, то есть

Пусть, например, U ={a, b, c, d, e}, . Тогда элемент a не принадлежит множеству A, элемент b принадлежит ему в малой степени, элемент c более или менее принадлежит, элемент d принадлежит в значительной степени, e является элементом множества A.

Пример. Пусть универсум U есть множество действительных чисел. Нечеткое множество A, обозначающее множество чисел, близких к 10, можно задать следующей функцией принадлежности (рис. 21.1):

,

Название: Нечеткая логика и искусственные нейронные сети.

Как известно, аппарат нечетких множеств и нечеткой логики уже давно (более 10 лет) с успехом применяется для решения задач, в которых исходные данные являются ненадежными и слабо формализованными. Сильные стороны такого подхода:
-описание условий и метода решения задачи на языке, близком к естественному;
-универсальность: согласно знаменитой теореме FAT (Fuzzy Approximation Theorem), доказанной Б.Коско (B.Kosko) в 1993 г., любая математическая система может быть аппроксимирована системой, основанной на нечеткой логике;

Вместе с тем для нечетких экспертных и управляющих систем характерны и определенные недостатки:
1) исходный набор постулируемых нечетких правил формулируется экспертом-человеком и может оказаться неполным или противоречивым;
2) вид и параметры функций принадлежности, описывающих входные и выходные переменные системы, выбираются субъективно и могут оказаться не вполне отражающими реальную действительность.
Для устранения, по крайней мере, частично, указанных недостатков рядом авторов было предложено выполнять нечеткие экспертные и управляющие системы адаптивными - корректируя, по мере работы системы, и правила и параметры функций принадлежности. Среди нескольких вариантов такой адаптации одним из самых удачных, по-видимому, является метод так называемых гибридных нейронных сетей.
Гибридная нейронная сеть формально по структуре идентична многослойной нейронной сети с обучением, например, по алгоритму обратного распространения ошибки, но скрытые слои в ней соответствуют этапам функционирования нечеткой системы. Так:
-1-й слой нейронов выполняет функцию введения нечеткости на основе заданных функций принадлежности входов;
-2-й слой отображает совокупность нечетких правил;
-3-й слой выполняет функцию приведения к четкости.
Каждый из этих слоев характеризуется набором параметров (параметрами функций принадлежности, нечетких решающих правил, акти-
вационных функций, весами связей), настройка которых производится, в сущности, так же, как для обычных нейронных сетей.
В книге рассмотрены теоретические аспекты составляющих подобных сетей, именно, аппарат нечеткой логики, основы теории искусственных нейронных сетей и собственно гибридных сетей применительно к Задачам управления и принятия решений в условиях неопределенности.
Особое внимание уделено программной реализации моделей указанных подходов инструментальными средствами математической системы MATLAB 5.2/5.3.

Предыдущие статьи:

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

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

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

Определения

Компьютеры (или, более точно, «машины логического вывода»), использующие эти концепции, способны решать сложные задачи, которые оказываются не по силам традиционным системам управления.

Искусственная нейронная сеть (ИНС), согласно Викпедии, – это «взаимосвязанная совокупность искусственных ‘нейронов’, которая использует математическую или вычислительную модель для обработки информации, опирающейся на связанность вычислителей».

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

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

В этом примере искусственной нейронной сети переменная h, представляющая трехмерный вектор, зависит от входной переменной x. Далее g, двумерная векторная переменная, зависит от h, и, наконец, выходная переменная f зависит от g.

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

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

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

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

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

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

Быстрая нечеткая логика для управления в реальном времени

Несмотря на то, что любой микроконтроллер или компьютер могут реализовать алгоритмы нечеткой логики в программном виде, это может оказаться неэффективным из-за низкого быстродействия и потребности в большом объеме памяти. Джим Сибигтрот, системный инженер по автомобильной продукции отделения микроконтроллеров Transportation and Standard Products Group, входящей в Freescale Semiconductor, говорит, что микроконтроллеры HC12 и HCS12 компании очень эффективно решают эту задачу за счет добавления четырех команд, специально разработанных для реализации основных частей механизма логического вывода нечеткой логики.

«Основная программа для универсального механизма логического вывода, которая обрабатывает невзвешенные правила, занимает приблизительно 57 байтов объектного кода (приблизительно 24 строки ассемблерного кода)», – сообщает он.

Сибигтрот отмечает, что модель HCS12 с частотой 25 МГц может выполнить полную последовательность вывода для двух входных и одного выходного параметра с семью пометками для каждого входа и выхода примерно за 20 мкс. Эквивалентная программа для MC68HC11 с частотой 8 МГц (без команд нечеткой логики) заняла бы приблизительно 250 байтов объектного кода и примерно 750 мкс времени. Даже если бы MC68HC11 мог обработать программу с такой же скоростью, что и HCS12, команды нечеткой логики уменьшают программу в 4 раза и сокращают время выполнения в 12 раз. Такие короткие интервалы распознавания позволяют использовать алгоритмы нечеткой логики в системах управления в режиме реального времени без дорогостоящего компьютерного оборудования или больших программ.

Обработка изображений

С помощью принятия решений в ИНС, основанной на нечеткой логике, можно создать мощную систему управления. Очевидно, что две эти концепции хорошо работают вместе: алгоритм логического вывода с тремя нечеткими состояниями (например, холодный, теплый, горячий) мог бы быть реализован в аппаратном виде при использовании истинностных значений (0.8, 0.2, 0.0) в качестве входных значений для трех нейронов, каждый из которых представляет одно из трех множеств. Каждый нейрон обрабатывает входную величину в соответствии со своей функцией и получает выходное значение, которое далее будет входным значением для второго слоя нейронов, и т.д.

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

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

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

Обобщения

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

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

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

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

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

Пример сортировки рыбы

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

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

Pisces установила более 20 систем, базирующихся на интеллектуальной камере Iris от Matrox и механизме распознавания CogniSight от General Vision. Камера монтируется над конвейером так, чтобы рыба проходила под ней как раз перед попаданием в филетирующую машину. Камера связана с контроллером Siemens Simatic S7-224 (ПЛК) и с локальной сетью (LAN). Стробоскопический источник света, установленный рядом с камерой, запускается каждый раз, когда новая емкость появляется в поле зрения. Соединение камеры с локальной сетью необходимо для выполнения трех операций: настройки преобразователя, гарантирующей фокусировку и надлежащий контраст изображения, обучения механизма распознавания и доступа к статистике, непрерывно сообщающей о количестве кондиционной и некондиционной рыбы.

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

Как только камера получает базу знаний, она может начать распознавание рыбы автономно, без связи с персональным компьютером. ИНС сортирует ее по категориям «принято», «забраковано», «на переработку» или «пусто». Этот сигнал идет в ПЛК, управляющий двумя щетками, которые направляют соответствующую рыбу в емкости для удаления или переработки. ПЛК также связан с магнитным датчиком, который вырабатывает сигнал запуска каждый раз, когда емкость с рыбой проходит под камерой.

В настоящее время Pisces уже установила более 20 систем на 5 различных рыболовецких флотилиях в Норвегии, Исландии, Шотландии и Дании. Система оценивает 360 конвейерных емкостей в минуту на линиях сельди, но она может работать еще быстрее.

Для сети из 80 нейронов достигнута 98%-ая точность при классификации 16 тонн рыбы. Рыбаки довольны системой благодаря ее надежности, гибкости и легкости в использовании. Преимущества: сокращение срока плавания, повышение качества улова и доходов, распределяемых между меньшим числом рыбаков.

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

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

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

Математическая теория нечетких множеств (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.