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

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

Содержание:

Введение

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

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

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

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

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

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

Глава 1 История развития нейронных сетей

Все началось в середине прошлого столетия когда У. Мак-Каллок и У.Питтс формализуют понятие нейронной сети. В своих первых работах, в которых и были получены основные результаты в данном направлении. [1] В 1943 году ими была разработана компьютерная модель нейронной сети на основе математических алгоритмов и теории деятельности головного мозга.

В 1948 году Норберт Винер публикует работу о кибернетике. А через год - 1949 году Д. Хебб предлагает первый алгоритм обучения.

В 1958 год Джон фон Нейман предложил имитацию простых функций нейронов с помощью вакуумных трубок. Ф. Розенблатт в 1958 году изобретает однослойный перцептрон. [2]

В 1969 году Марвин Ли Минский публикует работу об ограниченности перцептрона, и как следствие его неспособность решать широкий круг задач. [3] Все это взятое приводит к снижению интереса многих исследователей к нейронным сетям. [4]

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

1974 году - П. Вербосом разработан алгоритм обратного распространения ошибки для обучения многослойных перцептронов, открытый снова в 1982 г. Д. Паркером и в 1986 году Дэвидом И. Румельхартом, Дж. Е. Хинтоном и Рональдом Дж. Вильямсом, независимо и одновременно С.И. Барцевым и В.А. Охониным.

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

1975 год - Фукушима представляет Когнитрон - самоорганизующуюся сеть, предназначенную для инвариантного распознавания образов.

1980 год - Фукушимой была разработана мощная парадигма, названная неокогнитрон.

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

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

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

В 1987 год - Гроссберг создает адаптивную резонансную теорию (APT) и модели нейронных сетей, построенных на ее основе. Сети и алгоритмы APT сохраняют пластичность, необходимую для изучения новых образов, в то же время, предотвращая изменение ранее запомненных образов. [6]

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

2007 год - Джеффри Хинтоном в Торонто созданы алгоритмы глубокого обучения многослойных нейронных сетей.

На сегодня разработано достаточно много других моделей нейронных сетей, имеющих свои особенности. [7,8,9]

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

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

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

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

2. Ячейка нейрона – в ней суммируются все входы, что определяет текущее состояние нейрона;

3. Аксон - выходная связь нейрона, с которой сигнал поступает на синапсы следующих нейронов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона. Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Эти входные сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый вес соответствует силе одной биологической синаптической связи. [11]

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

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

Что же такое искусственный нейрон?

http://ai-news.ru/images/294963.jpg

Рис.1

Искусственный нейрон— элемент искусственных нейронных сетей, моделирующий некоторые функции биологического нейрона. [18]

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

Главная функция искусственного нейрона — формировать выходной сигнал в зависимости от сигналов, поступающих на его входы.[20] 

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

Нейрон характеризуется текущим состоянием и обладает группой синапсов — однонаправленных входных связей, соединенных с выходами других нейронов. Общий вид искусственного нейрона приведен на рис.1.[18] 

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

Выход нейрона есть функция его состояния: y = f(s). 

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

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

Существует 4 вида нейронных сетей:

  1. Сети прямого распространения;
  2. Реккурентные нейронные сети;
  3. Сеть радиально- базисных функции;
  4. Самоорганизующиеся карты (сети Кохонена).

Начнем по порядку и разберем каждую из них по подробнее.

Сети прямого распространения – все связи направлены строго от входных нейронов к выходным. К таким сетям относятся: персептрон (разработанный Розенблаттом) и многослойный персептрон. [2]

Розенблатт сформулировал две теоремы, которые положены в основу самоорганизации системы. Первая утверждает, что функция памяти человека распределена случайно между бесконечным числом одинаковых ассоциирующих ячеек. Вторая теорема утверждает, что понимание окружающей обстановки любым мыслящим индивидуумом достигается путем обучения и накопления опыта. [22] В связи с этим не требуется никакой первоначальной информации для самоорганизации. Самоорганизация нейронных соединений осуществляется путем разрушения неустойчивых структур и закрепления устойчивых. Перцептрон состоит из некоторого достаточно большого числа непрерывных нейронов, называемых ассоциативными ячейками и некоторого числа распознающих ячеек, равного числу образов, которые должен распознать перцептрон. Каждая распознающая ячейка имеет два выходных канала: первый выходной канал выдает 1, если образ опознан правильно, и 0, если образ не соответствует истинному; второй канал выдает сигналы противоположные сигналам первого канала. [21]

