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

МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА

РОССИЙСКОЙ ФЕДЕРАЦИИ

ФГБОУ ВПО «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ

АГРАРНЫЙ УНИВЕРСИТЕТ ИМ. ИМПЕРАТОРА ПЕТРА I»

КАФЕДРА ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ

И МОДЕЛИРОВАНИЯ АГРОЭКОНОМИЧЕСКИХ СИСТЕМ

Курсовой проект

на тему : «Проектирование автоматизированной информационной системы для анализа эффективности работы предприятий (на примере: предприятий Калачеевского района Воронежской области и предприятия

«ООО СП "ПЛЕМЕННОЕ ПТИЦЕВОДЧЕСКОЕ ХОЗЯЙСТВО "ЗАБРОДЕНСКОЕ"»)»

Выполнила: студентка БФ-2-7(БЭ)

Максимова А.И.

Руководитель: ассистент

Мистюкова С.В.

ВОРОНЕЖ

ВВЕДЕНИЕ.. 3

1 НЕЙРОННЫЕ СЕТИ В ЭКОНОМИКЕ.. 4

1.1 Понятия и основы нейронных искусственных сетей.. 4

1.2 Свойства и классификация нейронных сетей.. 6

1.3 Типы архитектур нейронных сетей. 8

1.4 Использование нейронных сетей в экономических задачах.. 11

2 ПРОЕКТИРОВАНИЕ АВТОМАТИЗИРОВАННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ АНАЛИЗА ЭФФЕКТИВНОСТИ РАБОТЫ ПРЕДПРИЯТИЙ (НА ПРИМЕРЕ ПРЕДПРИЯТИЙ КАЛАЧЕЕВСКОГО РАЙОНА ВОРОНЕЖСКОЙ ОБЛАСТИ И ПРЕДПРИЯТИЯ ООО СП "ПЛЕМЕННОЕ ПТИЦЕВОДЧЕСКОЕ ХОЗЯЙСТВО "ЗАБРОДЕНСКОЕ". 17

2.1 Пояснительная записка.. 17

2.2 Проектирование форм документов. 18

2.3 Информационно-логическая модель. 22

2.4 Алгоритм функционирования информационной системы.. 25

2.5 Инструкция для пользователя. 26

Выводы и предложения.. 30

Список использованной литературы... 32

ПРИЛОЖЕНИЯ.. 33


ВВЕДЕНИЕ

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

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

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

При создании АИС, для анализа эффективности работы предприятий, необходимо решить следующие задачи:



1. Рассмотреть понятие, свойства, классификацию, типы и экономическое применение нейронных сетей.

2. Изучить состав и функции автоматизированных информационных систем; изучить теоретические основы проектирования АИС;

3. Освоить работу с основными видами прикладного программного обеспечения, использующегося для реализации АИС;

4. Спроектировать формы входных, промежуточных и выходных документов;

5. Построить информационно-логическую модель;

6. Разработать алгоритм функционирования;

7. Составить инструкцию для пользователя.

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

Технические средства, которые использовались для реализации поставленной цели – персональный компьютер с операционной системой Windows XP, клавиатурой и мышью.

АИС разрабатывалась в табличном процессоре MS Excel. Описание проделанной работы проводилось в текстовом процессоре MS Word.

НЕЙРОННЫЕ СЕТИ В ЭКОНОМИКЕ

нейросетевой интеллект искусственный бизнес

Нейронные сети могут быть реализованы программным или аппаратным способом.

Вариантами аппаратной реализации являются нейрокомпьютеры, нейроплаты и нейроБИС (большие интегральные схемы). Одна из самых простых и дешевых нейроБИС - модель MD 1220 фирмы Micro Devices, которая реализует сеть с 8 нейронами и 120 синапсами. Среди перспективных разработок, можно выделить модели фирмы Adaptive Solutions (США) и Hitachi (Япония). Разрабатываемая фирмой Adaptive Solutions нейроБИС является одной из самых быстродействующих: объявленная скорость обработки составляет 1,2 млрд. межнейронных соединений в секунду (мнс/с). Схемы, производимые фирмой Hitachi, позволяют реализовывать искусственные нейронные сети, содержащие до 576 нейронов.

Большинство современных нейрокомпьютеров представляют собой персональный компьютер или рабочую станцию, в состав которых входит дополнительная нейроплата. К их числу относятся, например, компьютеры серии FMR фирмы Fujitsu. Возможностей таких систем вполне хватает для решения большого числа прикладных задач методами нейроматематики, а также для разработки новых алгоритмов. Наибольший интерес представляют специализированные нейрокомпьютеры, в которых реализованы принципы архитектуры нейросетей. Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация перцептрона, разработанная Ф. Розенблатом, называлась Mark I). Модель Mark III фирмы TRW представляет собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединении шиной VME. Архитектура системы, поддерживающая до 65000 виртуальных процессорных элементов с более чес 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. мнс/с.

Другим примером является нейрокомпьютер NETSIM, созданный фирмой Texas Instruments на базе разработок Кембриджского университета. Его топология представляет собой трехмерную решетку стандартных вычислительных узлов на базе процессоров 80188. Компьютер NETSIM используется для моделирования сетей Хопфилда-Кохонена. Его производительность достигает 450 млн. мнс/с.

В тех случаях, когда разработка или внедрение аппаратных реализаций нейронных сетей обходятся слишком дорого, применяют более дешевые программные реализации. Одним из самых распространенных программных продуктов является семейство программ BrainMaker фирмы CSS (California Scientific Software). Первоначально разработанный фирмой Loral Space Systems по заказу NASA и Johnson Space Center пакет BrainMaker бал вскоре адаптирован для коммерческих приложений и сегодня используется несколькими тысячами финансовых и промышленных компаний, а также оборонными ведомствами США для решения задач прогнозирования, оптимизации и моделирования ситуаций.

Назначение пакета BrainMaker - решение задач, для которых пока не найдены формальные методы и алгоритмы, а входные данные неполны, зашумлены и противоречивы. К таким задачам относятся прогнозирование курсов валют и акций на биржах, моделирование кризисных ситуаций, распознавание образов и многие другие. BrainMaker решает поставленную задачу, используя математический аппарат теории нейронных сетей (более конкретно - сеть Хопфилда с обучением по методу обратного распространения ошибки). В оперативной памяти строится модель многослойной нейронной сети, которая обладает свойством обучаться на множестве примеров, оптимизируя свою внутреннюю структуру. При правильном выборе структуры сети после ее обучения на достаточно большом количестве примеров можно добиться высокой достоверности результатов (97% и выше). Существуют версии BrainMaker для MS DOS и MS Windows, а также для Apple Macintosh. Кроме базовой версии пакета в семейство BrainMaker входят следующие дополнения:

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

Toolkit Option - набор из трех дополнительных программ, увеличивающих возможности BrainMaker, Binary, которая переводит обучающую информацию в двоичный формат для ускорения обучения; Hypersonic Training, где используется высокоскоростной алгоритм обучения; Plotting, которая отображает факты, статистику и другие данные в графическом виде.

BrainMaker Professional - профессиональная версия пакета BrainMaker с расширенными функциональными возможностями. Включает в себя все опции Toolkit.

Genetic Training Option (для пакета BrainMaker Pro) - программа автоматической оптимизации нейронной сети для решения заданного класса задач, использующая генетические алгоритмы для селекции наилучших решений.

DatаMaker Editor - специализированный редактор для автоматизации подготовки данных при настройке и использовании нейронной сети.

Training Financial Data - специализированные наборы данных для настройки нейронной сети на различные виды аналитических, коммерческих и финансовых операций, которые включают реальные значения макроэкономических показателей NYSE, NADDAW, ASE, OEX, DOW и др., индексы инфляции, статистические данные биржевых сводок по различным видам продукции, а также информацию по фьючерсным контрактам и многое другое.

BrainMaker Accelerator - специализированная нейроплата акселератор на базе сигнальных процессоров TMS320C25 фирмы Texas Instruments. Вставленная в персональный компьютер, она в несколько раз ускоряет работу пакета BrainMaker.

BrainMaker Accelerator Pro - профессиональная многопроцессорная нейронная плата. Она содержит пять сигнальных процессоров TMS320C30 и 32 Мбайт оперативной памяти.

В настоящее время на рынке программных средств имеется большое количество разнообразных пакетов для конструирования нейронных сетей и решения различных задач. Пакет BrainMaker можно назвать ветераном рынка. Кроме представителей этого семейства, к хорошо известным и распространенным программным средствам можно отнести NeuroShell (WardSystem"s Group), Neuro Works (Neural Ware Inc.) и NeuroSolutions (NeuroDimension Inc.). Объектно-ориентированные программы среды семейства NeuroSolutions предназначены для моделирования искусственной нейронной сети произвольной структуры. Пользователю систем NeuroSolutions предоставлены возможности исследования и диалогового управления. Все данные в сети доступны для просмотра в процессе обучения посредством разнообразных инструментов визуализации. Проектирование искусственной нейронной сети в системе NeuroSolutions основано на модульном принципе, который позволяет моделировать стандартные и новые топологии. Важным преимуществом системы является наличие специальных инструментов, позволяющих моделировать динамические процессы в искусственной нейронной сети.

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

Отсутствие алгоритмов решения задач при наличии достаточно большого числа параметров;

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

Зашумленность, частичная противоречивость, неполнота или избыточность исходных данных.

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

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

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

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

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

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

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

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

2. Построение нейронных сетей требует значительных затрат труда и времени для получения удовлетворительной модели. Необходимо учитывать, что излишне высокая точность, полученная на обучающей выборке, может обернуться неустойчивостью результатов на тестовой выборке - в этом случае происходит «переобучение» сети. Чем лучше система адаптирована к конкретным условиям, тем меньше она способна к обобщению и экстраполяции и тем скорее может оказаться неработоспособной при изменении этих условий. Расширение объема обучающей выборке позволяет добиться большей устойчивости, но за счет увеличения времени обучения.

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

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

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

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

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

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

Нейронные сети (НС) являются одним из самых последних научных подходов к изучению поведения рынка. Идея нейросетей заключается в моделировании (повторении) поведения различных процессов на основе исторической информации.

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

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

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

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

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

Многослойные нейронные сети (несколько соединенных друг за другом однослойных нейронных сетей) стали использоваться гораздо позже однослойных, т.к. ранее не было методики обучения таких сетей. Многослойные сети способны распознавать более сложные объекты, т.е. обладают более оптимальными апроксимирующими способностями, чем однослойные. Уже трех слойная нейронная сеть может распознать любой образ! Если создать рекурентную (с обратными связями между слоями) нейронную сеть, то сеть начинает работать самостоятельно. Для обучения такой сети достаточно подать входной сигнал и она сама будет способна классифицировать объект, заданный этими сигналами.

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

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

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

В частности имеется пакет Statistica Neural Networks. Заметным преимуществом данного пакета является то, что он естественно встроен огромный арсенал методов статистического анализа и визуализации данных, который представлен в системе Statistica.

Neuroshell DayTrader - самая известная программа для создания нейронных сетей для анализа рынка. Помимо нейронных сетей, содержит и классические инструменты и индикаторы технического анализа. Понимает формат Metastock.

Excel Neural Package - российская программа для создания нейросетей и анализа их в Microsoft Excel.

Литература: Осовский С. Нейронные сети для обработки информации. М., Финансы и статистика, 2002. Назаров А.В., Лоскутов А.И. Нейросетевые алгоритмы прогнозирования и оптимизации систем. – СПб.: Наука и Техника, 2003.

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

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

Быстрые алгоритмы обучения и интерпретируемость накопленных знаний – эти факторы сделали сегодня нечёткие нейронные сети одним из самых перспективных и эффективных инструментов мягких вычислений.

Адаптивные нечёткие системы

Классические нечёткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удаётся обеспечить. Адаптивные нечёткие системы (adaptive fuzzy systems ) решают эту проблему. В таких системах подбор параметров нечёткой системы производится в процессе обучения на экспериментальных данных. Алгоритмы обучения адаптивных нечётких систем относительно трудоёмки и сложны по сравнению с алгоритмами обучения нейронных сетей , и, как правило, состоят из двух стадий:

  • Генерация лингвистических правил;
  • Корректировка функций принадлежности.

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

Значительная часть методов обучения нечётких систем использует генетические алгоритмы . В англоязычной литературе этому соответствует специальный термин – Genetic Fuzzy Systems .

Значительный вклад в развитие теории и практики нечётких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).

Нечёткие запросы

Нечёткие запросы к базам данных (fuzzy queries) – перспективное направление в современных системах обработки информации. Данный инструмент даёт возможность формулировать запросы на естественном языке, например: "Вывести список недорогих предложений о съёме жилья близко к центру города", что невозможно при использовании стандартного механизма запросов . Для этой цели разработана нечёткая реляционная алгебра и специальные расширения языков SQL для нечётких запросов. Большая часть исследований в этой области принадлежит западноевропейским ученым Д. Дюбуа и Г. Праде .

Нечёткие ассоциативные правила

Нечёткие ассоциативные правила (fuzzy associative rules) – инструмент для извлечения из баз данных закономерностей, которые формулируются в виде лингвистических высказываний. Здесь введены специальные понятия нечёткой транзакции, поддержки и достоверности нечёткого ассоциативного правила.

Нечёткие когнитивные карты

Нечёткие когнитивные карты (fuzzy cognitive maps) были предложены Б. Коско в 1986 г. и используются для моделирования причинных взаимосвязей, выявленных между концептами некоторой области. В отличие от простых когнитивных карт, нечёткие когнитивные карты представляют собой нечёткий ориентированный граф, узлы которого являются нечёткими множествами. Направленные рёбра графа не только отражают причинно-следственные связи между концептами, но и определяют степень влияния (вес) связываемых концептов. Активное использование нечётких когнитивных карт в качестве средства моделирования систем обусловлено возможностью наглядного представления анализируемой системы и с лёгкостью интерпретации причинно-следственных связей между концептами. Основные проблемы связаны с процессом построения когнитивной карты, который не поддаётся формализации. Кроме того, необходимо доказать, что построенная когнитивная карта адекватна реальной моделируемой системе. Для решения данных проблем разработаны алгоритмы автоматического построения когнитивных карт на основе выборки данных.

Нечёткая кластеризация

Нечёткие методы кластеризации, в отличие от чётких методов (например, нейронные сети Кохонена), позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам, но с различной степенью. Нечёткая кластеризация во многих ситуациях более "естественна", чем чёткая, например, для объектов, расположенных на границе кластеров. Наиболее распространены: алгоритм нечёткой самоорганизации c-means и его обобщение в виде алгоритма Густафсона-Кесселя.

11.3. Нейронные сети в экономике

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

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

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

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

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

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

Ниже перечислены области, в которых эффективность применения нейронных сетей доказана на практике:

Для финансовых операций:

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

Для планирования работы предприятия:

  • Прогнозирование объёмов продаж.
  • Прогнозирование загрузки производственных мощностей.
  • Прогнозирование спроса на новую продукцию.

Для бизнес - аналитики и поддержки принятия решений :

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

Другие приложения:

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

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

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

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

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

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

Разработчики проекта создали пока лишь демонстрационную модель, охватывающую около 300 параметров и период от 1990-го до 1999 года. Но для нормальной работы необходимо не менее 1000 параметров. И такая работа может быть проведена, если на неё будут отпущены средства. Надо провести множество прикладных работ , необходимы фундаментальные исследования по обоим основным составляющим проекта - математической и экономической. Здесь нужна серьёзная государственная материальная поддержка .

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

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

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

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

Финансовый рынок достаточно инерционен, у него есть своя определённая "замедленная реакция ", зная которую можно довольно точно вычислять грядущую ситуацию. А насколько точно - это зависит от условий рынка и квалификации оператора.

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

Над созданием нейронных сетей различного назначения в настоящее время трудятся сотни всемирно известных, а также мелких начинающих фирм. Мировой рынок предлагает более сотни нейросетевых пакетов, преимущественно - американских. Общий объём рынка нейронных сетей к 2005 году превысил $10 млрд. И, практически, каждый разработчик традиционных аналитических пакетов сегодня стремится включить нейронные сети в новые версии своих программ. В США нейронные сети применяются в аналитических комплексах каждого крупного банка.

Продажа одного только нейросетевого пакета "Brain Maker Pro" сравнима с объёмами продаж самого популярного пакета технического анализа MetaStock (в США продано более 20000 копий Brain Maker Pro).

Хорошо зарекомендовал себя пакет "The AI Trilogy". ("Трилогия искусственного интеллекта") американской фирмы "Ward Systems Group ". Это набор из трёх программ, каждая из которых может использоваться как самостоятельно, так и в комбинации с остальными.

Так, программа "NeuroShell II" - это набор из 16 типов нейронных сетей , "NeuroWindows" - нейросетевая библиотека с исходными текстами, "GeneHunter" - генетическая программа оптимизации. В совокупности они образуют мощный " конструктор ", позволяющий строить аналитические комплексы любой сложности.

"The AI Trilogy" на американском рынке пользуется большим спросом. Пакет установлен в 150 крупнейших банках США. Он многократно побеждал в престижных конкурсах популярных финансовых изданий и помогает управлять капиталами в несколько миллиардов долларов. Фирма "Du Pont" (институт стандартов США и ФБР) считает "Трилогию искусственного интеллекта" лучшей для решения различных задач.

Интересен и знаменателен малоизвестный факт, что ключевые компоненты этого пакета были написаны российскими программистами. Своим обликом пакет обязан группе разработчиков из небольшой московской компании "Нейропроект" под руководством профессора Персиянцева. Она более трёх лет выполняла заказы фирмы "Ward Systems Group " и нашла удачные решения. Можно сказать, что русские программы управляют финансами Америки и задачами ФБР!

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

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

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

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

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

Параллели из биологии

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

Мозг состоит из очень большого числа (приблизительно 10,000,000,000) нейронов, соединённых многочисленными связями (в среднем несколько тысяч связей на один нейрон , однако это число может сильно колебаться).

Нейроны - это специальные клетки, способные распространять электрохимические сигналы (рис.11.7).


Рис. 11.7.

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

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

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

Базовая искусственная модель

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

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

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

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

Ключевой вопрос здесь - обратная связь (Haykin, 1994). Простейшая сеть имеет структуру прямой передачи сигнала: сигналы проходят от входов через скрытые элементы и в конце концов приходят на выходные элементы. Такая структура имеет устойчивое поведение. Если же сеть рекуррентная (т.е. содержит связи, ведущие назад от более дальних к более ближним нейронам), то она может быть неустойчива и иметь очень сложную динамику поведения. Рекуррентные сети представляют большой интерес для исследователей в области нейронных сетей , однако при решении практических задач, по крайней мере, до сих пор, наиболее полезными оказались структуры прямой передачи, и именно такой тип нейронных сетей моделируется в пакете ST Neural Networks .

Типичный пример сети с прямой передачей сигнала показан на рис.11.8 .


Рис. 11.8.

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

Можно было бы рассматривать сети, в которых нейроны связаны только с некоторыми из нейронов предыдущего слоя; однако, для большинства приложений сети с полной системой связей предпочтительнее, и именно такой тип сетей реализован в пакете ST Neural Networks .

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

Применение нейронных сетей

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

Класс задач, которые можно решить с помощью нейронной сети, определяется тем, как сеть работает и тем, как она обучается. При работе нейронная сеть принимает значения входных переменных и выдаёт значения выходных переменных. Таким образом, сеть можно применять в ситуации, когда у Вас имеется определённая известная информация, и Вы хотите из неё получить некоторую пока не известную информацию (Patterson, 1996; Fausett, 1994). Вот некоторые примеры таких задач:

Прогнозирование на фондовом рынке . Зная цены акций за последнюю неделю и сегодняшнее значение индекса FTSE, спрогнозировать завтрашнюю цену акций.

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

Управление. Нужно определить, что должен делать робот (повернуться направо или налево, двигаться вперёд и т.д.), чтобы достичь цели; известно изображение, которое передаёт установленная на роботе видеокамера.

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

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

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

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

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

Затем нейронная сеть обучается с помощью того или иного алгоритма управляемого обучения (наиболее известным из них является метод обратного распространения, предложенный в работе Rumelhart et al., 1986), при котором имеющиеся данные используются для корректировки весов и пороговых значений сети таким образом, чтобы минимизировать ошибку прогноза на обучающем множестве. Если сеть обучена хорошо, она приобретает способность моделировать (неизвестную) функцию, связывающую значения входных и выходных переменных, и впоследствии такую сеть можно использовать для прогнозирования в ситуации, когда выходные значения неизвестны.

Сбор данных для нейронной сети

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

Выбор переменных (по крайней мере, первоначальный) осуществляется интуитивно. Опыт работы в данной предметной области поможет определить, какие переменные являются важными. При работе с пакетом ST Neural Networks можно произвольно выбирать переменные и отменять предыдущий выбор; кроме того, система ST Neural Networks умеет сама опытным путём отбирать полезные переменные. Для начала имеет смысл включить все переменные, которые могут влиять на результат - на последующих этапах следует сократить это множество.

Нейронные сети могут работать с числовыми данными, лежащими в определённом ограниченном диапазоне. Это создаёт проблемы в случаях, когда данные имеют нестандартный масштаб, когда в них имеются пропущенные значения и когда данные являются нечисловыми. В пакете ST Neural Networks имеются средства, позволяющие справиться со всеми этими трудностями. Числовые данные масштабируются в подходящий для сети диапазон, а пропущенные значения можно заменить на средние значения (или на другую статистику) этой переменной по всем имеющимся обучающим примерам (Bishop, 1995).

Более трудной задачей является работа с данными нечислового характера. Чаще всего нечисловые данные бывают представлены в виде номинальных переменных типа Пол = {Муж, Жен}. Переменные с номинальными значениями можно представить в числовом виде, и в системе ST Neural Networks имеются средства для работы с такими данными. Однако нейронные сети не дают хороших результатов при работе с номинальными переменными, которые могут принимать много разных значений.

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

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

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

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

В пакете ST Neural Networks реализованы средства для подгонки линейных моделей (см. раздел про линейные сети, а также материал по модулю Множественная регрессия системы STATISTICA).

Во многих реальных задачах приходится иметь дело с не вполне достоверными данными. Значения некоторых переменных могут быть искажены шумом или частично отсутствовать. Пакет ST Neural Networks имеет специальные средства работы с пропущенными значениями (они могут быть заменены на среднее значение этой переменной или на другие её статистики), так что если не так много данных, то можно включить в рассмотрение случаи с пропущенными значениями (хотя, конечно, лучше этого избегать). Кроме того, нейронные сети в целом устойчивы к шумам. Однако у этой устойчивости есть предел. Например, выбросы, т.е. значения, лежащие очень далеко от области нормальных значений некоторой переменной, могут исказить результат обучения. В таких случаях лучше всего постараться обнаружить и удалить эти выбросы (либо удалив соответствующие наблюдения, либо преобразовав выбросы в пропущенные значения). Если выбросы выявить трудно, то можно воспользоваться имеющимися в пакете ST Neural Networks возможностями сделать процесс обучения устойчивым к выбросам (с помощью функции ошибок типа "городских кварталов"; см. Bishop, 1995). Однако такое устойчивое к выбросам обучение, как правило, менее эффективно, чем стандартное.

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

С числовыми и номинальными переменными в пакете ST Neural Networks можно работать непосредственно. Переменные других типов следует преобразовать в указанные типы или объявить незначащими.

Для анализа нужно иметь порядка сотен или тысяч наблюдений; чем больше в задаче переменных, тем больше нужно иметь наблюдений. Пакет ST Neural Networks имеет средства для распознавания значимых переменных, поэтому следует включать в рассмотрение переменные, в значимости которых нет уверенности.

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

Пре/пост процессирование

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


Рис. 11.9.

Коль скоро выходные значения всегда принадлежат некоторой ограниченной области, а вся информация должна быть представлена в числовом виде, очевидно, что при решении реальных задач методами нейронных сетей требуются этапы предварительной обработки - пре-процессирования - и заключительной обработки - пост-процессирования данных (Bishop, 1995). Соответствующие средства имеются в пакете ST Neural Networks . Здесь нужно рассмотреть два вопроса:

Шкалирование. Числовые значения должны быть приведены в масштаб, подходящий для сети. Обычно исходные данные масштабируются по линейной шкале. В пакете ST Neural Networks реализованы алгоритмы минимакса и среднего/стандартного отклонения, которые автоматически находят масштабирующие параметры для преобразования числовых значений в нужный диапазон.

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

Номинальные переменные. Номинальные переменные могут быть двузначными (например, Пол ={Муж, Жен}) или многозначными (т.е. принимать более двух значений или состояний). Двузначную номинальную переменную легко преобразовать в числовую (например, Муж = 0, Жен = 1). С многозначными номинальными переменными дело обстоит сложнее. Их тоже можно представить одним числовым значением (например, Собака = 0, Овца = 1, Кошка = 2), однако при этом возникнет (возможно) ложное упорядочивание значений номинальной переменной: в рассмотренном примере Овца окажется чем-то средним между Собакой и Кошкой. Существует более точный способ, известный как кодирование 1-из-N, в котором одна номинальная переменная представляется несколькими числовыми переменными. Количество числовых переменных равно числу возможных значений номинальной переменной; при этом всякий раз ровно одна из N переменных принимает ненулевое значение (например, Собака = {1,0,0}, Овца = {0,1,0}, Кошка = {0,0,1}). В пакете ST Neural Networks имеются возможности преобразовывать как двух-, так и многозначные номинальные переменные для последующего использования в нейронной сети. К сожалению, номинальная переменная с большим числом возможных состояний потребует при кодировании методом 1-из-N очень большого количества числовых переменных, а это приведёт к росту размеров сети и создаст трудности при её обучении. В таких ситуациях возможно (но не всегда достаточно) смоделировать номинальную переменную с помощью одного числового индекса, однако лучше будет попытаться найти другой способ представления данных.

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

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

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

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

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

Департамент образования г. Москвы

ГБОУ гимназия №1503

«НЕЙРОННЫЕ СЕТИ. ИХ ПРИМЕНЕНИЕ, РОЛЬ И ЗНАЧИМОСТЬ

В СОВРЕМЕННОЙ И БУДУЩЕЙ ЭКОНОМИКЕ»

(исследовательская работа)
Выполнил

ученик 10 класса

Браженко Дмитрий

Руководитель:

Куприков Александр Васильевич

Москва

2013 год

Нейронные сети. Их применение, роль и значимость в современной и будущей экономике
План:


Введение……………………………………………………………………………………………

Цели и задачи………………………………………………………………………………………


  1. Понятие нейронных сетей, их смысл………………………………………………………

    1. Простейшая аналитическая технология………………………………………………

    2. Нелинейная задача………………………………………………………………………..

    3. Преимущества использования нейронных сетей………………………………………

    4. Принцип работы нейронных сетей………………………………………………………

  2. Программные реализации……………………………………………………………………

  3. Применение нейронных сетей………………………………………………………………

    1. Прогнозирование изменения котировок……………………………………………...

    2. Управление ценами и производством…………………………………………………

    3. Исследование факторов спроса………………………………………………………..

    4. Оценка недвижимости………………………………………………………………….

    5. Анализ потребительского рынка………………………………………………………

    6. Борьба с мошенничеством………………………………………………………………

    7. Распознавание текста……………………………………………………………………

  4. Эмпирическая часть…………………………………………………………………………

    1. Прогнозирование изменения курса USD/RUR…………………………………………

    2. Оценка стоимости недвижимости……………………………………………………..

  5. Недостатки использования нейронных сетей ………………………………………………
Заключение ………………………………………………………………………………………

Список литературы………………………………………………………………………………

Приложения……………………………………………………………………………….……...


3

Опасность не в том, что компьютер однажды начнет мыслить, как человек, а в том, что человек однажды начнет мыслить, как компьютер.

(Сидни Дж. Харрис)

Введение

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

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

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

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

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

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

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

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

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

Цель написания работы:


  • Выявить необходимость использования нейронных сетей в экономике
Задачи:

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

  2. Определить экономические задачи, которые можно решать при помощи нейронных сетей

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

  4. Дать оценку эффективности использования нейронных сетей в экономических задачах.

1. Понятие нейронных сетей, их смысл.

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

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

1.1. Простейшая аналитическая технология

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

с 2 =а 2 +b 2 .

Зная параметры a и b, вычислить c [гипотенузу] отнюдь не сложно.

1.2. «Нелинейная задача»

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

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

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

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

Применение нейронных сетей целесообразно, если:

Накоплены достаточные объемы данных о предыдущем поведении системы

Отсутствуют традиционные методы или алгоритмы, удовлетворительно решающие проблему

Данные частично искажены, не полны или противоречивы, вследствие чего традиционные методы выдают неудовлетворительный результат

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

1.3. Преимущества использования нейронных сетей

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

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

1.4. Принцип работы нейронных сетей

Быстродействие современных компьютеров составляет около 100 Mflops (10^8 flops) (flops – единица, обозначающая быстродействие компьютера, с плавающей запятой) В мозгу содержится примерно 10^11 нейронов. Время прохождения одного нервного импульса - 1 мс, принято считать, что производительность одного нейрона порядка 10 flops. Эквивалентное быстродействие мозга составит 10^11 * 10 = 10^12 flops. Если рассмотреть задачи, решаемые мозгом, и подсчитать требуемое количество операций для их решения на обычных ЭВМ, то получим оценку быстродействия до 10^12 flops. Разница в производительности между обычным компьютером и мозгом - 4 порядка! Во многом этот выигрыш обусловлен параллельностью обработки информации в мозге. Следовательно, для повышения производительности ЭВМ необходимо перейти от принципов фон-Неймана к параллельной обработке информации. Тем не менее, параллельные компьютеры пока не получили распространения по нескольким причинам, которые обусловлены техническими сложностями реализации.

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


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

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

  • Когда нейрон получает импульс, превышающий определенный порог, он передает импульс последующим нейронам (активирует импульс).

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

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

Математическая модель нейрона строится следующим образом:

Рис. 1. Модель искусственного нейрона


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

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

  • Известно, что при получении импульса синапс нейрона изменяет его. Математически этот процесс изменения можно описать следующим образом: для каждой из компонент входа Xi задают вес. Импульс, прошедший через синапс, принимает вид WiXi. Заметим, что веса могут быть назначены при инициализации модели, а могут быть переменными и измеряться в ходе расчетов. Веса – это внутренние параметры сети, о которых шла речь выше. Говоря об обучении сети, имеют в виду нахождение весов синапса.

  • Сложение полученных импульсов. Агрегирование полученных импульсов – это вычисление их суммы ∑WiXi.

Рис. 2. Пример нейронной сети с одним скрытым уровнем.

Обычно нейроны располагаются в сети по уровням. На иллюстрации приведен пример трехуровневой нейронной сети:


  1. На первом уровне – входные нейроны (отмеченные синим), которые получают данные извне и передающие импульсы нейронам на следующем уровне через синапсы.

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

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

  • Вид связи между уровнями нейронов в сети

  • Вид передаточной функции;

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

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

Софт