Курсовая на тему Применение нейронных сетей для формализации процессов управления Сети Хопфилда
Работа добавлена на сайт bukvasha.net: 2015-06-30Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Федеральное государственное образовательное учреждение высшего профессионального образования
«южный федеральный университет»
Экономический факультет
Кафедра «Прикладной информатики в экономике»
Курсовая работа
на тему:
Применение нейронных сетей для формализации процессов управления. Сети Хопфилда
Выполнил: студент 4 курса
11 группы
Жданова Екатерина
Проверил: д.э.н. профессор
Стрельцова Е.Д.
Ростов-на-Дону
2009
Содержание
Введение
Применение нейрокомпьютеров в финансовой деятельности
1.1 Прогнозирование временных рядов на основе нейросетевых методов обработки
1.2 Страховая деятельность банков
1.3 Прогнозирование банкротств на основе нейросетевой системы распознавания
1.4 Определение курсов облигаций и акций предприятий с целью вложения средств в эти предприятия
1.5 Применение нейронных сетей к задачам анализа биржевой деятельности
1.6 Прогнозирование экономической эффективности финансирования экономических и инновационных проектов
1.7 Предсказание результатов займов
Пример применения нейронной сети
Применение нейрокомпьютеров на российском финансовом рынке
Применение нейронных сетей в задачах прогнозирования
Использование аппарата нейронных сетей для создания модели оценки и управления рисками.
Предсказание рисков банкротств
Сравнительный анализ финансового состояния фирм
Постановка задачи
Данные о российских банках
Нелинейное сжатие информации - карты Кохонена
Раскраски карты Кохонена
Модель нейронной сети для предсказания финансовой несостоятельности организации
Нейронная сеть Хопфилда
Пример применения сети Хопфилда
Заключение
Список используемой литературы
Введение
Уже сегодня искусственные нейронные сети используются во многих областях, но прежде чем их можно будет применять там, где на карту поставлены человеческие жизни или значительные материальные ресурсы, должны быть решены важные вопросы, касающиеся надежности их работы. Поэтому уровень допустимых ошибок следует определять исходя из природы самой задачи. Некоторые проблемы с анализом вопросов надежности возникают из-за допущения полной безошибочности компьютеров, тогда как искусственные нейронные сети могут быть неточны даже при их правильном функционировании. На самом же деле компьютеры, как и люди, тоже могут ошибаться. Первые — в силу различных технических проблем или ошибок в программах, вторые — из-за невнимательности, усталости или непрофессионализма. Следовательно, для особо критических задач необходимо, чтобы эти системы дублировали и страховали друг друга. А это значит, при решении таких задач нейронные сети должны выступать не в качестве единственных средств, а в качестве дополнительных, предупреждающих особые ситуации или берущих на себя управление, когда проблема не решается стандартным образом и какие-либо задержки могут привести к катастрофе.
Другая трудность использования нейронных сетей состоит в том, что традиционные нейронные сети неспособны объяснить, каким образом они решают задачу. Внутреннее представление результатов обучения зачастую настолько сложно, что его невозможно проанализировать, за исключением некоторых простейших случаев, обычно не представляющих интереса.
В последнее время предпринимаются активные попытки объединения искусственных нейронных сетей и экспертных систем. В такой системе искусственная нейронная сеть может реагировать на большинство относительно простых случаев, а все остальные передаются для рассмотрения экспертной системе. В результате сложные случаи принимаются на более высоком уровне, при этом, возможно, со сбором дополнительных данных или даже с привлечением экспертов.
Нейросетевые прикладные пакеты, разрабатываемые рядом компаний, позволяют пользователям работать с разными видами нейронных сетей и с различными способами их обучения. Они могут быть как специализированными (например, для предсказания курса акций), так и достаточно универсальными.
Области применения нейронных сетей весьма разнообразны — это распознавание текста и речи, семантический поиск, экспертные системы и системы поддержки принятия решений, предсказание курсов акций, системы безопасности, анализ текстов. В данной курсовой работе рассматривается несколько особенно ярких и интересных примеров использования нейронных сетей в разных областях.
При создании курсовой работы ставилась цель: изучение применения нейронных сетей для формализации процессов управления, рассмотрение непосредственных примеров.
Для достижения поставленной цели в работе решены следующие задачи:
Выполнение обзора применения нейронных сетей
Изучение различных моделей нейронных сетей
Изучение карт Кохонена в финансовой сфере
Рассмотрение нейронной сети Хопфилда, её построения, структуры, свойств, особенностей и непосредственного применения
1. Применение нейрокомпьютеров в финансовой деятельности
Одним из наиболее интересных приложений нейронных сетей в последние годы стали именно задачи финансовой деятельности. На рынке появляется огромное количество как универсальных нейропакетов, которые зачастую используются для решения задач технического анализа, так и специализированных экспертных систем и нейропакетов для решения многих других, зачастую более сложных и трудно формализуемых задач из финансовой области. В настоящее время имеет место широкое появление на отечественном рынке компьютеров и программного обеспечения нейропакетов и нейрокомпьютеров, предназначенных для решения финансовых задач. Те банки и крупные финансовые организации, которые уже используют нейронные сети для решения своих задач, понимают, насколько эффективным средством могут быть нейронные сети для задач с хорошей статистической базой, например при наличии достаточно длинных временных рядов, в том числе и многомерных. При этом в качестве потребителя такой информации выступают либо люди, хорошо знающие потенциальные возможности нейронных сетей, либо решающие такие задачи традиционными методами и вынужденные искать другие, более эффективные способы решения задач.
Основные задачи, решаемые с помощью нейрокомпьютеров:
1. Прогнозирование временных рядов на основе нейросетевых методов обработки (валютный курс, спрос и котировки акций, фьючерсные контракты и др.)
2. Страховая деятельность банков.
3. Прогнозирование банкротств на основе нейросетевой системы распознавания.
4. Определение курсов облигаций и акций предприятий с целью вложения средств в эти предприятия.
5. Применение нейронных сетей к задачам биржевой деятельности
6. Прогнозирование экономической эффективности финансирования экономических и инновационных проектов
7. Предсказание результатов займов.
Приведем краткое пояснение каждого из основных приложений
1.1 Прогнозирование временных рядов на основе нейросетевых методов обработки
- Прогнозирование кросс-курса валют
- Прогнозирование котировок и спроса акций для биржевых спекуляций (не для долгосрочного вложения)
- Прогнозирование остатков средств на корреспондентских счетах банка.
Специалистами Лондонского Ситибанка разработаны коммерческие программы на базе искусственных нейронных сетей для прогнозирования курса валют.
1.2 Страховая деятельность банков
- оценка риска страхования инвестиций на основе анализа надежности проекта
- оценка риска страхования вложенных средств
1.3 Прогнозирование банкротств на основе нейросетевой системы распознавания
- анализ надежности фирмы с точки зрения возможности ее банкротства с помощью нейросетевой системы распознавания и выдача результата в дискретном виде (да. нет)
- анализ величины вероятности банкротства фирмы на основе многокритериальной оценки с построением нелинейной модели с помощью нейронных сетей (пример результата - 74% вероятности банкротства).
1.4 Определение курсов облигаций и акций предприятий с целью вложения средств в эти предприятия
- выделение долгосрочных и краткосрочных скачков курсовой стоимости акций на основе нелинейной нейросетевой модели
- предсказание изменения стоимости акций на основе нейросетевого анализа временных экономических рядов
- распознавание ситуаций, когда резкое изменение цены акций является результатом биржевой игры с помощью нейросетевой системы распознавания
- определение соотношения котировок и спроса
Прогнозирующая система может состоять из нескольких нейронных сетей, которые обучаются взаимосвязям между различными техническими и экономическими показателями и периодами покупки и продажи акций.
1.5 Применение нейронных сетей к задачам анализа биржевой деятельности
- нейросетевая система распознавания всплесков биржевой активности - анализ деятельности биржи на основе нейросетевой модели - предсказание цен на товары и сырье с выделением трендов вне зависимости от инфляции и сезонных колебаний - нейросетевая система выделения трендов по методикам японских свечей и других гистографических источников отображения информации.
1.6 Прогнозирование экономической эффективности финансирования экономических и инновационных проектов
- предсказание на основе анализа реализованных ранее проектов;
- предсказание на основе соответствия предлагаемого проекта экономической ситуации
1.7 Предсказание результатов займов
- определение возможности кредитования предприятий
- предоставление кредитов и займов без залога
2. Пример применения нейронной сети
Одним из ярких примеров является предсказание финансовых рядов. В особенности - определение знака изменения котировки на валютном рынке.
Найдем, как связана норма прибыли с точностью определения знака в простейшей постановке ежедневного вхождения в рынок
Обозначим на момент : полный капитал игрока , относительное изменение котировки , а в качестве выхода сети возьмем степень ее уверенности в знаке этого изменения . Такая сеть с выходной нелинейностью вида обучается предсказывать знак изменения и выдает прогноз знака с амплитудой пропорциональной его вероятности. Тогда возрастание капитала на шаге запишется в виде:
где - доля капитала, "в игре". Выигрыш за все время игры:
нам и предстоит максимизировать, выбрав оптимальный размер ставок . Пусть в среднем игрок угадывает долю знаков и, соответственно, ошибается с вероятностью . Тогда логарифм нормы прибыли,
,
а, следовательно, и сама прибыль, будет максимальным при значении и составит в среднем:
.
Здесь мы ввели коэффициент . Например, для Гауссова распределения . Степень предсказуемости знака напрямую связана с кросс-энтропией, которую можно оценить a priory методом box-counting. Для бинарного выхода (см.Рисунок 1):
Рисунок 1.
В итоге получаем следующую оценку нормы прибыли при заданной величине предсказуемости знака , выраженной в битах:
.
То есть, для ряда с предсказуемостью в принципе возможно удвоить капитал за вхождений в рынок. Так, например, измеренная выше предсказуемость временного ряда S&P500, равная предполагает удвоение капитала в среднем за вхождений в рынок. Таким образом, даже небольшая предсказуемость знака изменения котировок способна обеспечить весьма заметную норму прибыли.
Подчеркнем, что оптимальная норма прибыли требует достаточно аккуратной игры, когда при каждом вхождении в рынок игрок рискует строго определенной долей капитала:
,
где - типичная при данной волатильности рынка величина выигрыша или проигрыша.1 Как меньшие, так и большие значения ставок уменьшают прибыль. Причем, чересчур рискованная игра может привести к проигрышу при любой предсказательной способности. Этот факт иллюстрирует Рисунок 2.
Рисунок 2.
Поэтому приведенные выше оценки дают представление лишь о верхнем пределе нормы прибыли. Более тщательный анализ с учетом влияния флуктуаций, выходит за рамки нашего изложения. Качественно понятно, однако, что выбор оптимального размера контрактов требует оценки точности предсказаний на каждом шаге.
3. Применение нейрокомпьютеров на российском финансовом рынке
Несмотря на то, что финансовый рынок в России еще не стабилизирован и, рассуждая с математической точки зрения, его модель меняется, что связано с одной стороны с ожиданием постепенного сворачивания рынка ценных бумаг и увеличения доли фондового рынка, связанного с потоком инвестиций как отечественного так и зарубежного капитала, а с другой - с нестабильностью политического курса, все-таки можно заметить появление фирм, нуждающихся в использовании статистических методов, отличных от традиционных, также появление на рынке программных продуктов и вычислительной техники нейропакетов для эмуляции нейронных сетей на компьютерах серии IВМ и даже специализированных нейроплат на базе заказных нейрочипов. В частности, в России уже успешно функционирует один из первых мощных нейрокомпьютеров для финансового применения. По данным фирмы «Тора-центр» в число организаций, использующих нейронные сети для решения своих задач, уже вошли - Центробанк, МЧС, Налоговая Инспекция, более 30 банков и более 60 финансовых компаний. Некоторые из этих организаций уже опубликовали результаты своей деятельности в области использования нейрокомпьютинга.
4. Применение нейронных сетей в задачах прогнозирования
Задачи прогнозирования особенно важны для практики, в частности, для финансовых приложений, поэтому поясним способы применения нейронных сетей в этой области более подробно.
Рассмотрим практическую задачу, ответ в которой неочевиден - задачу прогнозирования курса акций на 1 день вперед.
Пусть у нас имеется база данных, содержащая значения курса за последние 300 дней. Простейший вариант в данном случае - попытаться построить прогноз завтрашней цены на основе курсов за последние несколько дней. Понятно, что прогнозирующая нейронная сеть должна иметь всего один выход и столько входов, сколько предыдущих значений мы хотим использовать для прогноза - например, 4 последних значения. Составить обучающий пример очень просто - входными значениями нейронной сети будут курсы за 4 последовательных дня, а желаемым выходом нейронной сети - известный нам курс в следующий день за этими четырьмя.
Если нейронная сеть совместима с какой-либо системой обработки электронных таблиц (например, Excel), то подготовка обучающей выборки состоит из следующих операций:
1.Скопировать столбец данных значений котировок в 4 соседних столбца.
2.Сдвинуть второй столбец на 1 ячейку вверх, третий столбец - на 2 ячейки вверх и т.д
Смысл этой подготовки легко увидеть на рисунке - теперь каждая строка таблицы представляет собой обучающий пример, где первые 4 числа - входные значения нейронные сети, а пятое число - желаемое значение выхода нейронной сети. Исключение составляют последние 4 строки, где данных недостаточно - эти строки не учитываются при тренировке нейронной сети. Заметим, что в четвертой снизу строке заданы все 4 входных значения, но неизвестно значение выхода нейронной сети. Именно к этой строке мы применим обученную нейронную сеть и получим прогноз на следующий день.
Как видно из этого примера, объем обучающей выборки зависит от выбранного нами количества входов нейронной сети. Если сделать 299 входов, то такая нейронная сеть потенциально могла бы строить лучший прогноз, чем нейронная сеть с 4 входами, однако в этом случае мы имеем всего 1 обучающий пример, и обучение бессмысленно. При выборе числа входов нейронной сети следует учитывать это, выбирая разумный компромисс между глубиной предсказания (число входов нейронной сети) и качеством обучения нейронной сети (объем тренировочного набора).
5. Использование аппарата нейронных сетей для создания модели оценки и управления рисками
На практике при анализе рисков часто встречаются задачи, связанные с наблюдением случайных величин. Для подобных задач не удается построить детерминированные модели, поэтому применяется принципиально иной, вероятностный подход. Параметры вероятностных моделей - это распределения случайных величин, их средние значения, дисперсии и т.д. Как правило, эти параметры изначально неизвестны, а для их оценки используются статистические методы, применяемые к выборкам наблюдаемых значений (историческим данным).
Применение нейросетевой технологии уместно в случаях, когда формализация процесса решения трудна или вообще невозможна. Они являются очень мощным инструментом моделирования, поскольку нелинейны по своей природе.
Нейронная сеть применяется в первую очередь тогда, когда неизвестен точный вид связи между входом и выходом. Достаточно лишь точно знать, что связь между входными и выходными данными существует. При этом сама зависимость будет выведена в процессе обучения нейронной сети.
Для управления рисками наиболее целесообразно применение нейронных сетей в следующих областях:
• Оценка производственных рисков. Прогнозирование необходимого запаса сырья. Оптимальное планирование производства.
• Оценка инвестиционных рисков. Анализ организационно-экономической устойчивости предприятий и прогнозирование банкротств.
• Оценка валютных рисков. Прогнозирование котировок на валютном рынке
• Оценка кредитных рисков. Прогноз эффективности кредитования
• Оценка торговых рисков. Исследование фактора спроса Прогнозирование и анализ цен.
6. Предсказание рисков банкротств
Если в проблеме рейтингования задача нейросети - воспроизведение мнения экспертов о надежности корпорации, то нейросетевое предсказание банкротств основано на статистической обработке конкретных примеров банкротств. В такой постановке задача нейросети - самой стать экспертом, определяющим финансовую стабильность корпорации, основываясь исключительно на объективной информации - показателях финансовой отчетности. Обычно от нейросети требуется оценить вероятность банкротства через определенный промежуток времени (например, через год или через два года) по доступной на данный момент финансовой отчетности. В качестве входов используют финансовые индикаторы - отношения балансовых статей, наиболее полно отражающие определенные стороны финансового положения фирмы.
При желании можно повысить "подозрительность" нейросети, обеспечив точность выявления банкротов вплоть до 99% - за счет снижения требований к ошибкам второго рода (классификации нормальной фирмы как банкрота). Это достигается путем увеличения веса ошибки первого рода (классификации банкрота как нормальной фирмы). В зависимости от конкретной практической задачи "подозрительность" сети можно произвольно регулировать.
Банкротства можно уверенно предсказывать за несколько лет до их фактического наступления, причем точность предсказания за два года практически не отличается от точности предсказания за год. Таким образом, неявные сигналы неблагополучия присутствуют в финансовой отчетности фирмы задолго до ее краха.
7. Сравнительный анализ финансового состояния фирм
Сравнительный анализ, в отличие от рейтингования, предполагает введение не одной, а нескольких оценочных координат. Это позволяет лучше использовать имеющуюся информацию, более точно позиционировать фирму среди остальных. С другой стороны, для обозримости результатов сравнительного анализа, количество параметров сравнения должно быть по возможности минимальным. В узком смысле "обозримость" требует введения не более двух координат - чтобы относительная позиция фирмы могла быть представлена точкой на двумерной карте, а различные финансовые показатели могли быть визуализированы в виде двумерных поверхностей.
7.1 Постановка задачи
С математической точки зрения эта задача сводится к оптимальному сжатию информации о финансовом состоянии фирмы, т.е. отображении информации минимальным числом параметров при заданном уровне огрубления или минимизации потерь информации при заданном числе обобщенных координат. Для целей визуализации, выгодно ограничиться двухпараметрическим представлением. Это уже существенный шаг вперед по сравнению с однопараметрическим рейтингом.
7.2 Данные о российских банках
Для иллюстрации описываемого подхода используем данные Центрального Банка России о годовых балансах и отчетах о прибылях/убытках примерно 1800 российских банков за 2004, 2005 годы. Каждый банк при этом описывается 30 финансовыми показателями - отношением балансовых статей к общей сумме активов банка. Подобная нормализация приводит все статьи к единому масштабу, сглаживая различия между крупными и мелкими банками, составляющие несколько порядков величин. Из этих 30 параметров нам предстоит оптимальным образом сконструировать две обобщенные координаты.
7.3 Нелинейное сжатие информации - карты Кохонена
Линейная статистическая обработка данных не способна выделить два ведущих параметра, описывающих финансовое состояние российских банков с приемлемой точностью. В этой ситуации естественно обратиться к нелинейному статистическому анализу, т.е. к нейросетевому моделированию.
Суть методики карт Кохонена: в многомерное пространство данных погружается двумерная сетка. Эта сетка изменяет свою форму таким образом, чтобы по возможности точнее аппроксимировать облако данных. Каждой точке данных ставится в соответствие ближайший к ней узел сетки. Таким образом, каждая точка данных получает некоторую координату на сетке. Такое отображение локально непрерывно: близким точкам на карте соответствуют близкие точки в исходном пространстве (обратное, вообще говоря, не верно: близким точкам в исходном пространстве могут соответствовать далекие точки на карте - такова цена понижения размерности). Таким образом, распределение данных на двумерной карте позволяет судить о локальной структуре многомерных данных.
Синаптические веса нейрона в сети Кохонена являются его координатами в исходном многомерном пространстве. Обучение сети, т.е. нахождение положения узлов карты в многомерном пространстве происходит в режиме "победитель забирает все". Данные по очереди подаются на входы всех нейронов и для каждого входа определяется ближайший к нему нейрон. Обучение состоит в подгонке весов нейрона-победителя и его ближайших соседей минимизурующих отклонение данных от нейронов-победителей. Постепенно сеть находит равновесное положение, оптимально аппроксимирующее данные (см.рисунок 3).
Рисунок 3.
Если линейный статистический анализ пытается аппроксимировать данные плоскостью, то нелинейный - использует для этих целей двумерную поверхность, что позволяет, в принципе, добиться гораздо более высокой точности аппроксимации. Так, в нашем случае, суммарное расстояние от данных до ближайших к ним узлов топографической сетки
составляет всего (сравнительно с ошибки линейной аппроксимации).
Таким образом, можно с приемлемой точностью описать финансовое состояние российских банков, используя всего лишь два обобщенных финансовых индикатора, а именно - две координаты на двумерной карте Кохонена. Каждый банк по состоянию своего балансового отчета отображается конкретной ячейкой на карте. Ячейки с одинаковыми координатами содержат банки со сходным финансовым состоянием. Чем дальше на карте координаты банков, тем больше отличается друг от друга их финансовый портрет.
Рисунок 4.
Так, например, иллюстрирует содержимое конкретной ячейки на карте Кохонена российских банков, содержащей 20x20 ячеек (т.е. 400 нейронов).
Расположение на карте банков с отозванной лицензией
Достоинства карты Кохонена начинают проявляться после нанесения на нее какой-либо графической информации. Показывает как выглядит карта Кохонена, на которой отмечены ячейки, содержащие банки с отозванными по результатам 2004 года лицензиями. Видно, что банки с отозванными лицензиями группируются в правом верхнем углу карты - "зоне риска". Мы увидим, что эта зона имеет и другие признаки неблагополучия.
Рисунок 5.
Следует отметить, что в отличие от анализа банкротств, описанного в первой части главы, здесь информация о банкротствах не участвовала в обучении сети. Она изображена на уже готовой карте, являясь лишь индикатором области параметров с повышенным риском банкротства. Эта особенность описываемой методики позволяет выявить область риска по относительно небольшому числу примеров (как в нашем случае).
7.4 Раскраски карты Кохонена
Различные раскраски топографической карты являются удобным средством для выявления взаимосвязей различных факторов. В принципе, любая финансовая характеристика порождает свою раскраску карты, как это иллюстрирует рисунок.
Рисунок 6.
Вместе подобные раскраски дают исчерпывающую и наглядную картину. Здесь имеется полная аналогия с географическими картами различных типов на одной и той же географической сетке, которые в совокупности дают полное представление о данной местности.
8. Модель нейронной сети для предсказания финансовой несостоятельности организации
Для построения нейронной сети необходимо разработать ее топологию, определить механизм обучения и процедуру тестирования. Кроме того, для обучения нужны входные данные — выборка компаний с достоверной финансовой отчетностью и рассчитанные на ее основе коэффициенты.
Наиболее привлекательным в данном случае представляется выбор трехслойного персептрона и алгоритма обратного распространения в качестве обучающего.
Х
Этот тип нейронных сетей довольно хорошо исследован и описан в научной литературе.
Он была предложена в работе Rumelhart, МсСlelland (1986) и подробно обсуждается почти во всех учебниках по нейронным сетям. Каждый элемент сети строит взвешенную сумму своих входов с поправкой в виде слагаемого и затем пропускает эту величину активации через передаточную функцию, и таким образом получается выходное значение этого элемента. Элементы организованы в послойную топологию с прямой передачей сигнала. Такую сеть легко можно интерпретировать как модель вход-выход, в которой веса и пороговые значения (смещения) являются свободными параметрами модели.
Такая сеть может моделировать функцию практически любой степени сложности, причем число слоев и число элементов в каждом слое определяют сложность функции. Определение числа промежуточных слоев и числа элементов в них является важным вопросом при конструировании МLP. Количество входных и выходных элементов определяется условиями задачи.
Самый известный вариант алгоритма обучения нейронной сети - так называемый алгоритм обратного распространения (back propagation). В алгоритме обратного распространения вычисляется вектор градиента поверхности ошибок. Этот вектор указывает направление кратчайшего спуска по поверхности из данной точки, поэтому? если мы «немного» продвинемся по нему, ошибка уменьшится. Последовательность таких шагов (замедляющаяся по мере приближения к дну) в конце концов приведет к минимуму того или иного типа.
Определенную трудность здесь представляет вопрос о том, какую нужно брать длину шагов.
При большой длине шага сходимость будет более быстрой, но имеется опасность перепрыгнуть через решение или уйти в неправильном направлении. Классическим примером такого явления при обучении нейронной сети является ситуация, когда алгоритм очень медленно продвигается по узкому оврагу с крутыми склонами, прыгая с одной его стороны на другую. Напротив, при маленьком шаге, вероятно, будет схвачено верное направление, однако при этом потребуется очень много итераций. На практике величина шага берется пропорциональной крутизне склона (так что алгоритм замедляет ход вблизи минимума) с некоторой константой, которая называется скоростью обучения. Правильный выбор скорости обучения зависит от конкретной задачи и обычно осуществляется опытным путем; эта константа может также зависеть от времени, уменьшаясь по мере продвижения алгоритма.
Конфигурация разработанной сети следующая:
Общие параметры | Параметры скрытого слоя | Параметры выходного слоя |
Количество узлов во входном слое: 10 | Коэффициент обучения: 0,25 | Коэффициент обучения: 0,01 |
Число узлов в скрытом слое: 10 | Коэффициент инерции: 0,6 | Коэффициент инерции: 0 |
Число узлов в выходном слое: 1 | Затухание: 0 | Затухание: 0 |
Алгоритм обучения: Обратное распространение |
|
|
Функция активации: сигмоидальная |
|
|
Точность подбора этих параметров определяет способность сети к обучению. Входные узлы соответствуют финансовым коэффициентам, используемым для предсказания несостоятельности Значение единственного узла выходного слоя — показатель финансовой состоятельности предприятия. Единичное значение соответствует состоянию банкротства, нулевое — полному финансовому благополучию. В качестве активационной функции выбрана сигмоидальная
В качестве входных данных используется разработанный автором набор финансовых коэффициентов. В качестве базовых использовались параметры модели Альтмана, они были дополнены набором собственных. При этом при выборе параметров модели основное внимание уделялось не соответствию расчета выбранных коэффициентов общепринятым методикам финансового анализа, а влияние исходного набора данных на качество обучения сети и как следствие эффективность ее прогнозирования.
9. Нейронная сеть Хопфилда
Среди различных конфигураций искусственных нейронных сетей (НС) встречаются такие, при классификации которых по принципу обучения, строго говоря, не подходят ни обучение с учителем, ни обучение без учителя. В таких сетях весовые коэффициенты синапсов рассчитываются только однажды перед началом функционирования сети на основе информации об обрабатываемых данных, и все обучение сети сводится именно к этому расчету. С одной стороны, предъявление априорной информации можно расценивать, как помощь учителя, но с другой – сеть фактически просто запоминает образцы до того, как на ее вход поступают реальные данные, и не может изменять свое поведение, поэтому говорить о звене обратной связи с "миром" (учителем) не приходится. Из сетей с подобной логикой работы наиболее известны сеть Хопфилда и сеть Хэмминга, которые обычно используются для организации ассоциативной памяти. Далее речь пойдет именно о них.
Структурная схема сети Хопфилда приведена на рис.1. Она состоит из единственного слоя нейронов, число которых является одновременно числом входов и выходов сети. Каждый нейрон связан синапсами со всеми остальными нейронами, а также имеет один входной синапс, через который осуществляется ввод сигнала. Выходные сигналы, как обычно, образуются на аксонах.
Рис.1 Структурная схема сети Хопфилда
Задача, решаемая данной сетью в качестве ассоциативной памяти, как правило, формулируется следующим образом. Известен некоторый набор двоичных сигналов (изображений, звуковых оцифровок, прочих данных, описывающих некие объекты или характеристики процессов), которые считаются образцовыми. Сеть должна уметь из произвольного неидеального сигнала, поданного на ее вход, выделить ("вспомнить" по частичной информации) соответствующий образец (если такой есть) или "дать заключение" о том, что входные данные не соответствуют ни одному из образцов. В общем случае, любой сигнал может быть описан вектором X = { xi: i=0...n-1}, n – число нейронов в сети и размерность входных и выходных векторов. Каждый элемент xi равен либо +1, либо -1. Обозначим вектор, описывающий k-ый образец, через Xk, а его компоненты, соответственно, – xik, k=0...m-1, m – число образцов. Когда сеть распознaет (или "вспомнит") какой-либо образец на основе предъявленных ей данных, ее выходы будут содержать именно его, то есть Y = Xk, где Y – вектор выходных значений сети: Y = { yi: i=0,...n-1}. В противном случае, выходной вектор не совпадет ни с одним образцовым.
Если, например, сигналы представляют собой некие изображения, то, отобразив в графическом виде данные с выхода сети, можно будет увидеть картинку, полностью совпадающую с одной из образцовых (в случае успеха) или же "вольную импровизацию" сети (в случае неудачи).
На стадии инициализации сети весовые коэффициенты синапсов устанавливаются следующим образом :
(1)
Здесь i и j – индексы, соответственно, предсинаптического и постсинаптического нейронов; xik, xjk – i-ый и j-ый элементы вектора k-ого образца.
Алгоритм функционирования сети следующий (p – номер итерации):
1. На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов:
yi(0) = xi , i = 0...n-1, (2)
поэтому обозначение на схеме сети входных синапсов в явном виде носит чисто условный характер. Ноль в скобке справа от yi означает нулевую итерацию в цикле работы сети.
2. Рассчитывается новое состояние нейронов
, j=0...n-1 (3)
и новые значения аксонов
(4)
Рис.2 Активационные функции
где f – активационная функция в виде скачка, приведенная на рис.2а.
3. Проверка, изменились ли выходные значения аксонов за последнюю итерацию. Если да – переход к пункту 2, иначе (если выходы застабилизировались) – конец. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.
Как говорилось выше, иногда сеть не может провести распознавание и выдает на выходе несуществующий образ. Это связано с проблемой ограниченности возможностей сети. Для сети Хопфилда число запоминаемых образов m не должно превышать величины, примерно равной 0.15n. Кроме того, если два образа А и Б сильно похожи, они, возможно, будут вызывать у сети перекрестные ассоциации, то есть предъявление на входы сети вектора А приведет к появлению на ее выходах вектора Б и наоборот.
10. Пример применения сети Хопфилда
Хопфилд и Танк предложили использовать минимизирующие энергию нейронные сети для решения задач оптимизации В качестве примера они рассмотрели задачу коммивояжера.
Для решения этой задачи с помощью нейронной сети Хопфилда нужно закодировать маршрут активностью нейронов и так подобрать связи между ними, чтобы энергия сети оказалась связанной с полной длиной маршрута. Хопфилд и Танк предложили для этого следующий способ.
Рассмотрим сеть, состоящую из бинарных нейронов, состояния которых мы обозначим , где индекс кодирует город, а индекс - номер города в маршруте (см. Рисунок 1). Если обозначить через расстояние между -м и-м городами, решение задачи коммивояжера сводится к минимизации целевой функции
при дополнительных условиях
и ,
первое из которых говорит о том, что любой город в маршруте встречается лишь однажды, а второе - что маршрут проходит через каждый город.
Общий подход к ограничениям в задачах оптимизации состоит в том, что в итоговый функционал, подлежащий минимизации, включаются штрафные члены, увеличивающие целевую функцию при отклонении от накладываемых ограничений. В данном случае в качестве энергии состояния сети можно выбрать функционал
,
где т.н. множитель Лагранжа регулирует строгость соблюдения дополнительных условий в конечном решении.
Рисунок 1. Слева - один из возможных маршрутов коммивояжера в случае задачи с 5 городами. Справа - кодировка этого маршрута состояниями 25 бинарных нейронов.
Осмысленному решению будет соответствовать стационарное состояние сети, в котором лишь N нейронов сети будут активными () и в каждом столбце и в каждой строке матрицы будет находиться один и только один единичный элемент.
Величина множителя Лагранжа регулирует “торг” между поиском маршрута минимальной протяженности и осмысленностью вида самого маршрута. Частное решение, соответствующее локальному минимуму функционала , может быть осмысленным (второе слагаемое обращаются на нем в ноль), но первое слагаемое (длина маршрута) для него, возможно будет слишком велико. Наоборот, длина маршрута может быть достаточно мала, но одно из оставшихся слагаемых будет ненулевым и маршрут окажется не интерпретируем или недостаточен (например, проходит не через все города).
После того, как минимизируемая целевая функция для задачи коммивояжера построена, можно определить, какие связи в нейронной сети Хопфилда следует выбрать, так чтобы функционал энергии состояния в ней совпал с этой функцией. Для этого достаточно приравнять выражение для к энергии рекуррентной сети:
.
Таким образом, находятся значения синаптических связей в сети:
и значений порогов нейронов. Общее число весов в сети - порядка .
Для улучшения ситуации Хопфилд и Танк предложили использовать сети с непрерывными (аналоговыми) нейронами, принимающими любые значения в интервале . В качестве тестовых они использовали задачи с 10 и 30 городами. В первом случае сеть в 20 попытках 16 раз эволюционировала к состояниям, описывающим осмысленный маршрут и в 10 случаях давала один из двух возможных оптимальных маршрутов. Поскольку для задачи с городами полное число всевозможных маршрутов равно (делитель 2N возникает вследствие инвариантности маршрута относительно циклического сдвига и обращения направления движения), то в задаче с 10 городами оно составляет 181440. Таким образом, выигрыш при использовании сети, по сравнению со случайным выбором составляет 105. В случае задачи с 30 городами полное число маршрутов приблизительно равно 4.4x1030. Экономия, даваемая сетью, составила в этом случае 1022. В дальнейшем было показано, что использование сети Кохонена дает лучшие результаты при решении той же задачи. Однако, поскольку на практике (в робототехнике, при проведении стыковки космических аппаратов, в автоматической навигации) необходимо быстро находить хорошее, но не обязательно лучшее решение, то при электронной реализации аналоговая сеть Хопфилда дает исключительно эффективное решение задач оптимизации.
В дальнейшем разные исследователи выявили и другие особенности описанного подхода. Было показано, что недостатком оригинальной схемы Хопфилда и Танка является то, что простейшая сеть Хопфилда имеет тенденцию включать в маршрут ближайшие друг к другу города. Это происходит из-за того, что в определяющую длину маршрута часть функции Ляпунова входят парные произведения состояний нейронов сети. В результате, с увеличением числа городов маршрут, предлагаемый сетью, как правило, распадается на локально оптимальные участки, соединение которых, однако, далеко от оптимального. Ситуацию можно улучшить, если стимулировать сеть находить, например, локально наилучшие тройки городов. Для этого основная часть функции Ляпунова может быть представлена в виде
.
Однако, сети, динамика которых направляется такой функцией Ляпунова, должны состоять из более сложных нейронов, нелинейно суммирующих внешние воздействия - нейронов высокого порядка (в данном случае - второго):
.
Купер показал, что использование таких сетей значительно улучшает результаты поиска оптимального решения. Так для такая сеть вдвое чаще находит оптимальное решение, чем обычная сеть Хопфилда. Повышение порядка сети приводит к дальнейшему увеличению улучшению найденных сетью решений
Заключение
В данной курсовой работе было представлено, каким образом нейронные сети способны помочь людям в генерации знаний, которые основывались бы на всех первоначальных данных. Исследования в области нейронных сетей в основном достаточно наглядны. По сравнению с другими вычислительными методами в статистике и науке они имеют значительные преимущества. Так, у моделей на основе нейронных сетей очень гибкие теоретические требования; кроме того, им необходимы совсем небольшие объемы предварительных знаний относительно формирования задачи.
Как мощный механизм обучения нейронные сети могут широко применяться в различных областях. Существует, однако, возможность недоразумений в оценке методик машинного обучения. Они никогда не смогут полностью заменить людей в процессе решения задачи. Нейронные сети должны использоваться для обобщения данных, а не для определения, атрибуты и критерии которого весьма важны при сборе данных. Нейронные сети адаптивны по своей природе, они могут подражать решению проблемы человеком, но они не сообщат нам, какой из критериев решения задачи должен быть принят во внимание перед сбором данных. Кроме того, обучающиеся машины часто используются при формализации знаний из данных реального мира, но сами обучающиеся машины не могут генерировать принципы формализации.
Список используемой литературы
http://www.neyronn.ru/25-formalizaciya-nejroseti/
Лекции по теории и приложениям искусственных нейронных сетей Сергей А. Терехов Лаборатория Искусственных Нейронных Сетей НТО-2, ВНИИТФ, Снежинск
«Применение ИНС для создания экспертной системы диагностирования технологического оборудования» А.В. Семенченко Московский государственный строительный университет (МГСУ)
http://leonarus.com/2008/09/08/tipichnye-primery-primeneniya-nejronnyx-setej-v-menedzhmente/
Галушкин А.И. Применения нейрокомпьютеров в финансовой деятельности
Владимир Белов «О перспективах искусственного интеллекта»
«Нейронные сети Хопфилда» С.Короткий
Бэстенс, Д.-Э., Ван Ден Берг, В.-М., Вуд, Д. (1997). Нейронные сети и финансовые рынки. Принятие решений в торговых операциях. ТВП Научное издательство.
1