Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Нейронные сети и нечеткая логика

Содержание:

ВВЕДЕНИЕ

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

Целью курсовой работы является аналитический обзор возникновения, развития и использования искусственных нейронных сетей и принципов их функционирования.

Объект исследования – искусственные нейронные сети.

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

Задачи исследования следуют из поставленной цели:

- изучить научную литературу и современные публикации по ИНС;

- рассмотреть основы, структуру, состав, классификацию ИНС;

- провести обзор основных классов ИНС;

- сформулировать выводы.

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

Информационной базой исследования являются литературные источники и публикации по искусственным нейронным сетям, искусственному интеллекту и нечёткой логике авторов А.В. Андрейченков, С. Хайкин, С. Осовский, В.В. Круглов, В.В. Борисов, С. Рассел, П. Норвиг и др.

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

1. История развития искусственных нейронных сетей

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

Впервые это было сделано в совместной новаторской работе нейрофизиолога У. Мак-Каллока и математика У. Питтса в 1943 году. Они разработали модель, состоящую из системы искусственных нейронов объединенных в сеть, в которой каждый нейрон характеризовался как находящийся во "включенном" или "выключенном" состоянии, а переход во "включенное" состояние происходил в ответ на стимуляцию достаточного количества соседних нейронов[2].

Формализованная модель нейрона соответствовала принципу "все или ничего". Было показано, что сеть, составленная из большого количества таких элементов, соединенных правильно сконфигурированными и синхронно работающими связями, способна выполнять любые вычисления[3].

Кроме того, учёные выдвинули предположение, что сети, структурированные соответствующим образом, способны к обучению, то есть к изменению параметров сети под воздействием поступающих данных[4].

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

Дальнейшее развитие ИНС связано с работой Ф. Розенблатта. В 1962 году вышла книга, в которой он представил теорию динамических нейронных систем для моделирования мозговой деятельности, основанную на персептронной модели нервной клетки[6]. Розенблатт разработал принципы организации и функционирования персептронов, предложил вариант технической реализации первого в мире нейрокомпьютера Mark.

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

В 1970 - 1976 гг. велись активные разработки в области персептронов в СССР, заказчиками этих работ были, в основном, военные ведомства.

После некоторого затишья, с начала 1980-х годов, начался новый виток развития моделей нейронных сетей (НС). Он связан с работами С. Гроссберга, Т. Кохонена, Дж. Хопфилда и др, а также активным развитием оптических технологий[7] и полупроводниковых устройств сверхвысокой степени интеграции.

В 1982 году, после публикаций работ Дж. Хопфилда, теория нейронных сетей начала развиваться в стремительном темпе, начало увеличиваться количество научных центров, занимающихся вопросами НС[8]. Хопфилд предложил семейство оптимизирующих нейронных сетей, моделирующих ассоциативную память. Доработка принципа обратного распространения в применении к обучению многослойных сетей, сняли ограничения, наложенные в работе Минского и Пейперта. Финансирование сферы развития нейронных сетей было возобновлено, начался прогресс нейронных сетей как в теоретической базе, так и в практическом приложении.

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

В 1985 году появились первые коммерческие нейрокомпьютеры, в частности - Mark III фирмы TRW (США).

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

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

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

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

2. Аналогия нейронных сетей с мозгом и биологическим нейроном

Построение нейронной сети — это попытка создания искусственной нервной системы, в состав которой входил бы и человеческий мозг. Сами нейроны - это десятки миллиардов элементарных объектов, которые «думают» за человека, и исследователю в этой области необходимо понять, каким образом происходит этот процесс «думания», как человеческий мозг обучается обрабатывать информацию, и делать соответствующие выводы[9].

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

Нейрон - нервная клетка человека - является основным элементом нервной системы. Изучение механизмов функционирования отдельных нейронов и их взаимодействий принципиально важно для изучения протекающих в нервной системе процессов - поиска, передачи и обработки информации[10]. Поэтому является необходимым построить и изучить модель биологического нейрона (рис.1)[11].

