Современные методы нейросетевого исследования

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 27.04.2017
Размер файла 181,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

УДК 303.732.4

Кубанский государственный аграрный университет

Современные методы нейросетевого исследования

Богославский С.Н., - аспирант

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

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

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

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

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

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

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

Создание сети решается в два этапа (рис. 1.):

- выбор типа (архитектуры) сети;

- обучение (подбор весов) сети.

Размещено на http://www.allbest.ru/

Рисунок 1. Схема обучения сети.

На первом этапе следует выбрать следующее:

- какие типы нейронов мы хотим использовать (число входов, передаточные функции);

- каким образом следует соединить их между собой;

- что взять в качестве входов и выходов сети.

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

- возможности сети возрастают с увеличением числа слоев сети и числа нейронов в них;

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

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

На втором этапе следует «обучить» выбранную сеть. После многократного предъявления примеров веса сети стабилизируются, причем сеть дает правильные ответы на все (или почти все) примеры из базы данных. В таком случае говорят, что «сеть обучена» или «сеть натренирована». В программных реализациях можно видеть, что в процессе обучения величина ошибки (сумма квадратов ошибок по всем выходам) постепенно уменьшается. Когда величина ошибки достигает нуля или приемлемого малого уровня, тренировку останавливают, а полученную сеть считают натренированной и готовой к применению на новых данных. Схематично процесс обучения представлен на рис. 2.

Размещено на http://www.allbest.ru/

Рисунок 2. Процесс обучения нейронной сети.

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

Алгоритм относится к обучению без учителя, если известны только входные вектора, и на их основе сеть учится давать наилучшие значения выходов. Что понимается под «наилучшими значениями» - определяется алгоритмом обучения.

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

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

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

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

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

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

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

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

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

- множество используемых в системе нечетких правил;

- базу данных, содержащую описания функций принадлежности;

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

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

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

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

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

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

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

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

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

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

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

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

,

нейронный сеть архитектура нечеткий

где t - время обучения; - пороговое значение убыли ошибки; - минимальный интервал времени обучения между добавлениями новых нейронов; t0 - момент последнего добавления.

Когда выполняются оба условия, добавляется новый нейрон. Веса и порог нейрона инициализируются небольшими случайными числами. Обучение снова повторяется до тех пор, пока не будут выполнены условия. Типичная зависимость ошибки от времени обучения приведена на рис. 3. Моменты добавления новых нейронов отмечены пунктиром. После каждого добавления ошибка сначала резко возрастает, т.к. параметры нейрона случайны, а затем быстро сходится к меньшему значению.

Рисунок 3. Типичная зависимость ошибки от времени обучения при добавлении нейронов.

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

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

Веса и пороговые уровни инициализируются случайными значениями. Созданная таким образом сеть абсолютно неадекватна решаемой задаче и может генерировать на выходе только шум. Поэтому ошибка в начале обучения очень велика, и есть смысл вводить большие коррекции параметров. Ближе к концу обучения ошибка значительно снижается, и коррекции должны быть малыми. Чтобы менять длину шагов по параметрам, используют расписание обучения (learning schedule). Выберем скорость обучения, зависящую от времени обучения: . Обычно скорость монотонно убывает с ростом времени. Для сходимости алгоритма необходимо:

, .

Часто выбирают , > 0 или аналогичные функции.

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

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

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

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

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

- первый слой нейронов выполняет функцию введения нечеткости на основе заданных функций принадлежности входов;

- второй слой - отображает совокупность нечетких правил;

- третий слой - выполняет функцию приведения к четкости.

Каждый из слоев характеризуется набором параметров, настройка которых проводится так же, как и для нейронных сетей.

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

Выводы

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

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

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

Литература

1. Алтунин А.Е., Семухин М.В. Модели и алгоритмы принятия решений в нечетких условиях. Тюмень: Изд-во Тюменского государственного университета, 2000. - 352 с.

2. Борисов А.Н., Алексеев А.В., Меркурьева Г.В. и др. Обработка нечеткой информации в системах принятия решений.- М: Радио и связь. 1989. - 304 с.

3. Головко В.А. Нейроинтеллект: Теория и применения. Книга 1. Организация и обучение нейронных сетей с прямыми и обратными связями - Брест: БПИ, 1999, - 260с.

4. Головко В.А. Нейроинтеллект: Теория и применения. Книга 2. Самоорганизация, отказоустойчивость и применение нейронных сетей - Брест: БПИ, 1999, - 228с.

5. Заде Л. Понятие лингвистической переменной и ее применение к принятию приближенных решений. - М.: Мир, 1976. - 165с.

6. Калайдин Е.Н., Подгорнов В.В., Фощан Г.И. Методы прикладной статистики в задачах моделирования социально-экономических систем: Учебное пособие. - Кубанский госуниверситет. Краснодар, 2002. - 138 с.

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

8. Луценко Е.В., Лойко В.И., Семантические информационные модели управления агропромышленным комплексом. Монография (научное издание). - Краснодар: КубГАУ, 2005. - 480с

9. Орловский С.А. Проблемы принятия решений при нечеткой информации.- М.: Наука, 1981. - 206 с.

10. Оссовский С. Нейронные сети для обработки информации. - М.: Финансы и статистика, 2002. - 344 с.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.