Автор работы: Пользователь скрыл имя, 28 Декабря 2011 в 00:41, курсовая работа
В данной дипломной работе разработан оригинальнй подход к проблеме прогнозирования, на основе нейронных сетей. При помощи нейронной сети основанной на алгоритме обратного функционирования, были спрогнозированы изменения курса доллара США по отношению к украинскому карбованцу. Эксперимент дал хорошие результаты по достоверности. Разработанна модель прогнозирования может быть применена и при прогнозировании других экономических показателей.
Серьезное развитие нейрокибернетика получила в работах американского нейрофизиолога Френсиса Розенблата (Корнелльский университет) . В 1958 году он предложил свою модель нейронной сети. Розенблат ввел в модель Маккаллока и Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном [11,12,46,47]. Первоначально персептрон представлял собой однослойную структуру с жесткой пороговой функцией процессорного элемента и бинарными или многозначными входами. Первые персептроны были способны распознавать некоторые буквы латинского алфавита. Впоследствии модель персептрона была значительно усовершенствована [47].
- Персептрон применялся для задачи автоматической классификации, которая в общем случае состоит в разделении пространства признаков между заданным количеством классов. В двухмерном случае требуется провести линию на плоскости, отделяющую одну область от другой. Персептрон способен делить пространство только прямыми линиями (плоскостями) [6,11].
Алгоритм обучения персептрона выглядит следующим образом: 1) системе предъявляется эталонный образ; 2) если выходы системы срабатывают правильно, весовые коэффициенты связей не изменяются; 3) если выходы срабатывают неправильно, весовым коэффициентам дается небольшое приращение в сторону повышения качества распознавания.
Серьезным недостатком персептрона является то, что не всегда существует такая комбинация весовых коэффициентов, при которой имеющееся множество образов будет распознаваться данным персептроном. Причина этого недостатка состоит в том, что лишь небольшое количество задач предполагает, что линия, разделяющая эталоны, будет прямой. Обычно это достаточно сложная кривая, замкнутая или разомкнутая. Если учесть, что однослойный персептрон реализует только линейную разделяющую поверхность, применение его там, где требуется нелинейная, приводит к неверному распознаванию (эта проблема называется линейной неразделимостью пространства признаков) . Выходом из этого положения является использование многослойного персептрона, способного строить ломаную границу между распознаваемыми образами.
Описанная
проблема не является единственной трудностью,
возникающей при работе с персептронами
- также слабо формализован метод обучения
персептрона. Персептрон поставил ряд
вопросов, работа над решением которых
привела к созданию более "разумных"
нейронных сетей и разработке методов,
нашедших применение не только в нейрокибернетике
(например, метод группового учета аргументов,
применяемый для идентификации математических
моделей).
2.2.3
Модель Хопфилда
В 70-е годы интерес к нейронным сетям значительно упал, однако работы по их исследованию продолжались. Был предложен ряд интересных разработок, таких, например, как когнитрон, способный хорошо распознавать достаточно сложные образы (иероглифы и т.п.) независимо от поворота и изменения масштаба изображения. Автором когнитрона является японский ученый И. Фукушима.
Новый виток быстрого развития моделей нейронных сетей, который начался 8-9 лет тому назад, связан с работами Амари, Андерсона, Карпентера, Кохена [24,28,29] и других, и в особенности, Хопфилда [17,37-40], а также под влиянием обещающих успехов оптических технологий [1,26] и зрелой фазы развития СБИС [29] для реализации новых архитектур.
Начало современному математическому моделированию нейронных вычислений было положено работами Хопфилда в 1982 году, в которых была сформулирована математическая модель ассоциативной памяти на нейронной сети с использованием правила Хеббиана [36] для программирования сети. Но не столько сама модель послужила толчком к появлению работ других авторов на эту тему, сколько введенная Хопфилдом функция вычислительной энергии нейронной сети. Это аналог функции Ляпунова в динамических системах. Показано, что для однослойной нейронной сети со связями типа "все на всех" характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии, содержащей в себе всю структуру взаимосвязей в сети. Понимание такой динамики в нейронной сети было и у других исследователей. Однако, Хопфилд и Тэнк [17] показали, как конструировать функцию энергии для конкретной оптимизационной задачи и как использовать ее для отображения задачи в нейронную сеть. Этот подход получил развитие и для решения других комбинаторных оптимизационных задач. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи.
Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная и исследованная Джефери Е. Хинтоном и Р. Земелом [20-23]. В ней, как и в других моделях, нейрон имеет состояния 1,0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналог функции энергии) . Максимум функции консенсуса соответствует оптимальному решению задачи.
Имеется следующая информация о результатах моделирования на ЭВМ работы нейронной сети. Моделировалась асинхронная работа сети Хопфилда. Сеть работает хорошо, т.е. без ошибок восстанавливает эталонные образы из случайных, если в нее записывается не более 15 % эталонных образов. Испытания проводились для 30 нейронов и для 100 нейронов в сети. Бралось некоторое количество случайных векторов в качестве эталонных и строилась соответствующая матрица весов связей. Моделирование при 100 нейронах было существенно более медленным процессам, чем при 30 нейронах, хотя качественная картина и в том и в другом случаях была одна и та же. Приблизительно 88 % испытаний заканчивались в эталонных состояниях, 10 % - в устойчивых состояниях, близких к эталонным. При расстоянии <= 5 между начальным и эталонным векторами, эталонное состояние достигалось в 90 % случаев. С увеличением расстояния, вероятность попадания в наиболее близкое эталонное состояние гладко падала. При расстоянии 12 вероятность была равна 0.2. Устойчивые состояния, слишком близкие друг к другу, имеют тенденцию "сливаться", они попадают в одну впадину на энергетической поверхности. Программировалась задача коммивояжера на основе сети Хопфилда. Сетью из 100 нейронов для 20 различных случайных начальных состояний были определены маршруты, 16 из которых были приемлемыми, 50% попыток дали 2 пути 2.83 и 2.71 (цифры приводятся, чтобы показать как они близки) при кратчайшем 2.67. Это результаты моделирования работы сети с непрерывной моделью нейрона. Моделировалась также задача коммивояжера, но для сети типа машина Больцмана, проводилась при следующих значениях управляющих параметров: A = 0.95, L = 10, M = 100 (A - положительное число меньше единицы, но близкое к ней, L - число испытаний, которые проводятся без изменений, M - число последовательных испытаний, не приводящих к изменению состояния машины, как критерия завершения процесса) . Процесс запускался 100 раз для n = 10 (всего в сети N = n^2 нейронов) и 25 раз для n = 30 при различных нормальных состояниях машины Больцмана. Для n = 10 получился оптимальный результат, для n = 30 - решение на 14 % хуже оптимального. Отметим, что вероятностный механизм функционирования машины Больцмана дает возможность получить на ней несколько лучшие результаты оптимизации, чем на модели Хопфилда.
2.2.4 Модель сети с обратным распространением
Способом обратного распространения (back propogation) называется способ обучения многослойных НС. В таких НС связи между собой имеют только соседние слои, при этом каждый нейрон предыдущего слоя связан со всеми нейронами последующего слоя [5,8,16,27,30,42,48,49]. Нейроны обычно имеют сигмоидальную функцию возбуждения. Первый слой нейронов называется входным и содержит число нейронов соответствующее распознаваемому образу. Последний слой нейронов называется выходным и содержит столько нейронов, сколько классов образов распознается. Между входным и выходным слоями располагается один или более скрытых (теневых) слоев. Определение числа скрытых слоев и числа нейронов в каждом слое для конкретной задачи является неформальной задачей.
Принцип обучения такой нейронной сети базируется на вычислении отклонений значений сигналов на выходных процессорных элементах от эталонных и обратном "прогоне" этих отклонений до породивших их элементов с целью коррекции ошибки. Еще в 1974 году Поль Дж. Вербос [5] изобрел значительно более эффективную процедуру для вычисления величины, называемой производной ошибки по весу, когда работал над своей докторской диссертацией в Гарвардском университете. Процедура, известная теперь как алгоритм обратного распространения, стала одним из наиболее важных инструментов в обучении нейронных сетей [5,16,27,30,42,48,49]. Однако этому алгоритму свойственны и недостатки, главный из которых - отсутствие сколько-нибудь приемлемых оценок времени обучения. Понимание, что сеть, в конце концов, обучится, мало утешает, если на это могут уйти годы. Тем не менее, алгоритм обратного распространения имеет широчайшее применение. Например, успех фирмы NEC в распознавании букв, был достигнут именно благодаря алгоритму обратного распространения. Подробнее метод обратного распространения описан в главе 3.
2.3 Задачи, решаемые на основе нейронных
сетей
В литературе [33,41,43] встречается значительное число признаков, которыми должна обладать задача, чтобы применение НС было оправдано и НС могла бы ее решить: - отсутствует алгоритм или не известны принципы решения задач, но накоплено достаточное число примеров; - проблема характеризуется большими объемами входной информации; - данные неполны или избыточны, зашумлены, частично противоречивы.
Таким образом, НС хорошо подходят для распознавания образов и решения задач классификации, оптимизации и прогнозирования. Ниже приведен перечень возможных промышленных применений нейронных сетей, на базе которых либо уже созданы коммерческие продукты, либо реализованы демонстрационные прототипы [7,10,18,25,35,45,50].
Банки и страховые компании: - автоматическое считывание чеков и финансовых документов; - проверка достоверности подписей; - оценка риска для займов; прогнозирование изменений экономических показателей.
Административное обслуживание: - автоматическое считывание документов; - автоматическое распознавание штриховых кодов.
Нефтяная и химическая промышленность: - анализ геологической информации; - идентификация неисправностей оборудования; - разведка залежей минералов по данным аэрофотосъемок; - анализ составов примесей; - управление процессами.
Военная промышленность и аэронавтика: - обработка звуковых сигналов (разделение, идентификация, локализация, устранение шума, интерпретация) ; - обработка радарных сигналов (распознавание целей, идентификация и локализация источников) ; - обработка инфракрасных сигналов (локализация) ; - обобщение информации; - автоматическое пилотирование.
Промышленное производство: - - управление манипуляторами; - управление качеством; - управление процессами; - обнаружение неисправностей; - адаптивная робототехника; - управление голосом.
Служба безопасности: - распознавание лиц, голосов, отпечатков пальцев.
Биомедицинская промышленность: - анализ рентгенограмм; - обнаружение отклонений в ЭКГ.
Телевидение и связь: - адаптивное управление сетью связи; - сжатие и восстановление изображения.
Представленный
перечень далеко не полон. Ежемесячно
западные средства массовой информации
сообщают о новых коммерческих продуктах
на базе нейронных сетей. Так, фирма LIAC
выпускает аппаратуру для контроля качества
воды. Нейросистемы фирмы SAIC находят пластиковые
бомбы в багаже авиапассажиров. Специалисты
инвестиционного банка Citicomp (Лондон) с
помощью программного нейропакета делают
краткосрочные прогнозы колебаний курсов
валют.
2.4
Способы реализации нейронных сетей
Нейронные сети могут быть реализованы двумя путями: первый - это программная модель НС [2,3,15,34], второй - аппаратная [14,31,34,45,50]. На современном рынке изделия, основанные на использовании механизма действия НС, первоначально появились в виде нейроплат. В качестве типичного примера нейроплаты можно назвать плату МВ 86232 японской фирмы Fujitsu. На плате размещены процессор цифровой обработки сигналов и оперативная память емкостью 4 Мбайт, что позволяет использовать такую плату для реализации НС, содержащих до тысячи нейронов. Есть и более совершенные платы.
Основными коммерческими аппаратными изделиями на основе НС являются и, вероятно, в ближайшее время будут оставаться нейро- БИС. Сейчас выпускаются более 20 типов нейроБИС, параметры которых порой различаются на несколько порядков. Среди них - модель - ETANN фирмы Intel. Эта БИС, выполненная по микронной технологии, является реализацией НС с 64т нейронами и 10240 синапсами. Ее цена 2000 долл.
К числу самых дешевых нейроБИС (41 долл.) относится модель MD 1220 фирмы Micro Devices. Эта БИС реализует НС с 8 нейронами и 120 синапсами.
Информация о работе Прогнозирование на основе аппарата нейронных сетей