Многослойный перцептрон представляет собой классический пример однонаправленной нейронной сети, т.е. нейронной сети, в которой отсутствуют как обратные воздействия сигналов выходных нейронов на вход сети, так и соединения между нейронами одного и того же слоя. [2] Архитектура многослойного перцептрона демонстрируется здесь на примере трехслойного перцептрона содержащего лишь один ассоциативный (скрытый) слой, образованный четырьмя нейронами связывающий входные и выходные слои сети. Использование скрытого слоя в архитектуре многослойного перцептрона диктуется соображениями достижения более адекватного соответствия множества входных сигналов набору выходных параметров сети. Увеличение количества скрытых слоев позволяет выделять статистические закономерности высших порядков, что является важным обстоятельством в случае многомерного входного сигнала. Число нейронов входного слоя и выходного слоя в многослойном перцептроне соответствует размерностям входного и выходного векторов соответственно. Количество нейронов в скрытых слоях определяется опытным путем и является результатом многократного экспериментирования с сетью. Связи нейронов входного слоя с нейронами первого последующего за ним скрытого слоя являются в общем случае выборочными (не все выходы могут иметь синаптические соединения со входами). Веса синаптических связей могут быть при этом постоянными и оставаться неизменными во время обучения. [10] Напротив, синаптические связи между нейронами ассоциативного и выходного слоев, как и между нейронами двух соседних скрытых слоев, являются всеобъемлющими, т. е. выход каждого нейрона предыдущего слоя соединен с соответствующим входом каждого нейрона последующего слоя, а значения весов подстраиваются на обучающей стадии. [3]

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

По архитектуре связей искусственные нейронные сети могут быть разделены на два основных класса сети прямого действия, в которых графы не имеют петель, и рекуррентные сети (сети с обратными связями). [23]

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

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

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

Рис.2 Структура радиально-базисной нейронной сети