Рис. 1 - Биологическое строение и взаимосвязи между нейронами

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

Искусственный нейрон повторяет работу естественного (рис. 2)[12].

Рис. 2 - Структура искусственного нейрона

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

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

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

Более точно, мозг последовательно выполняет ряд задач распознавания (например, распознавание знакомого лица в незнакомом окружении). На это у него уходит около 100-200 миллисекунд, в то время как выполнение аналогичных задач даже меньшей сложности на компьютере может занять несколько дней.

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

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

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

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

Для накопления знаний применяются связи между нейронами, называемые синаптическими весами. Процедура, используемая для процесса обучения, называется алгоритмом обучения. Эта процедура выстраивает в определенном порядке синаптические веса нейронной сети для обеспечения необходимой структуры взаимосвязей нейронов. Изменение синаптических весов представляет собой традиционный метод настройки искусственных нейронных сетей. Однако нейронные сети могут изменять собственную топологию. Это обусловлено тем фактом, что нейроны в человеческом мозге постоянно отмирают, а новые синаптические связи постоянно создаются[16].

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

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

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

Модель искусственного нейрона (рис.3)[17] представляет собой непрерывно-дискретный преобразователь информации. Информация, поступающая на вход нейрона, суммируется с учетом весовых коэффициентов Wi сигналов где п — размерность пространства входных сигналов.

Потенциал нейрона определяется по формуле

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

Рис.3 Схема кибернетической модели нейрона

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

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

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

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

Рис. 4 - Функции переноса искусственных нейронов: а - линейная; б- ступенчатая; в - сигмоидальная

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

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

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

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

При всем многообразии возможных конфигураций ИНС на практике получили распространение лишь некоторые из них[20].

4. Виды искусственных нейронных сетей

В общем случае можно выделить три фундаментальных класса нейронных систем:

  • Однослойные сети прямого распространения;
  • Многослойные сети прямого распространения;
  • Рекуррентные сети.

В многослойной нейронной сети нейроны располагаются по слоям. В простейшем случае в такой сети есть входной слой узлов источника, информация от которого передается на выходной слой нейронов (вычислительные узлы). Такая сеть называется сетью прямого распространения или ацикличной сетью (рис.5)[21].

Рис. 5 - Сеть прямого распространения с одним слоем нейронов

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

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

Рис. 6 - Полносвязная сеть прямого распространения с одним скрытым и одним выходным слоем

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

Рекуррентная нейронная сеть отличается от сети прямого распространения наличием хотя бы одной обратной связи. Рекуррентная сеть может состоять из единственного слоя нейронов, каждый из которых направляет свой выходной сигнал на входы всех остальных нейронов этого же слоя (рис. 7)[23].

Рис. 7 - Рекуррентная сеть

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

5. Обучение нейронных сетей

Из всех свойств ИНС ключевым является способность обучаться, поскольку сам процесс функционирования нейронной сети, сущность её действий зависит от величин и параметров синаптических связей. Поэтому создавая определённую структуру сети соответствующую какой-либо задаче, требуется найти оптимальные значения переменных параметров сети – весов и порогов[24]. Этот процесс и называется обучением. Тип обучения определяется способом настройки, изменения параметров, и от того как он будет происходить, зависит способность сети решать поставленные задачи, при этом повышение эффективности и производительности происходит со временем, в соответствии с определенными правилами. Процесс обучения предполагает следующую последовательность событий:

1. В нейронную сеть поступают стимулы.

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

3. После изменения внутренней структуры нейронная сеть отвечает на возбуждения уже иным образом.

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

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

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

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

При смешанном обучении часть весов определяется посредством обучения с учителем, а другая часть получается с помощью алгоритмов самообучения[26].

Алгоритмов обучения ИНС разработано множество, рассмотрим основные из них.

