|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Тема 1.3. Основные направления применения нейронных сетей в экономикеНейросетевые технологии оперируют биологическими терминами, а методы обработки данных получили название генетических алгоритмов, реализованных в ряде версий нейропакетов, известных в России. Это профессиональные нейропакеты Brain Maker Professional v.3.11 и Neurofo-rester v.5.1, в которых генетический алгоритм управляет процессом общения на некотором множестве примеров, а также стабильно распознает и прогнозирует новые ситуации с высокой степенью точности даже при появлении противоречивых или неполных знаний. Обучение сводится к работе алгоритма подбора весовых коэффициентов, который реализуется автоматически без участия пользователя-аналитика. Все результаты обработки представляются в графическом виде, удобном для анализа и принятия решений.(http://www.intuit.ru/department/ds/logneuronnets/3/) Использование нейросетевых технологий как инструментальных средств перспективно в решении множества плохо формализуемых задач, в частности при анализе финансовой и банковской деятельности, биржевых, фондовых и валютных рынков, связанных с высокими рисками моделей поведения клиентов, и т.д. Точность прогноза, устойчиво достигаемая нейросетевыми технологиями при решении реальных задач, уже превысила 95%. На мировом рынке нейросетевые технологии представлены широко — от дорогих систем на суперкомпьютерах до ПК, делая их доступными для приложений практически любого уровня [10]. К основным преимуществам нейронных сетей можно отнести: - способность обучаться на множестве примеров в тех случаях, когда неизвестны закономерности развития ситуации и функции зависимости между входными и выходными данными. В таких случаях (к ним можно отнести до 80% задач финансового анализа) неприменимы традиционные математические методы; - способность успешно решать задачи, опираясь на неполную, искаженную и внутренне противоречивую входную информацию; - возможность эксплуатации обученной нейронной сети любыми пользователями; - возможность исключительно легко подключать нейросетевые пакеты к базам данных, электронной почте и автоматизировать процесс ввода и первичной обработки данных; - внутренний параллелизм, присущий нейронным сетям, позволяющий практически безгранично наращивать мощность нейросистемы, т.е. сверхвысокое быстродействие за счет использования массового параллелизма обработки информации; - толерантность к ошибкам — работоспособность сохраняется при повреждении значительного числа нейронов; - способность к обучению — программирование вычислительной системы заменяется обучением; - способность к распознаванию образов в условиях сильных помех и искажений. Появление столь мощных и эффективных средств не исключают использования традиционных математических и эконометрических методов технического анализа или высококлассных экспертов. В качестве нового эффективного средства для решения самых различных задач нейронные сети просто создаются и используются людьми, помогая им решать многие профессиональные проблемы. Не обязательно насаждать нейронные сети или пытаться доказать их неэффективность путем выделения присущих им особенностей и недостатков — нужно просто относиться к ним как к неизбежному следствию развития вычислительной математики, информационных технологий и современной элементной базы. Под нейрокомпьютером здесь понимается любое вычислительное устройство, реализующее работу нейронных сетей, будь то специальный нейровычислитель или эмулятор нейронных сетей на персональном компьютере. Под нейронной сетью (НС) понимается вид вычислительной структуры, основанной на использовании нейроматематики — нового направления, находящегося на стыке теории управления, численных методов и задач классификации, распознавания образов. Для решения конкретных задач используются пакеты прикладных программ-эмуляторов работы нейронных сетей — нейропакеты, нейросетевые и гибридные экспертные системы, специализированные параллельные вычислители на базе нейрочипов. Модели НС могут быть программного и аппаратного исполнения. Несмотря на существенные различия, отдельные типы НС обладают несколькими общими чертами. Основу каждой НС составляют относительно простые, в большинстве случаев — однотипные, элементы (ячейки), имитирующие работу нейронов мозга. Далее под нейроном и будет подразумеваться искусственный нейрон, т.е. ячейка НС. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов — однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон — выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Общий вид нейрона приведен на рис. 19. Каждый синапс характеризуется величиной синаптической связи или ее весом wh который по физическому смыслу эквивалентен электрической проводимости.
Рис19.Искуственный нейрон Текущее состояние нейрона определяется как взвешенная сумма его входов. В зависимости от функций, выполняемых нейронами в сети, можно выделить три типа нейронов: - входные, на которые подается вектор, кодирующий входное воздействие или образ внешней среды; в них обычно не осуществляется вычислительных процедур, а информация передается с входа на выход путем изменения их активации; - выходные, значения которых представляют выходы нейросети; - промежуточные, составляющие основу нейронных сетей. В большинстве нейронных моделей тип нейрона связан с его расположением в сети. Если нейрон имеет только выходные связи, то это входной нейрон, если наоборот — выходной нейрон. В процессе функционирования сети осуществляется преобразование входного вектора в выходной, переработка информации. Каждый нейрон распознает и посылает сигнал об одном простом событии, он не посылает много сигналов и не распознает много событий. Синапс позволяет единственному сигналу оказывать разные воздействия на связанные с ним нейроны. Распознавание более сложных событий есть работа группы взаимосвязанных нейронов (НС), и несколько биологических нейронных сетей функционируют взаимосвязано для обработки все более сложной информации. Нейронная сеть состоит из слоев нейронов, которые соединены друг с другом. Детали того, как нейроны соединены между собой, заставляют задуматься над вопросом проектирования НС. Некоторые нейроны будут использоваться для связи с внешним миром, другие нейроны — только с нейронами. Они называются скрытыми нейронами. Современные возможности аппаратной реализации НС можно обобщенно оценить следующим образом: - число моделируемых нейронов — до 5 млн; - число моделируемых связей — до 5 млн; - скорость моделирования — до 500 млн переключений связей в секунду. Для аппаратной реализации НС в настоящее время широко используются процессорные СБИС (сверхбольшие интегральные схемы), обладающие максимальными коммуникационными возможностями и ориентированные на быстрое выполнение векторных операций. К таким СБИС относятся транспьютеры фирмы INMOS (Т414, Т800, А100), сигнальные процессоры фирм Texas Instruments (IMS 320C40, IMS 320C80), Motorola, Analog Device. Отечественная элементная база представлена нейрочипами на базе БМК «Исполин — 60Т». Нейрокомпьютеры бывают: - универсальные (позволяют реализовывать большое число моделей нейронных сетей и могут применяться для решения разнообразных задач); - специализированные (предназначены для решения узкого, заранее заданного класса задач). - Для любого алгоритма существует нейронная сеть, которая его реализует, т.е. нейронные сети являются универсальными вычислительными устройствами. Однако существует очень много практических задач, которые могут быть эффективно решены на серийных компьютерах. Поэтому в настоящее время основное внимание уделяется разработке специализированных нейронных компьютеров. - Существует несколько классификаций известных нейросетей. - По типам структур нейронов: - гомогенные сети (однородные) — состоят из нейронов одного типа с единой функцией активации; - гетерогенные сети — входят нейроны с разными функциями активации. - По типу оперируемых сигналов: - бинарные — оперируют только двоичными сигналами, и - аналоговые. - синхронные — в каждый момент времени лишь один нейрон меняет свое состояние; - асинхронные — состояние меняется сразу у группы нейронов, как правило, у всего слоя. Алгоритмически ход времени в нейронных сетях задается итерационным выполнением однотипных действий над нейронами. По возможностям обучения: - предварительно обученные (неадаптивные); - самообучающиеся (адаптивные). По архитектуре: - полносвязные; - многослойные или слоистые; - слабосвязные (с локальными связями). В полносвязных нейросетях каждый нейрон передает свой выходной сигнал остальным нейронам, в том числе и самому себе. Все входные сигналы подаются всем нейронам. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. В многослойных нейронных сетях нейроны объединяются в слои. Слой содержит совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зависит от числа нейронов в других слоях. В общем случае сеть состоит из Q слоев, пронумерованных слева направо. Внешние входные сигналы подаются на входы нейронов входного слоя (его часто нумеруют как нулевой), а выходами сети являются выходные сигналы последнего слоя. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых слоев. Связи от выходов нейронов некоторого слоя q к входам нейронов следующего слоя (д+1) называются последовательными, а между нейронами одного слоя называются латеральными (боковыми). Алгоритм решения задачи. Любая работа с нейросетью начинается с определения задач, которые она должна решать, т.е. с определения функций выходов с привлечением квалифицированных экспертов. Это первый этап алгоритма. В общем случае сеть может решать задачи как классификации (дискретные выходы), так и предсказания (непрерывные выходы). Рассмотрим процесс обучения нейросети на примере прогнозирования трейдером различных показателей. При выборе функции выхода необходимо всегда проводить предварительный анализ и оценивать возможность его предсказания. Примером может быть исследование прогнозирования цен High, Low, Close для российского рынка акций на день вперед. Цена Close прогнозируется наихудшим образом и имеет наибольшую ошибку. А цены High и Low прогнозируются с переменным успехом для разных акций. Вывод о худшем прогнозировании цены Close можно обосновать тем, что в конце торгов последние сделки делают крупные операторы рынка и их поведение не поддается формализации. Построение сети происходит в два этапа: - выбор архитектуры сети (числа входов, передаточных функций; способа соединения входов между собой, входов и выходов сети); - подбор весов (обучение) сети. Каждая группа моделей нейронных сетей может быть использована для решения лишь некоторого ограниченного класса практических задач. Так, многослойные и полносвязные нейронные сети с сигмоидальными передаточными функциями используются для распознавания образов и адаптивного управления; нейронные сети с локальными связями — для обработки изображений и некоторых других частных задач. Для решения задач линейной алгебры используются многослойные сети с особыми передаточными функциями. Выбор оптимальной архитектуры сети в настоящее время не имеет математического решения и проводится на основании опыта и знаний. Большой размер нейросети приводит к затруднению обучения (для сети с 50 входами и 20 нейронами это задача оптимизации в 1000-мерном пространстве). Также уменьшаются обобщающие свойства сети, она начинает просто запоминать обучающую выборку. Такая сеть будет отлично «прогнозировать» на обучающей выборке, но на новых данных прогноз будет плохим. Чтобы избежать эффекта запоминания, объем данных должен быть достаточно большим. Например, для прогнозирования российских акций на день вперед минимальный рекомендуемый размер выборки — около 200—250 дней. Выбор структуры НС осуществляется в соответствии с особенностями и сложностью задачи. Для решения некоторых отдельных типов задач уже существуют оптимальные на сегодняшний день конфигурации. Если же задача не может быть сведена ни к одному из известных типов, разработчику приходится синтезировать новую конфигурацию. При этом он руководствуется несколькими основополагающими принципами: возможности сети возрастают с увеличением числа ее ячеек, плотности связей между ними и числом выделенных слоев; сложность алгоритмов функционирования сети (в том числе, например, введение нескольких типов синапсов — возбуждающих, тормозящих и др.) также способствует усилению мощи НС. Вопрос о необходимых и достаточных свойствах сети для решения того или иного рода задач представляет собой целое направление нейрокомпыотерной науки. Так как проблема синтеза НС сильно зависит от решаемой задачи, дать общие подробные рекомендации затруднительно. В большинстве случаев оптимальный вариант выбирается интуитивно. Очевидно, что процесс функционирования НС, т.е. сущность действий, которые она способна выполнять, зависит от величин синаптических связей, поэтому, задавшись определенной структурой НС, отвечающей какой-либо задаче, разработчик сети должен найти оптимальные значения всех переменных весовых коэффициентов (некоторые синаптические связи могут быть постоянными). Этот этап называется обучением НС, и от того, насколько качественно он будет выполнен, зависит способность сети решать поставленные перед ней проблемы во время эксплуатации. На этапе обучения кроме параметра качества подбора весов важную роль играет время обучения. Как правило, эти два параметра связаны обратной зависимостью и их приходится выбирать на основе компромисса. Обучение НС может вестись с учителем или без него. В первом случае сети предъявляются значения как входных, так и желательных выходных сигналов, и по некоторому внутреннему алгоритму система подстраивает веса своих синаптических связей. Во втором случае выходы НС формируются самостоятельно, а веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы. Существует великое множество различных алгоритмов обучения, которые делятся на два больших класса: детерминистские и стохастические. В первом из них подстройка весов представляет собой жесткую последовательность действий, во втором она проводится на основе действий, подчиняющихся некоторому случайному процессу. Среди различных конфигураций искусственных нейронных сетей встречаются такие, при классификации которых по принципу обучения, строго говоря, не подходит обучение ни с учителем, ни без него. В таких сетях весовые коэффициенты синапсов рассчитываются только единожды, перед началом функционирования сети на основе информации об обрабатываемых данных, и все обучение сети сводится именно к этому расчету. С одной стороны, предъявление априорной информации можно расценивать как помощь учителя, но с другой — сеть фактически просто запоминает образцы до того, как на ее вход поступают реальные данные, и не может изменять свое поведение, поэтому говорить о звене обратной связи с «миром» (учителем) не приходится. Из сетей с подобной логикой работы наиболее известны сеть Хопфилда и сеть Хэмминга, которые обычно используются для организации ассоциативной памяти. Задача, решаемая данной сетью в качестве ассоциативной памяти, как правило, формулируется следующим образом. Известен некоторый набор двоичных сигналов (изображений, звуковых оцифровок, прочих данных, описывающих некие объекты или характеристики процессов), которые считаются образцовыми. Сеть должна уметь из произвольного неидеального сигнала, поданного на ее вход, выделить («вспомнить» по частичной информации) соответствующий ему образец (если такой есть) или «дать заключение» о том, что входные данные не соответствуют ни одному из образцов. Сети Хопфилда, Хэмминга позволяют просто и эффективно решить задачу воссоздания образов по неполной и искаженной информации. Невысокая емкость сетей (число запоминаемых образов) объясняется тем, что сети не просто запоминают образы, а позволяют проводить их обобщение; например, с помощью сети Хэмминга возможна классификация по критерию максимального правдоподобия. Вместе с тем легкость построения программных и аппаратных моделей делает эти сети привлекательными для многих применений. На втором, наиболее важном этапе проводится определение состава входов. Нейросеть умеет отсеивать незначимые входы, но каждый «лишний» вход утяжеляет сеть, затрудняет обучение, а главное — снижает качество прогноза. При большом числе «лишних» входов нейросеть чаще всего делает прогноз «сегодня будет, как вчера, завтра будет, как сегодня». Поэтому необходимо очень аккуратно подходить к добавлению новых входов. Вообще, на входы нейросетей можно подавать самую разнообразную информацию, как дискретную (различные события) так и непрерывную (цены, индексы, индикаторы). Состав входов обычно является наиболее «сокровенной» тайной разработчика нейросети и держится в секрете. Наиболее значимыми входами являются индикаторы технического анализа и различные фондовые индексы. При правильном обучении НС все основные ее ошибки связанны с недостатком входной информации и глобальным изменением состояния объекта прогнозирования. Например, прогноз максимальной цены на день вперед для НК ЛУКойл дает наибольшие ошибки прогноза в дни выхода каких-либо новостей, которые сильно влияли на российский рынок акций. НС не может прогнозировать такие события, как отставки премьер-министров, начало войны, итоги собраний акционеров и другие фундаментальные факторы. Но и в этих случаях нейросеть будет полезной, если заранее получить два варианта прогнозов: без переломного события и с ним, — тогда у трейдера уже будут ценовые уровни при разных сценариях развития событий. И в зависимости от ситуации на рынке выбирается необходимый прогноз. На третьем этапе проводится выбор типа нейросетевой технологии и метода ее обучения. Для решения практических задач часто требуются обучающие выборки большого объема, поэтому в ряде нейропакетов предусмотрены средства, облегчающие процесс формирования и использования обучающих примеров. Однако в настоящее время отсутствует универсальная методика построения обучающих выборок, и набор обучающих примеров, как правило, формируется индивидуально для каждой решаемой задачи. Оказывается, что после многократного предъявления примеров веса сети стабилизируются, причем сеть дает правильные ответы на (почти) все примеры из базы данных. В таком случае говорят, что «сеть натренирована». В программных реализациях можно видеть, что в процессе обучения величина ошибки (сумма квадратов ошибок по всем выходам) постепенно уменьшается. Когда величина ошибки достигает нуля или приемлемого малого уровня, тренировку останавливают, а полученную сеть считают натренированной и готовой к применению на новых данных. Вся информация, которую сеть имеет о задаче, содержится в наборе примеров. Считается, что для полноценной тренировки требуется хотя бы несколько десятков-сотен примеров. Обучение сети — сложный и наукоемкий процесс. Четвертый этап — подготовка данных. В последние годы конъюнктура финансовых рынков претерпела значительные изменения, вследствие которых стала динамичнее. В связи с этим возникла необходимость использования специальных механизмов обучения (неравномерной выборки данных), при которых больший вес имеют более новые данные. Кроме этого, при подготовке данных необходимо руководствоваться следующим правилом: исходные данные должны быть непротиворечивы. Для решения этой проблемы, возможно, потребуется увеличить число входов [8]. В процессе работы периодически по мере изменения рынка и его перехода на новые уровни (минимум или максимум) необходимо проводить переобучение нейросетей на новых данных. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.) |