Круглов В.В., Борисов В.В. - Искусственные нейронные сети (ИНС) Теория и практика (778918), страница 46
Текст из файла (страница 46)
В десяти столбцах справа, вследствие сдвига на четыре строки вниз, первые пять строк идентичны друг другу Кроме того, ранее мы делали сдвиг на одну строку вниз в столбцах В0100, рпсе10, рпсе20 Следовательно, надо удалить первые пять строк, которые не содержат корректные данные Дпя этого можно воспользоваться командой йереа1 ипи пять раз проделать следую- щую операцию: выделив строку, выберите Ое!е1е йомг в разделе йочг главного меню и подтвердите удаление. Для формирования ВО+4 был осуществлен сдвиг вверх на 4 строки. Поэтому нужно удалить четыре нижние строки В результате всех этих операций осталось 176 фактов из 185. То есть, на подготовке данных в нашем примере потеряно около 5'4 входных данных.
Эти потери следует учитывать при планировании количества данных при создании нейронной сети Результат всех проделанных операций запишите в файл рпсе4.да1. Создание файлов для Вга!пМайег. Перед тем, как создавать входные файлы для Вга)пМаИег, перемешаем строки таблицы, чтобы они располагались в случайном порядке. Это нужно для лучшего обучения нейронной сети.
Таблицу с перемешанными строками сохранять не следует 1) Выберите ВЬ!6!е йочгв в разделе йочг главного меню. 2) Сделайте это еще раз. 3) В разделе !.аЬе! главного меню выберите А!! ЦпгпагИед Со!игппв!!при1в. 4) Выберите Сгеа1е Вга!пМаИег Рйев в разделе Рйе главного меню и подтвердите имена файлов, предлагаемые по умолчанию. 5) Выйдите из )че1МаИег. Подготовка данных завершена. 6.8.3 Обучение, тестирование и опрос нейронной сети Обучение нейронной сети.
1) Запустите Вга1пМакег. 2) В пункте Р!!е главного меню выберите йеад йе1чгогИ и загрузите файл рпсе4.де1. 3) Прогнозирование на финансовых рынках является достаточно сложной задачей. Поэтому будем считать точность прогноза 80% вполне приемлемой. В пункте Рагагпе1егв главного меню выберите Тга!и!пд Соп1го! Р!очг Измените значения Тга)п)по 1о)егапсе и ТезЬпо 1о)егапсе на 0,2.
Остальные параметры остаются без изменения. Нажмите ОИ. 4) В пункте Орега1ге главного меню выберите Тга!и Ме1мгогИ В окне будет отображена информация вида рис. 6.16. Горизонтальные столбики (термометры) показывают входные и выходные значения. Их использование облегчает наблюдение за быстро изменяющимися значениями.
Обратите внимание, что ВО+4 соответствует два термометра. Оц1 показывает значение, которое генерирует нейронная сеть, а Р1п — то значение, которое должно быть предсказано (Ра11егп — образец). 300 Рис б 1б. Окно программы Для остановки обучения выберите Тгв1п й)етмгогк еще раз. Для отображения данных в виде чисел, символов и др, войдите в пункт Р1вр1ау главного меню, а затем в подменю выберите Ег)11 р)етмгогк Р1вр1ау. Для обучения сети используется 158 фактов из 176.
10% или 18 фактов зарезервированы для тестирования при формировании файлов в )че1Ма)сег. Первая строка с данными под главным меню (б1а1об 1)пе) показывает, что в настоящее время делает Вга)пМакег и какие используются файлы 1.еагп)пд йа1е используется для более точной настройки обучения нейронной сети и сейчас рассматриваться не будет. То)егапсе является максимальной допустимой величиной ошибки во время обучения. Если 1о)егапсе равна О, то это означает, что выходной результат (ос1рц1), выдаваемый нейронной сетью, должен абсолютно точно совпадать с образцом для обучения (ра11егп). Для подавляющего большинства случаев зто нереалистичное требование, особенно для финансовых приложений, которые считаются наиболее сложными.
При 1о!егапсе равной 0,1 выход нейронной сети будет рассматриваться как корректный, если он отличается не более чем на 10% от заданного значения. Если же ои1ри1 будет вне 10% интервала, то Вга)пМа)сег внесет изменения в структуру нейронной сети таким образом, чтобы в следующей попытке получить более корректный результат. Этот процесс будет продолжаться до тех пор, пока значение ошибки не снизится до установленного параметром 1о!егапсе предела. В строке б1айббсб 1)пе, следующей за б1а1иб 1)пе, представлена информация о ходе обучения или тестирования сети: 301 Рас! — порядковый номер примера из обучающей или тестирующей последовательности (номер строки в таблице с исходными данными), который обрабатывается в данное время; То!а! — общее количество примеров, обработанных на данный момент; Вас! — количество примеров, для которых получен некорректный результат в текущем проходе входной последовательности; !.аз1 — количество примеров, для которых получен некорректный результат в предыдущем проходе, Оооо — количество примеров, для которых получен корректный результат в текущем проходе; (.аз1 — количество примеров, дпя которых получен корректный результат в предыдущем проходе; г(ип — общее количество проходов входной последовательности, включая текущий.
Наблюдать за процессом обучения нейронной сети можно, включив режим йеЬуогк Рго9гввв 0)вр!ау в разделе О!вр!ау главного меню (рис. 6.17). Гистограмма на верхнем графике отображает распределение ошибок за один проход обучающей выборки. На горизонтальной оси показана величина ошибки, а на вертикальной оси — количество ошибок По мере обучения вертикальные столбики смещаются влево, отражая процесс уменьшения величины ошибок при обработке примеров.
Обучение заканчивается, когда для всех примеров уровень ошибки будет меньше допустимого уровня — 0,2. Рис. 6.17 Динамика прсцесса обучения По графику можно определить достижимый уровень ограничения ошибок нейронной сети. Например, в рассматриваемом примере этот уровень можно довести до 0,125. 302 Нижний график отражает динамику изменения общей ошибки нейронной сети йМЗ Еггог (йоо1 Меап Зсцагег!) по формуле: ~ (О-Р)' РоиЗеггог = И где О- оц1рц1, Р- райегп, Я- количество фактов.
На горизонтальной оси показан номер прохода обучающей выборки, на вертикальной оси — величина ошибки Сохраните обученную нейронную сеть в файле рпсе4.пе1 Тестирование нейронной сети. 1) В пункте Орега1е главного меню выберите Тев1 Ме1укогк. 2) Нейронная сеть обработает примеры и сравнит полученные результаты (оц1рц1) с образцами (ра11егп). Ошибки будут вычислены, но корректировка структуры нейронной сети производится при этом не будет. 3) В строке з1абзйсз !!пе отображается результат тестирования — Оооф 15 Ваг!: 3.
Если осуществить настройку нейронной сети, то этот результат можно улучшить Рассмотрим, как используется сеть для получения прогноза. Получение результатов. Запустите Ме(Майег и загрузите файл рпсе5 г)а1. Этот файл содержит пять последних удаленных строк из исходного файла рпсе1.г)а1 и одну строку с новыми данными С этим файлом нужно проделать те же манипуляции, что и с рпсе1.г)а1, за исключением создания столбца с известными будущими значениями ВО+4. Анализ циклов и корреляции данных делать также не нужно. После этого сохраните данный файл под именем рпсе51п, выбрав Сгеа1е йцпп!пд Гас1 Где в разделе Еде главного меню.
1) Войдите в Вга!пМакег и загрузите нейронную сеть из файла рпсе4 пе1. 2) Выберите Зе!ес1 Гас1 Где в разделе РИе главного меню. Укажите йеаг! йцпп!пд Рас1в и прочитайте рпсе5 ~п. 3) Выберите )й)г!1е Гас1в 1о Еде в разделе Где главного меню, Предложенные по умолчанию значения менять не нужно, поэтому сразу ответьте Орел Где. 4) Измените способ отображения оц1рц1 с 1пеггпогпе1егз на пцтбег. Для этого войдите в подраздел Еб!1 Ме1вгогк О!вр!ау пункта ОЕяр!ау главного меню.
5) Выберете опцию йип Тга!пе0 Ме1вгогк в разделе Орега1е. 6) На экране в поле Оц1 появится результат прогноза. 7) Выйдите из Вга!пМакег и посмотрите файл рпсе4.оц1. Число после графического символа является номером примера. В 303 следующей строке представлены входные данные. Третья строка содержит результат — прогноз изменения В0100 на 4 дня вперед. 6.6.4. Некоторые выводы Процесс разработки нейросетевых приложений состоит из определенной последовательности операций, которая не зависит от выбранного пакета программ. Большое значение имеет исходная формулировка проблемы Самая трудоемкая для аналитика часть работы включает сбор и предварительную обработку данных.