Правило коррекции по ошибке. Процесс обучения ИНС состоит в коррекции исходных значений весовых коэффициентов межнейронных связей, которые обычно задаются случайным образом. При вводе входных данных запоминаемого примера (стимула) появляется реакция, которая передается от одного слоя нейронов к другому, достигая последнего слоя, где вычисляется результат. Разность между известным значением результата и реакцией сети соответствует величине ошибки, которая может использоваться для корректировки весов межнейронных связей. Корректировка заключается в небольшом (обычно менее 1%) увеличении синаптического веса тех связей, которые усиливают правильные реакции, и уменьшении тех, которые способствуют ошибочным. Это простейшее правило контролируемого обуче­ния (дельта-правило) используется в однослойных сетях с одним уровнем настраиваемых связей между множеством входов и множеством выходов.

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

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

Метод обратного распространения ошибки. Является обобщением процедуры обучения простого персептрона с использованием дельта-правила на многослойные сети. В данном методе необходимо располагать обучающей выборкой, содержащей «правильные ответы», т.е. выборка должна включать множество пар образцов входных и выходных данных, между которыми нужно установить соответствие. Перед началом обучения меж­нейронным связям присваиваются небольшие случайные значения. Сначала входные элементы сети устанавливаются в заданное состояние. Входные сигналы распространяются по сети, порождая некоторый выходной вектор. Для работы алгоритма требуется, чтобы характеристика вход-выход элементов сети была неубывающей и имела ограниченную производную. Обычно для этого используют сигмоидальные функции. Полученный выходной вектор сравнивается с требуемым (правильным). Если они совпадают, то весовые коэффициенты связей не изменяются. В противном случае вычисляется разница между фактическими и требуемыми выходными значениями, которая передается последовательно от выходного слоя к входному. На основе этой информации проводится модификация связей в соответствии с обобщенным дельта-правилом.

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

6. Применение нечеткой логики на практике

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

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

Наиболее популярный комплекс для решения задач нечеткой логики является Fuzzy Logic Toolbox[28] из пакета MATLAB. C помощью этой программы[29] в данной курсовой работе реализуется задача на определение затрат на свадьбу.

В задаче требуется определить, сколько денег будет потрачено на свадьбу.

Входные сигналы:

  1. количество гостей (малое, среднее, большое)
  2. наличие приглашенных артистов (мало артистов, много артистов)
  3. количество блюд на праздничном столе (мало блюд, среднее количество блюд, много блюд)

Выходной сигнал: затраты на свадьбу (бедная свадьба, средняя, богатая).

Правила вывода:

  1. Если количество гостей маленькое, мало приглашенных артистов, мало блюд на столе, то свадьба бедная.
  2. Если среднее количество гостей, мало артистов, среднее количество блюд, то свадьба средняя.
  3. Если много приглашенных гостей, много приглашенных артистов, много блюд на столе, то свадьба богатая.

Определим диапазоны значений:

Входные:

  • кол-во гостей: 0 – 80 чел. (малое – от 0 до 30, среднее – от 20 до 60, большое – от 50 до 80);
  • наличие артистов: 0 – 7 чел. (мало артистов – от 1 до 3, много артистов – от 4 до 7)
  • кол-во блюд: 0 – 30 шт. (мало – от 0 до 10, средне – от 10 до 20 , много – от 20 до 30);

Выходные:

  • затраты: 0 – 600 т.р. (бедная – от 0 до 200, средняя – от 200 до 400, богатая – от 400 до 600);

Решение данной задачи производится с помощью комплекса Fuzzy Logic Toolbox, входящего в состав программы MATLAB и предназначенного для проектирования и исследования систем на нечеткой логике.

6.1. Решение задачи

  1. Открываем редактор fuzzy-системы. Будем использовать предлагаемый по умолчанию алгоритм логического вывода Мамдани («mamdani»):

  1. В нашей системе три входных сигнала (количество гостей, наличие артистов и количество блюд). Добавим входы в нашем редакторе: Edit → Add variable… → Input. При этом в редакторе появляются два новых блока с именем input2 и input3. По щелчку на каждом из блоков изменим их имена в графе Name на «Гостей», «Артистов», «Блюд». Выходной блок назовем «Затраты». Присвоим имя всей сети «WeddExpert» через меню File → Export → To Workspace.