(где xi – входы сети, y – выход сети, http://latex.codecogs.com/png.latex?%5Chuge%20%5Cphi%20%28x%29 - функция активации, - веса),а функция преобразования нейронной сети выглядит так

https://latex.codecogs.com/png.latex?%5Chuge%20F%28x_%7Bp%7D%29%3D%5Csum_%7Bi%3D1%7D%5E%7BK%7D%5Comega%20_%7Bi%7D%5Cphi%20%28%5Cleft%20%5C%7C%20x_%7Bp%7D-c_%7Bi%7D%20%5Cright%20%5C%7C%29%2C

где сi – центры в функции Гаусса, xp – элементы обучающей выборки от 1 до р

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

Сети радиального типа представляют собой естественное дополнение сигмоидальных сетей. Структура обычной радиальной сети включает входной слой, на который подаются сигналы, описываемые входным вектором x, скрытый слой с нейронами радиального типа и выходной слой, состоящий из одного или нескольких линейных нейронов. Функция выходного нейрона сводится к рассчитанному суммированию сигналов, порожденных скрытыми нейронами. Использование в разложении p базовых функций, где p – это количество обучающих выборок, недопустимо с практической точки зрения, поскольку количество этих выборок может быть велико, и в результате вычислительная сложность обучающего алгоритма может стать чрезмерной. Поэтому ищется оптимальное решение в пространстве меньшей размерности, которое с достаточной точностью приближает точное решение. [23]

Как правило, в качестве радиальной функции применяется функция Гаусса. При размещении ее центра в точке сi она может быть определена как

.

В этом выражении σi – параметр, от значения которого зависит ширина размаха функции. [26]

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

Нейронные сети с радиальными базисными функциями находят применение как при решении задач классификации или аппроксимации функции многих переменных, так и при прогнозировании, то есть в тех прикладных областях, в которых сигмоидальные сети используются в течение многих лет. Они выполняют те же функции, что и сигмоидальные сети, однако реализуют иные методы обработки данных, связанные с локальными отображениями. Благодаря этой особенности обеспечивается значительное упрощение и ускорение процесса обучения. Величина влияния или протяжения радиальной базисной функции определяет ширину «колпаков» гауссовых функций с центром в каждом обучающем наблюдении. Малая величина протяжения приводит к функции с резкими пиками и малой ошибкой аппроксимации, но такая сеть не способна к обобщению и может плохо аппроксимировать наблюдения контрольного множества. Процесс обучения радиальных базисных сетей включает две стадии: процесс настройки центров базисных функций и обучение нейронов в скрытом слое, поэтому РБФ-сети обучаются достаточно быстро. [23] [27]

Сети (слои) Кохонена относятся к самоорганизующимся нейронным сетям. Самоорганизующаяся сеть позволяет выявлять кластеры (группы) входных векторов, обладающих некоторыми общими свойствами. [26] [28] Кластеризация — это разделение исследуемого множества объектов на группы "похожих" объектов, называемых кластерами. Синонимами термина "кластер" являются термины класс, таксон, сгущение. Задача кластеризации принципиально отличается от задачи классификации. Решением задачи классификации является отнесение каждого из объектов к одному из заранее определенных классов. В задаче кластеризации происходит отнесение объекта к одному из заранее неопределенных классов. Разбиение объектов по кластерам осуществляется при одновременном формировании кластеров. Кластеризация позволяет сгруппировать сходные данные, что облегчает решение ряда задач Data Mining:

  • Изучение данных, облегчение анализа. Содержательный анализ полученных кластеров позволяет обнаружить закономерности. Например, можно выявить группы клиентов сети сотовой связи, для которых можно предложить новый тарифный план. Другие примеры — выявление групп покупателей торговой сети, сегментация рынка. Анализ содержания кластера позволяет применить к объектам различных кластеров разные методы анализа.
  • Прогнозирование. Относя новый объект к одному из кластеров, можно прогнозировать поведение объекта, поскольку его поведение будет схожим с поведением объектов кластера.
  • Обнаружение аномалий. Содержательный анализ кластеров помогает выявить аномалии. Обычно, это кластеры, в которые попадает мало объектов. [29]

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

Карты Кохонена (самоорганизующиеся карты) предназначены для визуального представления многомерных свойств объектов на двумерной карте. [30] Карты Кохонена производят отображение входных данных высокой размерности на элементы регулярного массива малой размерности (обычно, двумерного). Карты Кохонена похожи на сети Кохонена. Отличие состоит в том, что в карте нейроны, являющиеся центрами кластеров, упорядочены в некоторую структуру (обычно двумерную сетку). В процессе обучения карты настраиваются веса не только нейрона-победитель, но и его соседей. В результате близкие по некоторой метрике входные векторы в сети Кохонена относятся к одному нейрону (центру кластера), а в карте Кохонена могут относиться к разным близко расположенным на сетке нейронам. Обычно нейроны располагаются в узлах двумерной сетки с прямоугольными или шестиугольными ячейками. [26] Нейроны-соседи определяются расстоянием между нейронами на карте. Шестиугольные ячейки более корректно отображают декартово расстояние между объектами на карте, т. к. для этих ячеек расстояние между центрами смежных ячеек одинаковы. Каждой ячейке соответствует нейрон сети Кохонена. То есть в карте Кохонена число нейронов равно числу ячеек карты и больше числа нейронов сети Кохонена, равного числу кластеров. Число ячеек карты зависит от требуемой детальности изображения и подбирается экспериментально. Для каждой ячейки вычисляется одна из статистических характеристик выбранного компонента входных векторов, попавших в ячейку. В зависимости от величины этой характеристики ячейка окрашивается в определенный цвет Карты Кохонена только позволяют по раскраске ячеек карты выдвигать гипотезы о наличии кластерной структуры и числе кластеров, зависимостях между значениями отдельных переменных. Выдвинутые гипотезы должны проверяться и подтверждаться иными способами. Карты используются на стадии разведочного анализа данных, скорее для общего понимания задачи, чем для получения каких-либо точных результатов. [28] [29]

Глава 5 Обучение нейронных сетей

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

Среди всех существующих методов обу­чения можно выделить два класса:

  • Детерминированный метод итеративно корректирует параметры сети, основываясь на ее текущих параметрах, величинах вхо­дов, фактических и желаемых выходов. Яр­кой иллюстрацией подобного метода явля­ется метод обратного распространения ошибки.
  • Стохастические методы обучения из­меняют параметры сети случайным обра­зом. При этом сохраняются только те изме­нения, которые привели к улучшениям. В качестве примера стохастического метода обучения можно привести следующий ал­горитм:
  1. Выбрать параметры сети случайным образом и подкорректировать их на неболь­шую случайную величину. Предъявить мно­жество входов и вычислить получающиеся выходы.
  2. Сравнить эти выходы с желаемыми и вычислить разницу между ними. Эта разница называется ошибкой. Цель обучения состоит в том, чтобы минимизировать ошибку.
  3. Если ошибка уменьшилась, коррек­ция сохраняется, иначе кор­рекция отбрасывается и выбирается новая.

Шаги 2 и 3 повторяются до тех пор, пока сеть не обучится.

Необходимо отметить, что стохастичес­кий метод обучения может попасть в «ло­вушку» локального минимума.

Допустим, что первоначальное значение ошибки равно или очень близко к точке А.

Если случайные шаги корректировки малы, то любые отклонения от точки А увеличат ошибку и будут отвергнуты. Таким обра­зом, наименьшее значение ошибки в точке В никогда не будет найдено. Когда случай­ные коррекции параметров сети очень ве­лики, ошибка будет меняться так резко, что никогда не установится в одном из мини­мумов.

Чтобы избежать подобных проблем, можно постепенно уменьшать средний раз­мер случайных шагов коррекции. Когда средний размер шагов велик, значение ошибки будет принимать все значения с равной вероятностью. Если плавно умень­шать размер шагов, то будет достигнуто условие, при котором значение ошибки бу­дет на некоторое время «застревать» в точ­ке B. Когда размер шага уменьшится еще больше, значение ошибки будет «останав­ливаться» на короткое время и в точке А, и в точке B. Если уменьшать размер шага непрерывно, то, в конце концов, будет дос­тигнута величина шага, достаточная для того, чтобы преодолеть локальный мини­мум А, но не локальный минимум В. [11]

Обучение с учителем.

Алгоритм называется алгоритмом обу­чения с учителем, если во время обучения сеть располагает правильными ответами (вы­ходами сети) на каждый входной пример, то есть заранее задается множество пар век­торов {(xS, d5)}, где xS е X - вектор, зада­ющий условие задачи, а dS е Y - известное решение задачи для вектора xS. В процессе обучения сеть меняет свои параметры та­ким образом, чтобы давать нужное отобра­жение X ® Y. Необходимо отметить, что размер множества {(xS, dS)} должен быть достаточным для того, чтобы алгоритм обу­чения смог сформировать нужное отобра­жение [31].

Обучение без учителя.

Хотя метод обучения с учителем успеш­но применяется для решения прикладных задач, многие исследователи критикуют его за биологическое неправдоподобие. Дей­ствительно, трудно вообразить, что в мозге есть некоторый механизм, который срав­нивает действительные результаты с жела­емыми. Алгоритм обучения без учителя может применяться тогда, когда известны только входные сигналы. На их основе сеть учится давать наилучшие значения выхо­дов. Понятие «наилучшее значение» опре­деляется алгоритмом обучения. Обычно алгоритм подстраивает параметры так, чтобы сеть выдавала одинаковые резуль­таты для достаточно близких входных зна­чений [32].

Метод Хебба.

Самым старым обучающим правилом является постулат обучения Хебба. На основании физиологических и психологических исследований Хебб выд­винул гипотезу о том, как обучаются биоло­гические нейроны. Он предположил, что вес соединения между двумя нейронами усили­вается, если оба эти нейрона возбуждены. [10]

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

Сам алгоритм выглядит следующим образом:

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

Правило коррекции по ошибке.

В 1957 г. Розенблатт разработал модель, которая вызвала большой интерес у иссле­дователей. Модель использует алгоритм обучения с учителем, то есть обучающее множество состоит из множества входных векторов, для каждого из которых указан выходной вектор. Несмотря на некоторые ограничения, она стала основой для многих современных наиболее сложных алгоритмов обучения с учителем. [2]

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

Обучение методом соревнования.

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

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

Задача на расход топлива автомобиля.

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

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

Правила:

1. Если скорость движения низкая, температура воздуха низкая, то расход топлива маленький.

2. Если скорость движения средняя, температура воздуха низкая, то расход средний.

3. Если скорость высокая, температура воздуха высокая, то расход большой.

Для решения данной задачи будем использовать комплекс MATLABFuzzyLogicToolbox. Будем использовать алгоритм логического вывода mamdani, который по умолчанию предлагает нам система (Рис.3).

Рис.3

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

Рис.4

Зададим функции принадлежности для наших переменных, через редактор функций. Задаем диапазон изменения для переменной «Скорость» от 0 до 150 км\ч, затем зададим 3 функции принадлежности гауссового типа (gaussmf) (Рис.5).

Рис.5

Далее отредактируем функцию переменной для переменной «Температура». Зададим диапазон изменения температуры от -20 до +20 градусов. И задаем 2 функции с соответствующими параметрами «высокая» и «низкая» (Рис.6).

Рис.6

Редактируем последнюю, заданную, переменную «Расход топлива» с диапазоном от 5 до 29 л\100км. Задаем 3 функции принадлежности, треугольной формы (Рис.7).

Рис.7

Сделано все необходимое для конструирования правил. Задаем правила, которые у нас даны в условии задачи (Рис.8).

Рис.8

Откроем окно просмотра правил и посмотрим как при разных значениях входных данных меняется ответ. Машина стоит на месте, но при этом на улице +20 градусов и мы включили кондиционер, расход топлива при этом составит 14,3 л\100км. (Рис.9)

Рис.9

Начали движение и развили скорость до 100км\ч, на улице +20 и кондиционер работает, машина работает на полную мощность и расходует максимальное количество топлива – 25л\100км (Рис.10).

Рис.10

Изменим скорость до 60км\ч и понизим температуру до 0 градусов. Расход уменьшился до приемлемых 14 л\100км.

Fuzzy Logic Toolbox – это мощный инструмент для реализации алгоритмов нечеткой логики. Позволяет строить системы нечеткого вывода для экспертных систем, решения задач идентификации и управления.

Заключение

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

Библиография

1. Mc Culloch W. С. H. A Logical Calculus of Ideas Immanent in Nervous Activity. / W.С. Mc Culloch, W.H.Pitts/ Bulletin of Mathematical Biophysics. –1943. –Vol. 5. –P. 115–119.

2. Розенблатт Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга / Ф. Розенблатт. –М.: Мир, 1965. – С. 480

3. Минский М. Персептроны/ М. Минский, С. Пейперт. –М.: Мир, 1971. – С. 261

4. Аксенов С.В. Организация и использование нейронных сетей (методы и технологии)/С.В. Аксенов, В.Б. Новосельцев; под общ. ред. В. Б. Новосельцева. –Томск: Изд-во НТЛ, 2006. –С.5.

5. Hopfield J.J. Neural Networks and physical systems with emergent collective computational abilities. / J.J. Hopfield. / Proceedings of National Academy of Sciences, 1982. – Vol. 79. –P. 2554–2558.

6. Мареев С.Н. История философии (общий курс): Учебное пособие/ С.Н. Мареев, Е.В. Мареева – М.: Академические Проект, 2004. - С. 880

7. Нейрокомпьютеры и их применение: в 18 кн. / под общей ред. А.И. Галушкина Я.З. Цыпкина - М.: ИПРЖР, 2001. - Кн.5: Нейронные сети: история развития теории: Учеб. пособие для вузов. - С. 840

8. Потапов, И.В. Модели, методы и задачи прикладной теории надежности

нейрокомпьютерных систем: автореферат дис. доктора технических наук: 05.13.15, 05.13.17/И.В. Потапов. - Новосибирск, 2010. - С. 35

9. Плотникова Н.П. Модели, алгоритмы и реализация нейронных сетей в многопроцессорных и распределенных вычислительных средах: дис. ... канд. технических наук: 05.13.01 / Н.П. Плотникова; Мордовский государственный университет им. Н.П. Огарева. - Саранск, 2014. - С. 137

10. Заенцев И.В. Нейронные сети: основные модели. Учебное пособие к курсу "Нейронные сети" для студентов 5 курса магистратуры кафедра электроники физического факультета Воронежского Государственного университета/ И.В. Заенцев, Воронеж -1999. -С. 3-6, 19, 21, 123.

11. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика: пер. с англ. /Ф. Уоссермен - М.: Мир., 1992. – С. 15-26, 118-149

12. Русинов В.Н. Финансовый рынок. Инструменты и методы прогнозирования/В.Н. Русинов. – М., 2000 - С. 216

13. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям. /В.Б. Тарасов. М.: Эдиториал УРСС, 2002. – С. 352

14. Круглов В.В. Искусственные нейронные сети /В.В. Круглов. Горячая линия-Телеком, 2002. - С .382.

15. Пупков К.А. Интеллектуальные системы / К.А. Пупков, В.Г. Коньков – М.: Изд-во МГТУ им. Н.Э. Баумана, 2003. – С. 348

16. Ушаков Н.Н. Технология элементов вычислительных машин. Издание 2/ Н.Н. Ушаков, Художественная литература ,1976. – С. 345

17. Андрейчиков А.В. Интеллектуальные информационные системы/ А.В. Андрейчиков, Финансы и статистика ,2006. –С. 5, 58, 232

18. Комарцова Л.Г. Нейрокомпьютеры/ Л.Г. Комарцова, А.В. Максимов Изд. МГТУ им Н.Э.Баумана, 2002 – С.320

19. Баширов М. Г., Шикунов В. Н. Диагностика электрических сетей и электрооборудования промышленных предприятий/М.Ш. Баширов, В.Н. Шикунов, Уфа: Изд-во УГНТУ, 2004. – С. 220

20. Дьяков И.Ф. Использование нейронных технологий при выборе транспортного средства/Вестник Белорусско-Российского университета, №2(51)/2016.

21. Чинаев П.И. Самонастраивающиеся системы. Справочник\П.И. Чинаев, Киев: Наукова Думка, 1969 – С.528

22. Каллан Робертс Основные концепции нейронных сетей / Каллан Робертс – М.: Издательский дом «Вильямс», 2001. – С. 287

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

23. Егупов Н.Д. Методы робастного, нейро-нечеткого и адаптивного управления/ Н.Д. Егупов, Изд. МГТУ им Н.Э.Баумана, 2002. – С. 744

24. Ежов А.А. Нейрокомпьютинг и его применения в экономике и бизнесе/ А.А. Ежов, С.А. Шумский, М.: МИФИ, 1998. – С.222

25. Кондрашов В.Е. MATLAB как система программирования научно-технических расчетов/В.Е. Кондрашов, С.Б. Королев, М.: Мир, 2002-С.350

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

27. Каллан Робертс. Основные концепции нейронных сетей / Каллан Робертсб М.: Издательский дом «Вильямс», 2001. – C. 287

28. Кохонен Т. Самоорганизующиеся карты/Т. Кохонен, М.: БИНОМ. Лаборатория знаний, 2008. – С. 655

29. Паклин Н. Б., Орешков В. И. Бизнес-аналитика: от данных к знаниям/Н.Б. Паклин, В.И. Орешков, СПб.: Питер, 2013 - С. 704

30. Akinduko A. A., Mirkes E. Initialization of Self-Organizing Maps: Principal Components Versus Random Initialization. A Case Study. [Электронный ресурс]. URL:http://www.math.le.ac.uk/people/ag153/homepage/PCA_SOM/AkindukoMir kes.pdf (дата обращения: 06.11.2016).

31. Krose B., Smagt P. An introduction to Neural Networks. University of Amsterdam, 1996

32. Smith L. An Introduction to Neural Networks. Unpublished draft, University of Stirling, 2001.