Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
Для того, чтобы закончить обучение и выйти из программы teacher, следует нажать клавишу «Esc». При этом в файле test.map сохранится карта синапсов для обученной нейросети.
Теперь, наконец, можно приступать к тестированию. Оно для рассматриваемой задачи заключается в следующем. Нужно ответить на 12 вопросов. Ответы кодируются следующим образом: 1 — да, –1 — нет, 0 — не знаю. Обученная нейросеть определит, кандидат от какой партии одержит победу в выборах. Правящей партии соответствует красный цвет, оппозиционной — синий.
Ответы на вопросы можно выбрать произвольно, но гораздо интереснее протестировать реальную ситуацию, например, определить, кто победит в выборах 1992 года — Буш или Клинтон.
Для тестирования нужно запустить программу tester. Программа предложит указать имя файла с картой синапсов, а затем имя ptn-файла. Это делается точно так же, как и при работе с программой teacher, поэтому здесь мы не будем описывать эту процедуру.
После этого тестируется пример с нулевыми значениями входных сигналов, поскольку значений входных сигналов мы еще не задали. Картинка, которая появляется на экране всякий раз
после тестирования, описана в разделе "Классификация объектов". Заметим, что для примера с нулевыми входнымы сигналами крестик на экране будет располагаться в центре квадрата, а значения оценок (красной и синей) совпадут.
В нижней части экрана высвечивается указание "press any key". Выполнив его, т. е. нажав любую клавишу, можно перейти к просмотру текущих значений входных сигналов и вводу новых значений для них.
После нажатия любой клавиши на экране, как было рассказано ранее, высвечиваются окно NEURON с именами входных сигналов (они считываются из ptn-файла), окно VALUE со значениями входных сигналов и два окна с улучшателями ("to red" и "to blue").
Press F1 for Help 1 — 'Да', –1 — 'Нет', 0 — 'Не знаю'.
Neuron Value to red to blue Правящая партия была у власти более 1 срока? 1.000 -1.000 1.000 Правящая партия получила больше 50% на прошлых выборах? 1.000 0.651 -0.651 В год выборов была активна третья партия? 1.000 -0.425 0.425 Была серьезная конкуренция при выдвижении от правящей партии? -1.000 -0.586 0.586 Кандидат от правящей партии был президентом в год выборов? 1.000 0.116 -0.116 Был ли год выборов временем спада или депрессии? -1.000 -0.250 0.250 Был ли рост среднего нац. валового продукта на душу населения > 2.1%? 0.000 0.530 -0.530 Произвел ли правящий президент существенные изменения в политике? 1.000 0.404 -0.404 Во время правления были существенные социальные волнения? 1.000 -0.549 0.549 Администрация правящей партии виновна в серьезной ошибке/скандале? -1.000 -0.280 0.280 Кандидат правящей партии — национальный герой? -1.000 0.184 -0.184 Кандидат оппозиционной партии — национальный герой? -1.000 -0.323 0.323Для нашей задачи число входных сигналов равно 12. Их имена представляют собой тексты вопросов. Ответы на них нужно ввести в окне VALUE, закодировав, как было указано выше (заметим, что в верхней строке экрана для этого высвечивается подсказка).
Итак, выбрав вариант ответа на каждый вопрос, т. е. значение соответствующего входного сигнала, можно приступать к их вводу. Для этого нужно нажать клавишу «Enter». Тогда в окне VALUE в строке, на которой был установлен курсор при просмотре, появится мигающий курсор. Это говорит о том, что указанное курсором значение входного сигнала можно редактировать. Для этого нужно набрать значение входного сигнала и для его ввода нажать клавишу «Enter». В результате это значение будет введено, и курсор переместится в следующую строку окна VALUE. Тогда точно так же можно редактировать входной сигнал в этой строке и т. д.
Выход из режима редактирования происходит автоматически после того, как введен самый последний входной сигнал. Если нужно выйти из режима редактирования раньше, то следует нажать клавишу «Esc». После выхода из режима редактирования мигающий курсор исчезнет. Заметим, что редактировать в программе tester можно только содержимое окна VALUE.
После того, как все значения входных сигналов введены, можно протестировать этот пример. Для этого нужно нажать клавишу «пробел». На экране появится результат тестирования. Цвет крестика показывает, кандидат от какой партии имеет больше шансов на победу в выборах. Расстояние от крестика до курсора соответствующего цвета показывает, насколько вероятна победа этого кандидата. Если крестик находится вблизи центра квадрата, то оба кандидата имеют примерно равные шансы на победу. Чем ближе оказывается крестик к курсору соответствующего цвета, тем больше уверенность, с которой можно предсказать победу этого кандидата.
После тестирования можно вновь перейти к просмотру и редактированию входных сигналов, нажав любую клавишу. При этом для примера, который только что был протестирован, высвечиваются значения улучшателей. Об улучшателях было подробно рассказано в разделе "Дополнительные возможности нейросети". Там же были описаны эксперименты с задачей выборов президента. Теперь пользователь может попытаться повторить их сам (определить, какие входные сигналы нужно изменить, чтобы упрочить положение победившего кандидата либо, напротив, обеспечить победу другого кандидата).
Если пользователь хочет определить победителя выборов 1992 года, то ему нужно ввести такие ответы на вопросы, которые соответствуют политической и экономической ситуации в данный момент. Интересно пронаблюдать, как изменялись за последнее время шансы Буша на победу в выборах в зависимости от изменения политической ситуации. До событий в Лос-Анджелесе нейросеть уверенно предсказывала победу Буша. После этих событий (ответ на вопрос о том, были ли значительные социальные волнения, изменился с отрицательного на положительный) преимущество Буша стало совсем незначительным. Наконец, после появления независимого кандидата на пост президента (этот факт можно трактовать как рост активности третьей партии) нейросеть предсказывает поражение Буша и победу Клинтона.
Отметим, что в программе tester для помощи пользователю при редактировании входных сигналов имеется Help.Чтобы получить его, нужно нажать клавишу «F1». После этого на экране появляется таблица, в которой перечислены возможности пользователя при работе с программой tester.
Сделаем небольшие пояснения к этой таблице. Клавиши со стрелками «вверх» и «вниз» используются для передвижения курсора в окне VALUE только при просмотре. В режиме редактирования перемещать курсор этими клавишами из одной строки в другую нельзя, можно лишь пользоваться клавишами со стрелками «влево» и «вправо» для передвижения курсора в соответствующем направлении.
При редактировании значений входных сигналов используются клавиши с цифрами от 0 до 9, а также клавиши "+", «-», "BkSp" и «Del». Пользоваться ими следует точно так же, как и при работе с любым стандартным редактором.
Клавиша «Enter», как было сказано выше, используется для перехода из режима просмотра в режим редактирования, а также при работе в режиме редактирования для ввода каждого отредактированного значения.
Для перехода из режима редактирования в режим прсмотра используется клавиша «Esc», для тестирования — клавиша "пробел".
Чтобы вернуться к работе после просмотра таблицы Help, достаточно нажать любую клавишу. Заметим, что получить Help, нажав клавишу «F1», можно только в режиме просмотра значений входных сигналов.