Выходную переменную с именем output1 переименуем на «Затраты».

Результат переименования на рисунке:

  1. Зададим и отредактируем функции принадлежности для входов и выходов. Двойным нажатием левой кнопкой мыши по соответствующему входу открываем окно редактирования функций и выбираем первый вход «Гостей». В поле Range, Display Range установим диапазон изменения количества гостей [0 80]. Зададим три типа принадлежности. Через пункт меню Edit → Add MFs.. перейдем к диалоговому окну, в котором зададим функции принадлежности трапецеидальной формы «tramf» с общим числом 3 и изменим их имена на «малое_кол-во», «среднее_кол-во» и «большое_кол-во».

Для функции «малое_кол-во» зададим параметры – Params [0 0 20 30].

Для функции «среднее_кол-во» – Params [20 30 50 60].

Для функции «большое_кол-во» – Params [50 60 80 80].

  1. Далее для входа «Артистов» создадим 2 функции принадлежности трапецеидальной формы «tramf». В поле Range, Display Range установим диапазон изменения количества артистов [0 8]. Функции назовем «мало» и «много». Для функции «мало» установим значения параметров – Params [0 0 2 3] и для функции «много» – Params [5 6 8 8].

  1. Далее для входа «Блюд» создадим 2 функции принадлежности трапецеидальной формы «tramf» и одну треугольной «trimf». Установим диапазон изменения количества блюд – [0 30]. Одну трапецеидальную функцию назовем «мало» и зададим такие параметры – Params [0 0 5 10]. Вторую трапецеидальную функцию назовем «много» и зададим следующие параметры – Params [20 25 30 30]. Функцию треугольной формы назовем «среднее» и зададим следующие параметры – Params [10 15 20].

  1. И теперь отредактируем выходную переменную «Затраты».

Для неё создадим 2 функции принадлежности трапецеидальной формы «tramf» и одну треугольной «trimf». Установим в поле Range, Display Range диапазон затрат – [0 600]. Одну трапецеидальную функцию назовем «бедная» и зададим параметры – Params [0 0 100 200]. Вторую трапецеидальную функцию назовем «богатая» и зададим такие параметры – Params [400 500 600 600]. Функцию треугольной формы назовем «средняя» и зададим следующие параметры – Params [200 300 400].

  1. Зададим правила вывода. Для этого, выбираем соответствующий пункт меню Edit → Rules. При создании правил можно указать «вес», т.е. значимость для каждого из них. В нашей задаче вес всех правил будет одинаковым.

На этом создание экспертной системы завершено.

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

Откроем через пункт меню View/ Rules окно просмотра правил и установим значения переменных: количество гостей = 20 (т.е. мало), наличие артистов = 2 (т.е. мало), количество блюд = 9 (т.е. мало). Увидим ответ: Затраты = 93.7 (т.е. свадьба бедная).

Проверим другие варианты.

Количество гостей = 37 (т.е. среднее), наличие артистов = 3 (т.е. мало), количество блюд = 17 (т.е. среднее). Ответ: Затраты = 300 (т.е. свадьба средняя).

Количество гостей = 62 (т.е. большое), наличие артистов = 7 (т.е. много), количество блюд = 25 (т.е. много). Ответ: Затраты = 524 (т.е. свадьба богатая).

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Андрейченков А.В., Андрейченкова О.Н. Интеллектуальные информационные системы: Учебник. – М.: Финансы и статистика, 2004. – 424с.

Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. – М.: Финансы и статистика, 2002. – 344 с.

Рассел С. Искусственный интеллект: современный подход, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – 1408 с.

Хайкин Саймон Нейронные сети: полный курс, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – 1104 с.

Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – 2-е изд., стереотип. – М.: Горячая линия–Телеком, 2002. – 382 с.

