1626434812-e667f6b6e7e69d3a0798830a58e9075b (844135), страница 39
Текст из файла (страница 39)
Продолжим готовить примеры. Удалим не нужный больше столбец КААТ. В меню "Со1шпп" (операции со столбцами) выполнитс команду "0с1е!е Со1шпп" (удалить столбец). Выберите мышью колонку КААТ, подтвердите желание его удалить, нажав клавишу "ВВОД". Окно Ые!Ма1сег после этих операций показано на рис. 7.4.8. Рис. 7.4.8. Окло Хе~ИЫ7 ег после удпления сиювбцо ДААТ.
1928 7.88 Б9 1929 8.38 77.8 1930 6,93 Б4.9 1931 8.2Б 35.7 1932 6.78 212 ,. !933 7.63 11Л 1934 6.72 5.'? М~ 1935 8.75 8.7 э:; 1935 7.93 36.1 ~Е" 19ЗБ 7.92 79.7 . 1937 8.5 114.4 4'': 1938 В 109.6 в.зв 6.9З 8.26 6.78 7.63 6.72 8.75 7.93 7.92 8,5 8 7.71 8.38 7.945 7.88 ВЛ В.ЗВ 7.8925 Б.93 7.8625 8.26 7.5875 6,78 7.4 7,63 7.З475 6.72 7.47 8.75 7.7575 7.93 7.ВЗ 7.92 8275 8.5 8.0875 44.3 -ОЛ 44.З -ОЛ 44,3 -0,1 63.9 -0.1 69 -0.1 77.8 -ОЛ 64.9 0.13 35.7 -0.01 21.2 0.06 11.1 -0.17 5.7 -0.01 8.7 О.О9 Базы данных.
Игинеллектуалъная обработка информации Поместим для наглядности столбец эталонов МАТ+1 в правую часть таблицы. В меню "Со1шпл" 1операции со столбцами) выполните команду "Моче Со1шпп" (переместить). Щелкните мышью на колонке МАТ+1, а затем на столбце ВААТ-7. При сдвиге столбцов вниз Не1Ма1сег дополнил их сверху соответствующим числом значений из первой ячейки 1см. рис. 7.4.8, столбцы ДААТ-7, %1Ч-4, МАТ-1). Строки с подобными значениями нельзя использовать при подготовке базы примеров — сеть будет обучена неправильно. Максимально мы сдвигали столбцы на 7 ячеек вниз, поэтому мы должны удалить первые 7 строк.
В меню "Кои" 1операции со строками) выполните команду "Ое1е1е Кои"' 1удалить строку). Щелкните мышью на первой строке с данными, подтвердите ее удаление в ответ на вопрос системы. Первая строка удалена. Эту операцию надо проделать еще б раз. После этого в первой строке таблицы должны находиться данные за 1933 год.
Теперь необходимо указать 1Ме~Ма1ег, в каких столбцах находятся данные входного вектора, в каком — эталонный результат, а где комментарий. Начнем по порядку. Щелкните мышью на названии первого столбца 1УЕАЙ) и нажмите "СФг!+А'*. Столбец помечен как комментарий (Аппо!е), его данные не будут использованы ни во входном векторе, ни как эталонный выход сети. Столбцы МАТ, %Ж, МАТ-1, Мачгя, %Х-4, ВААТ-7 содержат данные для входов нейросети.
Чтобы указать это программе, надо поочсредно выбрать каждый из них и нажать комбинацию "СФг!+Г (!прц1). Столбец МАТ+1 надо обозначить как эталонный выход нейросети. Выделите его и нажмите "Сйг!+Р" ~Рапегп). Результат представлен на рис. 7.4.9. Самое время сохранить промежуточный результат нашей работы. В меню "Гйе" !файловые операции) выберите пункт "За~е Хе!Ма1ег Г11е... " (записать файл с данными 1Че1Ма1ег).
Задайте имя сохраняемого файла, например, "гпа1-2.дай" в окне диалога, нажмите "ВВОД". Используя бегунок прокрутки в правой части окна Хе1Ма1ег, перейдите в нижшо|о часть таблицы. Последняя строка 11985 год) содержит некорректное значение МАТ+1. Хотя эту строку нельзя использовать при обучении нейросети, для получения прогноза ее данные нам потребуются. При прогнозировании, то есть в процессе работы обученной сети, значение МАТ+1 не используется, оно вычисляется на основе входного вектора.
При записи файла данных для работы обученной сети (Кппп1щ Гас! Г11с) 1Че1Ма$сег игнорирует все значения, помеченные как Райсгп (эталон), поэтому некорректное значение МАТ+! не попадет в этот файл. Создадим файл данных для работы обученной сети. В меню "Г11е" (файловые операции) выполните команду "Сгеасе йцпп1пд Гас! Г1!е...". Программа предложит сохранить его под именем "та~-2.!и". Оставьте имя файла без изменений и нажмите "01с". Данные, расположенные в строке 1985 года, будут ломе- Глава 7. Нейросетевые системы щены в этот файл последними, функционирование сети на них закончится, и мы сможем узнать результат требуемого нам прогноза.
й '-' Г .и Аппо1е 1понФ 1поц! 1по~й 1поцФ 1поц! 1поп1 Райегп* 192Б 7.7Б 44.3 7.76 Рис. 7.4.9. 8ид окна №йИаАег после назначения входов и выходов. Тепсрь необходимо составить базу примеров для обучения сети, но сначала надо удалить последнюю строку. В мешо "Ко~ч" (операции со строками) выполните команду "Ве1е1е Ком" (удалить строку).
Щелкните мышью на последней строке с данными, подтвердите ее удаление. Перемешаем строки с данными. В меню "Кои" (операции со строками) выполните команду "ЗЬи1Пе Коъз" (перемешать строки). Выполнитс эту команду еше раз. В меню "Не" (файловые операции) выберите пункт "Сгса1е Вга1пМа1сег Г11сз..." (записать файлы для Вга1пМа1сег).
Нажмите кнопку "%г11е Г1!ез". Не1Ма1сег сохранил 3 файла: 1) та~-2.6еà — описание структуры, входных и выходных параметров нейросети ~Ме1МаЕег автоматически определяет необходимое число нейронов в скрытом слое и генерирует сеть); 1927 8.38 Б3.9 7.76 1928 7 88 69 В 38 . 1929 8.38 77.8 7.88 1930 6.93 Б4.9 8.38 , .
1931 8.26 35.7 6,93 1932 678 21,2 826 1933 7.63 11.1 6.78 , 1934 6.72 5.7 7.63 * 1935 8.75 8.7 Б.72 1935 7.93 36.1 8.75 1936 7.92 79.7 7,93 1937 8.5 114.4 7.92 1938 8 109.Б 8.5 7.7Б 44.3 79!5 44 3 7.945 44.3 8,1 44.3 7.8925 44.3 78625 639 7.5875 69 7.3475 Б4.9 7.47 35.7 7.7575 212 7.83 11.1 8275 5.7 8.0875 8.7 -0.1 8.38 -0.1 7.88 -0.1 8.38 -0.1 Б.93 -0,1 826 -0.1 6.78 -0 ! 7,63 -0.1 6.72 0.13 8.75 -0.01 7.93 О.ОБ 7.92 -0.17 8.5 -0.01 8 0.09 7.71 гбб Базы данных. Интеллектуальная обработка информации 2) шаФ-2.1с~ — примеры для обучения нейросети; 3) шай-2.ЬФ вЂ” примеры для тестирования нейросети. Программу Ие1Ма1сег можно закрыть, она больше не потребуется, Теперь нам предстоит поработать с другим приложением пакета — Вга1пМа1сег.
Это— "нейросетевое ядро", которое обучает, тестирует и эксплуатирует сети, созданные в Хе1Ма1сег. Вга1пМа1сег расположен в той же папке, что и Хе1Ма1сег. Чтобы запустить программу, в меню "Старт" Мпйоюз 95 найдите папку "Вга1пМа1сег РгоГеяяопа1" и выберите в ней иконку с надписью Вга1пМаЕег. Чтобы сделать то же в %1пг1овз 3.1, выберите группу "Вга1пМаЕег Рго1еяз1опа1" в Ргоигаш Маладег и сделайте двойной щелчок на иконке Вга1пМаЕег. Рис. 7.4.10.
Окно ВгагпМаАег после запуска программы. Нельзя не признать, что интерфейс Вга1пМаЕег не столь дружественный, как, например, у современных офисных пакетов ~рис. 7.4.10). Однако программа хорошо делает свое дело, не тратя ресурсов компьютера впустую. Сейчас нам предстоит обучить и протестировать нейросеть, созданную ранее. В меню "Р11е" (файловые операции) выберите пункг "Кеад ИеочогЕ..." ~считать сеть). В появившемся окне выберите файл "гпаг-2л$еГ'. Нажмите "ОЕ". В окне программы появились 2 столбца: левый — это элементы входного вектора, правый-эталонный (Р1п) и реальный ~Ош) выходы нейросети. В процессе обучения каждое входное и выходное значение будет отображаться горизонтальной полоской, длина которой пропорциональна соответствующему значению.
Интересно, сколько нейронов содержит наша сеть? В меню "Соппес6опв" (соединения) выполните команду "СЬапяе Хе1иог1 Яке..." ~изменить размер сети), Система выведет панель диалога, представленную на рис. 7.4.11. Видно, что число нейронов во входном слое — 6 (число значений во входном векторе), в скрытом слое — 1О, в выходном слое — 1. В сети 70 межнейронных связей.
В этой панели диалога можно изменить параметры сети, например, увеличить число нейронов, если сеть плохо обучается. Нажмитс "Сапсе1" — мы не собирались ничего менять. Глава 7. Нейросетевые системы Число нейронов входном слов Число нейронов скрытом слое Число нейронов выходном слов Рис. 7.4.П. Диалоговая панель "01апее №~июМ Бпе". Зададим точность обучения.
В меню "Рагап1е»егя" (параметры) выберите пункт "Тга1п1ла Соп»го1 Нож" (управление процессом обучения). Измените значение в строке "Тга1 п1 пд То1 егапсе" (точность обучения) на 02, нажмитс "О1»". Этот параметр определяет максимально допустимое относительное отклонение действительного значения на выходе сети от эталонного, заданного в примере. Сеть готова к обучению. В мешо "Орега»е" (действия) выполните команду "Тга1п Мегиог1»" (обучить сеть). Видно, что входы и выход сети быстро изменяются — мелькают полоски, соответству1ошие их значениям. В двух верхних строках окна отображается статистика обучения: 1) время, прошедшее с начала обучения (Тга1 п1пд); 2) имя файла с примерами (ГасЬ); 3) коэффициент, определяющий, насколько сильно Вга1лМа1»ег изменяет веса межнейронных связей при неправильном ответе сети (1 еагп); 4) точность обучения (То1егапсс); 5) текущий пример (Гас$); 6) обшее число обработанных примеров (То1а1); 7) число неправильных ответов нейросети (Ва»1) и число таких ответов в прошлом прогоне (1.ай); 8) число правильных ответов нейросети (боо»1) и число таких ответов в прошлом прогоне (1аа1); 20о Базы данных.
Интеллектуальная обработка информации 9) число прогонов — циклов, в каждом из которых все множество примеров подается на вход сети ~Кцп), Динамику обучения сети можно проследить в окне "ИсЬчог1с Ргоегезз" ~динамика обучения). В мешо "01зр1ау" (отображение) выберите пункт "Не1и ог1с Ргодгеза 01зр1ау" (отображение динамики обучения). В нижней части окна Вга1пМа1ег появится окно с гистограммой ~вверху) и графиком (внизу) (сы. рис. 7.4.12). Рис. 7.4.