Яхъева Г.Э. Нечёткие множества и нейронные сети: Учебное пособие / Г.Э. Яхъева. – М.: Интернет–Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2006. – 316 с.

Барский А.Б. Нейронные сети: распознавание, управление, принятие решений. – М.: Финансы и статистика, 2004. – 176 с:

Комашинский В.И., Смирнов Д.А. Нейронные сети и их применение в системах управления и связи. - – М.: Горячая линия-Телеком, 2003. - 94с.

Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. - СПб.: БХВ-Петербург, 2005. - 736с.

Штовба С.Д. Проектирование нечетких систем средствами MATLAB. - М.: Горячая линия-Телеком, 2007. - 288с.

  1. Яхъева Г.Э. Нечёткие множества и нейронные сети: Учебное пособие / Г.Э. Яхъева. – М.: Интернет–Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2006. – С.162

  2. Рассел С. Искусственный интеллект: современный подход, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.54

  3. Хайкин Саймон Нейронные сети: полный курс, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.75

  4. Рассел С. Искусственный интеллект: современный подход, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.55

  5. Хайкин Саймон Нейронные сети: полный курс, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.76

  6. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. – М.: Финансы и статистика, 2002. – С.22

  7. Комашинский В.И., Смирнов Д.А. Нейронные сети и их применение в системах управления и связи. - – М.: Горячая линия-Телеком, 2003. - С.5

  8. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. – М.: Финансы и статистика, 2002. – С.22

  9. Барский А.Б. Нейронные сети: распознавание, управление, принятие решений. – М.: Финансы и статистика, 2004. – С.3

  10. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. – М.: Финансы и статистика, 2002. – С.17

  11. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – 2-е изд., стереотип. – М.: Горячая линия–Телеком, 2002. – С.9

  12. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – 2-е изд., стереотип. – М.: Горячая линия–Телеком, 2002. – С.11

  13. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – 2-е изд., стереотип. – М.: Горячая линия–Телеком, 2002. – С.11

  14. Хайкин Саймон Нейронные сети: полный курс, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.31

  15. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – 2-е изд., стереотип. – М.: Горячая линия–Телеком, 2002. – С.10

  16. Хайкин Саймон Нейронные сети: полный курс, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.32

  17. Андрейченков А.В., Андрейченкова О.Н. Интеллектуальные информационные системы: Учебник. – М.: Финансы и статистика, 2004. – С. 233

  18. Андрейченков А.В., Андрейченкова О.Н. Интеллектуальные информационные системы: Учебник. – М.: Финансы и статистика, 2004. – С.234

  19. Андрейченков А.В., Андрейченкова О.Н. Интеллектуальные информационные системы: Учебник. – М.: Финансы и статистика, 2004. – С.234

  20. Андрейченков А.В., Андрейченкова О.Н. Интеллектуальные информационные системы: Учебник. – М.: Финансы и статистика, 2004. – С.235

  21. Хайкин Саймон Нейронные сети: полный курс, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.56

  22. Хайкин Саймон Нейронные сети: полный курс, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.57

  23. Хайкин Саймон Нейронные сети: полный курс, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.56-57

  24. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – 2-е изд., стереотип. – М.: Горячая линия–Телеком, 2002. – С.23

  25. Хайкин Саймон Нейронные сети: полный курс, 2-е изд.. : Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – С.89-90

  26. Андрейченков А.В., Андрейченкова О.Н. Интеллектуальные информационные системы: Учебник. – М.: Финансы и статистика, 2004. – С.243

  27. Андрейченков А.В., Андрейченкова О.Н. Интеллектуальные информационные системы: Учебник. – М.: Финансы и статистика, 2004. – С.243-246

  28. Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. - СПб.: БХВ-Петербург, 2005. - С.1-736

  29. Штовба С.Д. Проектирование нечетких систем средствами MATLAB. - М.: Горячая линия-Телеком, 2007. - С.1-288