Искусственные нейронные сети

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.10.2015
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

1) обучающую последовательность, содержащую Обучающие образы (Training patterns), для обучения сети и,

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

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

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

7.2.3 Создание сокращенной обучающей последовательности

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

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

Открыть файл с обучающей последовательностью и войти в редактор образов;

Вырезать часть образов каждого классов из матрицы

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

Какому виду принадлежит некоторый образ (при использовании кодирования один из N), можно установить, посмотрев на его выходные атрибуты: каждый образ имеет одно значение 1.0 на выходе элемента отвечающего за конкретный класс, и 0.0 на остальных элементах выходного слоя.

7.2.4 Визуализация процесса обучения

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

График ошибки обучения

Вызвать диалоговое окно График ошибки обучения (Training Error Graph) можно с помощью команды меню Статистика/График обучения (Statistics/Training Graph) (рис. 7).

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

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

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

Если график засорен лишними линиями, его всегда можно очистить, нажав кнопку Clear (Очистить) на Графике обучения (Training Graph).

Для облегчения сравнения можно установить изображение графиков разными цветами. Для этого необходимо задать текущей линии имя в поле Label (Метка) на Графике обучения (Training Graph), и линия отобразится другим цветом.

Ошибки по образцам

График обучения Training Graph отображает общую квадратичную ошибку сети. Иногда бывает полезно понаблюдать, как изменяются величины ошибки на отдельном образце. Это можно сделать, используя гистограмму Pattern Errors (Ошибки образца), которую можно вызвать командой меню Statistics/Pattern Errors (Статистика/Ошибка образца).

Гистограмма автоматически обновляется только к концу периода обучения; но можно установить ее обновление и во время процесса обучения (правда это значительно замедлит процесс). Для этого необходимо выбрать параметр Real-time update (Оперативное обновление) в гистограмме ошибки образца до начала обучения. На гистограмме видно, как алгоритм борется за уменьшение ошибки на отдельном образце, а ошибки на других образцах подпрыгивают.

7.2.5 Оптимизация процесса обучения

Диалоговое окно Обратное распространение (Back Propagation) можно вызвать с помощью команды меню Обучение/ Backpropagation (Train/Backpropagation) (рис. 9). Аналогично вызывается окно обучения алгоритмом сетей Кохонена.

После нажатия кнопки Обучение (Train) диалогового окна Обучение сети, начнется процесс обучения. Суммарная квадратичная ошибка по всем выходам отобразится на графике.

Нажмите кнопку Обучение еще несколько раз. Каждое нажатие продолжит процесс обучения на заданное количество циклов (эпох).

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

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

Ниже приведены все основные параметры с кратким описанием:

Epochs (Периоды). Количество циклов обучения, выполняемых после нажатия кнопки Train (обучение). Значение по умолчанию - 100.

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

Момент (Momentum). Значительно повышает скорость обучения, если он подобран правильно; вносит стабильность в процесс обучения (особенно, если изменения в общей ошибке от цикла к циклу незначительные). Всегда должен находится в пределах [0.0;1.0). (т.е. больше или равен 0.0, строго меньше 1.0). Рекомендуется сочетать большое значение коэффициента корреляции и малый момент и наоборот, малый коэффициент корреляции и большой момент.

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

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

Окно обучения сети Кохонена (Kohonen Training) (рис. 9) (команда меню Обучение/ Kohonen (Train/Kohonen)) отличается от окна обучения Backpropagation, оно включает начальные и конечные параметры для скорости обучения (коэффициента корреляции) и для размера области близости (соседства). Обычно обучение Кохонена разбивают на две части - фаза прикидки и фаза подстройки.

Скорость обучения/Learning Rate

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

Обычно алгоритм обучения запускают в две стадии.

На первой стадии используют изначально высокую скорость обучения (например, от 0.9 до 0.1), большой размер окрестности (например, от 2 до 1) и небольшое число циклов (например, 100).

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

Окрестность

Это значение определяет количество рассматриваемых соседних элементов вокруг выигравшего элемента. Например, при размере окрестности равном 2, число элементов - 55.

Несколько запусков алгоритма

Если необходимо сравнить характеристики нескольких процессов обучения с разными параметрами, используйте кнопку Reinitialise (Реинициализация) диалогового окна Back Propagation. При нажатии на эту кнопку процесс обучения инициализируется заново; если нажать Обучение (Train) после Reinitialise (Реинициализация) на графике ошибки начнет изображаться новая кривая.

При работе алгоритма Кохонена нажатие кнопки Реинициализация/Reinitialise изменяет только выходной слой радиальных элементов.

7.2.6 Обучение с перекрестной проверкой

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

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

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

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

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

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

7.3 Работа с сетью

7.3.1 Возможности сети по работе с образцами

После обучения сети ее можно прогнать, т.е. запустить. В программе Trajan для этого предусмотрено несколько режимов.

Прогон текущей обучающей последовательности целиком или по одному образцу за один раз;

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

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

Прогон текущей последовательности

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

Прогон одного образца

Для запуска программы в режиме прогона единственного образца необходимо вызвать диалоговое окно Run Single Pattern с помощью команды меню Run/Single Pattern (Выполнить/Одиночный образец) (см. рис. 10).

Для выбора необходимого образца воспользуйтесь полем Pattern (Образец). Нажмите кнопку Run (Выполнить) для прогона текущего образца, или измените поле Pattern (Образец) и нажмите клавишу RETURN.

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

Входы сети отображаются в матрице на левой половине экрана, а выход - справа.

Кроме реально полученного значения выхода (Actual), справа отображаются еще и ожидаемое значение выхода (Target), и ошибка между ними (Error).

Программа отображает также вверху окна общую ошибку на образец и классификацию текущего образца.

Прогон всей последовательности целиком

Чтобы проверить сеть на всей последовательности целиком необходимо с помощью команды меню Run/All Patterns (Выполнить/Все образцы) вызвать диалоговое окно Run All Patterns (Прогон всех образцов) (рис. 11).

Нажмите кнопку Run (Выполнить) для запуска всей последовательности. Результат появится в том же окне.

Полученная матрица содержит вычисленные сетью значения (o#01), ожидаемые значения (Т. о#01) и ошибку на образце (Е. o#01) для каждого образца. Вверху матрицы отображается так же и общая квадратичная (RMS) ошибка обучения.

Проверка сети на произвольном образце

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

Натренированная сеть используется для предсказания результата по неизвестным входным данным;

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

Чтобы задать произвольный образец и прогнать его через сеть необходимо вызвать диалоговое окно Run One-off Pattern (Прогон одного из ...) воспользовавшись командой меню Run/One off (Выполнить/Один из).

Введите входные значения в матрицу входов (Inputs Matrix) на левой половине окна и нажмите кнопку Run (Выполнить); результат появится в выходной матрице (Outputs Matrix) на правой стороне окна.

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

7.3.2 Интерпретация классификации

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

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

Если результат меньше установленного порога Отклонить, образец классифицируется как не принадлежащий классу и в поле Classification (Класс) отображается слово Negative.

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

Установка степени принадлежности

Можно установить желаемую степень принадлежности. Для этого необходимо воспользоваться окном Normalisation (Нормализация) (рис. 13), вызвав его командой меню Edit/Normalisation (Изменить/Нормализация).

Поле Accept (Принять) задает минимальное значение выхода, при котором он классифицируется как 1.0; поле Reject (Отклонить) устанавливает максимальное значение выхода, ниже которого результат классифицируется, как равный 0.0.

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

Статистика классификации

Можно посмотреть общую статистику по классификации для всей последовательности. Для этого с помощью команды меню Статистика/Классификация необходимо вызвать окно Сlassification Statistics (Статистика классификации) (рис. 14). Вся статистика отображается в матрице.

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

Общая статистика

Total (Всего). Общее количество образцов данного класса в последовательности.

Correct (Правильных). Количество образцов данного класса, правильно распознанных сетью.

Wrong (Ошибочно). Количество образцов данного класс, ошибочно причисленных к другому классу.

Unknown (Неизвестных). Количество образцов данного класса, не опознанных сетью.

Распознанная статистика

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

7.3.3 Работа с сетью Кохонена

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

Окно Частоты побед (Win Frequencies) для иллюстрации, где в сети сформировались кластеры;

Окно Топологическая карта (Topological мар) для иллюстрации, какой образец отнесен к какому кластеру. Это окно поможет Вам заранее задать имена элементам и образцам.

Частоты побед

Откройте окно Частоты побед (Win Frequencies) , вызвав его командой меню Статистика/Частоты побед (Statistics/Win Frequencies) (рис. 15). В этом режиме программа прогоняет все входные образцы и подсчитывает, сколько раз каждый элемент топологического слоя выигрывает (т.е. находится ближе всего к проверяемому образцу). Высокое число побед показывает центры кластеров на топологической карте.

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

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

Топологическая карта

Как только распределение центров кластеров определено, можно открыть окно Topological Map (Топологическая карта) и просмотреть сеть с целью идентификации кластеров (рис.7).

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

Если проверить несколько образцов (самое удобное нажимать стрелку вверх справа от поля Образец (Pattern)), можно заметить, что похожие образцы объединены в группы, и близкие элементы расположены рядом друг с другом.

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

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

Замечание Чтобы не набирать на клавиатуре одно и тоже имя каждый раз, можно скопировать его в буфер (выделить и нажать CTRL+INSERT), а затем вставлять в нужное место путем нажатия SHIFT+INSERT. Также можно не нажимать RETURN после каждого имени. После каждого нажатия стрелки вверх или вниз Топологическая карта автоматически обновляется.

7.4 Генетический алгоритм выбора входных атрибутов

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

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

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

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

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

Генетический алгоритм - это стратегия оптимизации для нахождения эффективных параметров в бинарных строках. В этом случае бинарные строки представляют маски: маски определяют какие входные параметры должны использоваться при конструировании нейронной сети. Так 0 обозначает, что параметр не должен использоваться, 1 - что должен. Например, если существует 6 исходных входных параметров, маскирующая строка 001101 обозначает, что первый, второй и пятый параметры следует исключить, а третий, четвертый и шестой оставить.

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

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

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

Они способны достаточно точно моделировать нелинейные функции.

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

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

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

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

7.5 Сохранение результатов работы

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

Сохранение структуры сети

Выберите пункт меню Файл/Сохранить как/Сеть (File/Save As/Network).

Появится диалоговое окно сохранения сети (Рис. 17).

Введите имя файла сети в поле File Name (Имя) диалогового окна. Стандартное расширение файла сети - net.

Нажмите кнопку OK.

Сохранение обучающей последовательности

Обучающая последовательность сохраняется аналогично, для этого используется команда меню Файл/Сохранить как/Образец (File/Save As/Pattern). Обучающие последовательности записываются в файл с расширением .pat.

Время от времени свою работу нужно сохранять командами меню File/Save/Network и File/Save/Pattern

Программа автоматически спросит о сохранении работы, если пользователь захочет выйти из программы не записавшись.

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

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

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

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

Глава 8. Экспериментальное исследование эффективности применения нейронных сетей

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

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

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

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

В МЭИ в 1993, 1994, 1995 годах проводился экзамен одним и тем же преподавателем. Студенты должны были ответить на 8 вопросов, которые из года в год оставались неизменными. Ответ на каждый вопрос оценивался по 10-тибальной шкале (10 - отлично, 0 - не ответил). Затем выставлялась итоговая оценка за экзамен по 4-хбальной шкале (5 - отлично, 4 - хорошо, 3 - удовлетворительно, 2 - плохо). Таким образом были собраны данные об ответах и оценках 296 студентов за 3 года (99, 98, 99 человек соответственно в каждом году). Данные приведены в таблице 1.

Таблица 1. Результаты проведения экзаменов за 1993 - 1995 годы

Номер студента

Вопрос 1

Вопрос 2

Вопрос 3

Вопрос 4

Вопрос 5

Вопрос 6

Вопрос 7

Вопрос 8

Оценка 5

Оценка 4

Оценка 3

Оценка 2

1

0.2

1

0.4

1

0.4

1

1

1

0

0

1

0

2

1

1

1

0.8

1

0.8

1

1

0

0

1

0

3

1

1

1

1

0.8

0.8

0.7

1

0

0

1

0

4

1

1

0.8

1

1

1

1

1

0

1

0

0

5

0

0.6

1

0.8

0.4

1

1

1

0

0

0

1

6

1

1

1

1

1

1

1

1

1

0

0

0

7

1

1

0.2

1

1

1

1

1

0

1

0

0

8

0.4

1

0.7

1

1

1

1

1

0

0

1

0

9

0.3

1

1

1

0.2

1

1

0.6

0

0

1

0

10

1

1

1

1

0

0.3

1

0.8

0

0

1

0

11

1

1

1

1

1

1

1

1

1

0

0

0

12

1

0.6

1

1

1

0

1

0.4

0

0

1

0

13

1

1

0.4

1

1

1

1

0.6

0

0

1

0

14

1

1

1

1

1

1

1

1

1

0

0

0

15

0.6

1

1

1

1

0.3

0.7

1

0

0

1

0

16

0.5

1

0

1

0.4

1

1

0.8

0

0

0

1

17

0.2

0

0.4

0.2

0

0

0

0

0

0

0

1

18

0

0.4

0.2

1

0.4

0

0

0

0

0

0

1

19

0.5

0.6

1

1

1

1

0.7

0.6

0

0

0

1

20

0

0

0.8

1

1

0.3

0.2

0

0

0

0

1

21

1

1

1

1

1

1

1

1

1

0

0

0

22

1

1

1

1

1

1

1

1

1

0

0

0

23

1

1

1

1

1

1

1

1

1

0

0

0

24

1

1

1

1

1

1

1

1

1

0

0

0

25

1

1

0.2

1

0.4

1

0.2

1

0

0

1

0

26

0

0

1

0.6

0.8

1

0.2

0.4

0

0

0

1

27

0.2

0.4

0.4

0

0

0

0

0.6

0

0

0

1

28

0.2

1

0.6

0.6

0.4

1

1

1

0

0

0

1

29

0

1

0.2

0.2

1

0

0

0

0

0

0

1

30

0.5

1

1

0.6

0.8

1

1

0.6

0

0

0

1

31

0.2

1

1

1

1

1

1

1

0

1

0

0

32

0

0.6

0.8

1

0.2

0

0

0

0

0

0

1

33

1

1

1

1

1

1

1

1

1

0

0

0

34

0.8

1

1

1

1

1

1

1

0

1

0

0

35

1

1

1

1

1

1

1

1

1

0

0

0

36

0.6

1

0.4

1

1

1

1

1

0

0

1

0

37

1

1

1

1

0.2

0.8

1

1

0

0

1

0

38

1

0.3

1

0

0.6

0.3

1

0.4

0

0

0

1

39

0.2

1

1

1

1

1

1

1

0

1

0

0

40

0.6

1

0.4

0.6

0.4

0

0

1

0

0

0

1

41

1

1

1

1

1

1

1

1

1

0

0

0

42

1

1

0.2

1

0

1

1

1

0

0

1

0

43

0.6

1

1

1

1

1

1

0.6

0

0

1

0

44

0.5

0.3

1

1

0

1

1

1

0

0

1

0

45

0.5

1

0

0.6

1

1

1

1

0

0

1

0

46

0

1

0.2

0.8

0.4

1

1

1

0

0

0

1

47

1

1

0

1

0

1

0.2

1

0

0

1

0

48

1

1

0.8

1

1

1

1

1

0

1

0

0

49

1

1

1

1

1

1

0

1

0

1

0

0

50

1

0.6

1

0.8

1

1

1

1

0

0

1

0

51

0.2

1

1

0.4

1

0.3

1

1

0

0

1

0

52

1

1

0.5

1

1

1

1

1

0

1

0

0

53

1

0.6

0.4

1

0.6

1

1

1

0

0

1

0

54

1

1

1

1

1

1

1

1

1

0

0

0

55

0.4

1

1

1

1

1

1

1

0

1

0

0

56

0.2

1

0.6

1

0.4

1

1

0.6

0

0

0

1

57

0.2

1

1

1

0.3

1

1

1

0

0

1

0

58

0.3

1

1

1

1

1

1

1

0

1

0

0

59

0

1

1

1

1

1

1

0.4

0

0

1

0

60

1

1

0.5

0.6

1

0.5

1

1

0

0

1

0

61

1

0.8

1

1

0

1

1

1

0

0

1

0

62

0

1

0.7

1

0.6

0

0.8

1

0

0

0

1

63

1

1

0.6

1

1

1

1

1

0

1

0

0

64

0

0.6

0

0.7

0.7

0

0

0

0

0

0

1

65

1

1

1

1

1

1

1

1

1

0

0

0

66

1

0.8

1

1

1

1

1

1

0

1

0

0

67

1

1

1

1

1

1

1

1

1

0

0

0

68

0.4

0.6

1

1

1

1

1

0.7

0

0

1

0

69

0

0

0.2

1

0.3

1

0.6

0.8

0

0

0

1

70

1

0.6

1

0.4

1

1

0.2

1

0

0

1

0

71

0.4

0.4

1

0.2

0

1

0.5

1

0

0

0

1

72

1

1

0.4

1

0.6

0.4

1

1

0

0

1

0

73

0.7

1

1

1

1

1

1

0.6

0

0

1

0

74

1

0.8

0.6

1

1

1

0.4

1

0

0

1

0

75

0.6

1

1

1

1

1

1

1

0

1

0

0

76

1

1

1

1

1

1

1

1

1

0

0

0

77

0.4

1

1

0.6

1

0.7

1

0.4

0

0

0

1

78

0.3

0.7

0.4

0

0.6

1

1

1

0

0

0

1

79

1

1

0.4

1

0.6

1

1

0.4

0

0

1

0

80

1

1

1

1

1

1

1

1

1

0

0

0

81

0.7

1

1

1

1

1

1

1

0

1

0

0

82

1

1

0.3

1

1

1

1

1

0

1

0

0

83

1

1

0.4

1

1

1

1

1

0

1

0

0

84

0.2

0.5

0.8

1

1

0.6

0

0

0

0

0

1

85

1

1

1

1

1

0.4

1

1

0

1

0

0

86

0.8

0.6

1

0.7

0

0

1

0.4

0

0

0

1

87

0.2

1

1

1

1

1

1

0.4

0

0

1

0

88

1

1

0.4

1

0.3

1

1

1

0

0

1

0

89

0.8

0.6

1

1

1

0.6

1

1

0

0

1

0

90

0.3

1

1

1

0.4

1

1

0.4

0

0

1

0

91

1

0.6

1

0.4

1

0.8

1

1

0

0

1

0

92

1

0.2

1

1

1

1

1

1

0

1

0

0

93

0

1

0.5

1

0.4

0.6

1

0.4

0

0

0

1

94

0.6

1

1

1

1

1

1

1

0

1

0

0

95

0.2

0.4

0

0

0

1

0.6

0.6

0

0

0

1

96

1

0.5

1

1

0.4

1

1

1

0

0

1

0

97

1

1

0.4

1

1

1

1

1

0

1

0

0

98

1

1

1

1

1

1

1

0.3

0

1

0

0

99

1

0.7

1

1

1

1

1

0.2

0

0

1

0

100

1

1

0.6

1

0.8

1

1

1

0

0

1

0

101

1

1

1

1

1

0.7

0.4

0.6

0

0

1

0

102

0.4

1

1

1

1

1

1

1

0

1

0

0

103

0.2

1

0

0.2

0

0

1

0.3

0

0

0

1

104

1

1

1

1

0.2

1

1

1

0

1

0

0

105

0.2

1

0.4

1

1

1

0.6

1

0

0

1

0

106

1

1

0

1

1

1

1

1

0

1

0

0

107

1

1

1

1

0.5

1

1

1

0

1

0

0

108

0.4

0.2

0

0.6

1

1

0.5

1

0

0

0

1

109

1

1

1

1

1

1

1

1

1

0

0

0

110

1

0.4

1

0.3

0.4

1

1

1

0

0

1

0

111

0.2

1

1

1

1

1

1

1

0

1

0

0

112

0.6

1

0.4

1

0.2

1

1

1

0

0

1

0

113

1

0.8

1

1

1

1

1

1

0

1

0

0

114

1

1

1

1

0.2

1

0

1

0

0

1

0

115

1

1

1

1

1

1

1

1

1

0

0

0

116

1

1

0.6

1

1

1

1

1

0

1

0

0

117

1

1

1

1

1

1

1

1

1

0

0

0

118

0.7

1

1

0.6

0.7

1

0.8

1

0

0

0

1

119

1

1

1

1

1

1

1

0.7

0

1

0

0

120

1

0.8

1

1

0.7

1

1

1

0

0

1

0

121

1

1

0.4

1

1

1

1

1

0

1

0

0

122

0.2

1

0.3

1

1

1

1

1

0

0

1

0

123

0.3

1

1

1

1

1

1

1

0

1

0

0

124

0.6

1

1

1

0.6

1

1

1

0

0

1

0

125

1

1

0

1

1

1

1

1

0

1

0

0

126

1

1

0

0.1

0

1

1

1

0

0

1

0

127

1

0.6

1

1

1

1

1

1

0

1

0

0

128

1

0.5

1

1

0.2

1

1

0.3

0

0

1

0

129

1

1

1

1

1

1

1

1

1

0

0

0

130

0.2

0.4

1

1

1

0.4

1

1

0

0

1

0

131

1

0.6

1

0.3

1

1

1

1

0

0

1

0

132

1

1

1

1

1

1

0.8

1

0

1

0

0

133

1

1

1

1

1

0.6

1

1

0

1

0

0

134

0.5

0.6

1

1

0.3

1

1

1

0

0

1

0

135

1

1

1

0.7

1

1

1

1

0

1

0

0

136

1

1

1

1

1

1

1

1

1

0

0

0

137

1

1

0.4

1

1

1

1

1

0

1

0

0

138

0.3

1

0.6

1

0.2

0.4

0

0

0

0

0

1

139

0

0.4

0.5

0.3

0.1

0

0

0

0

0

0

1

140

1

1

1

1

0.5

1

1

1

0

1

0

0

141

1

1

1

1

0.6

1

1

1

0

1

0

0

142

0.6

1

1

1

1

1

1

1

0

1

0

0

143

1

0.6

1

1

0.9

1

1

1

0

0

1

0

144

1

1

1

0.6

1

1

1

1

0

1

0

0

145

0.1

1

0.1

1

1

1

1

0.1

0

0

1

0

146

1

1

1

1

1

1

1

1

1

0

0

0

147

0.8

1

1

1

1

0.7

0.6

0.8

0

0

0

1

148

0.4

1

1

1

1

1

1

1

0

1

0

0

149

1

1

1

1

1

1

1

1

1

0

0

0

150

1

1

0.4

1

0.4

1

0.3

1

0

0

1

0

151

1

1

0.3

1

1

1

0.2

1

0

0

1

0

152

1

1

1

1

1

1

1

1

1

0

0

0

153

1

1

0.4

1

0.3

0.6

1

1

0

0

1

0

154

0.2

0.6

0.6

0

0

1

0.5

1

0

0

0

1

155

1

0.4

0.2

1

1

1

1

1

0

0

1

0

156

0.7

1

1

1

1

1

1

1

0

1

0

0

157

1

1

1

1

1

1

1

1

1

0

0

0

158

1

1

1

0.4

1

1

1

1

0

1

0

0

159

0.8

1

1

1

1

0.6

1

1

0

0

1

0

160

0.6

1

0.6

1

0.7

1

1

0.8

0

0

0

1

161

1

1

1

0.5

0.5

1

0.8

1

0

0

1

0

162

0.2

1

1

1

1

1

1

1

0

1

0

0

163

1

1

0.3

1

1

1

1

1

0

1

0

0

164

1

0.8

1

0.4

1

1

1

0.3

0

0

1

0

165

0

1

1

1

1

1

0.1

1

0

0

1

0

166

0.2

1

1

1

0.3

1

0.1

0.4

0

0

0

1

167

0.4

1

0.4

1

1

1

1

1

0

0

1

0

168

1

0.6

1

1

0.4

1

1

0.8

0

0

1

0

169

1

1

1

1

0.7

1

1

1

0

1

0

0

170

1

1

0.6

0.5

1

1

0.7

1

0

0

1

0

171

0

0

0

0.1

0.2

0.4

0.6

0

0

0

0

1

172

0.4

0.4

1

0.3

1

1

1

1

0

0

1

0

173

1

1

1

0.6

1

0.7

0.4

1

0

0

1

0

174

1

1

1

1

1

1

1

1

1

0

0

0

175

1

1

0.6

0.5

1

1

1

0.6

0

0

1

0

176

0.3

1

0.4

1

0.6

0.5

0

0

0

0

0

1

177

1

1

0.7

1

1

1

0.7

1

0

0

1

0

178

0.4

0.6

0.2

0

0

0

0.8

1

0

0

0

1

179

0.8

1

1

1

1

1

0.8

1

0

0

1

0

180

1

0.5

1

1

1

0.4

1

1

0

0

1

0

181

1

1

0.3

1

1

1

1

1

0

1

0

0

182

1

1

1

1

1

1

1

1

1

0

0

0

183

0.4

1

1

1

0.2

1

1

1

0

0

1

0

184

1

1

1

1

0.2

1

1

1

0

1

0

0

185

1

0.3

1

1

1

0.3

1

1

0

0

1

0

186

1

1

1

1

1

1

1

1

1

0

0

0

187

1

0.6

1

0.4

1

1

1

0.7

0

0

1

0

188

0.6

0.4

0.2

1

0.2

0

0

1

0

0

0

1

189

0

1

1

1

0.1

1

1

1

0

0

1

0

190

1

1

1

1

1

1

1

1

1

0

0

0

191

1

1

1

0.4

0.4

1

1

1

0

0

1

0

192

1

1

1

1

1

1

1

1

1

0

0

0

193

1

0.6

0.4

1

1

1

1

0.2

0

0

1

0

194

1

1

1

1

1

1

0

1

0

1

0

0

195

1

1

0.2

0.4

0.6

0.2

0

0

0

0

0

1

196

1

1

0.3

1

1

1

1

1

0

1

0

0

197

0.6

1

1

1

1

1

1

0.8

0

0

1

0

198

0.3

1

1

1

1

1

1

1

0

1

0

0

199

1

1

0.3

1

1

1

1

1

0

1

0

0

200

1

1

1

1

1

1

1

1

1

0

0

0

201

1

1

1

0.2

1

1

0.2

1

0

0

1

0

202

1

1

1

0.1

1

0.4

0.2

1

0

0

1

0

203

1

1

0.5

0

0.4

1

0.3

0.4

0

0

0

1

204

1

0.6

1

0.4

1

1

1

0.3

0

0

1

0

205

1

1

1

1

1

1

0.6

1

0

1

0

0

206

0.4

0.8

0.4

0.2

0

0

0

0

0

0

0

1

207

0.6

1

1

0.4

1

1

0.2

0.3

0

0

0

1

208

1

1

0.7

0.3

0.6

0

0

0.3

0

0

0

1

209

1

1

1

1

1

1

1

0.5

0

1

0

0

210

1

1

1

0.5

1

1

1

1

0

1

0

0

211

1

1

0.3

1

0.8

1

0.4

1

0

0

1

0

212

0.4

1

1

0.2

1

1

0.2

1

0

0

1

0

213

1

1

1

0.7

1

1

1

1

0

1

0

0

214

1

1

1

1

0.8

1

0.2

1

0

0

1

0

215

1

0.6

1

0.4

1

0.2

1

1

0

0

1

0

216

1

1

1

0.2

1

0.4

1

1

0

0

1

0

217

1

1

1

0.6

1

1

0.4

0.3

0

0

1

0

218

1

1

1

1

1

1

1

1

1

0

0

0

219

0.2

0

0

0

0.6

0.4

0

1

0

0

0

1

220

1

1

1

1

1

1

0.7

1

0

1

0

0

221

1

0.8

1

0.7

1

0.8

0.7

1

0

0

0

1

222

1

1

1

1

1

1

0.6

0.8

0

0

1

0

223

1

1

1

0.6

1

0.4

1

0.4

0

0

1

0

224

1

0.7

1

0.2

0.4

1

0

1

0

0

0

1

225

0.7

1

1

1

1

1

0.3

0.4

0

0

1

0

226

1

0.6

1

0.4

1

1

0.2

1

0

0

1

0

227

1

1

1

0.6

1

1

0.5

0

0

0

1

0

228

1

1

0.8

1

1

0.2

1

0.3

0

0

1

0

229

0.8

1

1

0

0

0

0.2

0.6

0

0

0

1

230

0

1

0.4

0.3

1

0.3

0.2

0

0

0

0

1

231

1

1

1

1

0.5

0.4

1

0.4

0

0

1

0

232

1

1

1

1

1

1

1

0.9

0

1

0

0

233

1

1

1

1

1

1

0.6

1

0

1

0

0

234

1

1

1

1

1

1

1

1

1

0

0

0

235

1

1

1

0.7

1

0.8

0.8

0.9

0

0

0

1

236

1

1

1

1

1

1

1

1

1

0

0

0

237

1

1

1

1

1

1

0

1

0

1

0

0

238

1

1

1

1

1

1

0

0

0

0

1

0

239

1

0.7

1

1

0.8

1

1

1

0

0

1

0

240

0

0

0.6

0.5

0.4

0.2

0

0

0

0

0

1

241

0.4

1

1

0.3

1

0.4

1

0.2

0

0

0

1

242

1

1

1

0.6

1

1

1

1

0

1

0

0

243

1

1

1

1

1

1

1

0.4

0

1

0

0

244

1

0.4

1

0.7

1

0.7

1

1

0

0

1

0

245

1

1

1

0.4

1

1

0.3

0.3

0

0

1

0

246

1

1

0.1

1

1

1

0.2

1

0

0

1

0

247

1

1

1

1

1

1

1

1

1

0

0

0

248

1

1

1

1

1

1

1

1

1

0

0

0

249

1

1

1

1

1

1

1

0.2

0

1

0

0

250

1

1

1

1

1

0.5

1

1

0

1

0

0

251

1

1

0.4

1

0.5

1

0.2

1

0

0

1

0

252

0

0

0

0.6

1

0.4

0.2

0.4

0

0

0

1

253

0

0

1

0.4

0.7

0.2

0.2

0

0

0

0

1

254

1

1

1

0.4

1

1

0.6

0.1

0

0

1

0

255

1

1

1

1

1

1

0

1

0

1

0

0

256

1

1

0.7

0.6

0

0

0.3

0.4

0

0

0

1

257

1

0.4

1

1

0.6

0.5

1

1

0

0

1

0

258

1

1

1

1

1

1

1

1

1

0

0

0

259

1

1

1

0.2

1

1

0.4

0.1

0

0

1

0

260

0.5

1

1

0.4

1

1

0.3

1

0

0

1

0

261

0.6

1

1

1

0.2

1

0.1

0.3

0

0

0

1

262

0.8

0.5

1

0.1

0

0

0.3

1

0

0

0

1

263

1

1

1

1

0.8

0.7

1

1

0

0

1

0

264

1

1

1

1

1

0.4

1

1

0

1

0

0

265

0.6

1

1

0.5

1

0.6

0.4

0

0

0

0

1

266

1

1

0.6

1

1

1

1

1

0

1

0

0

267

0.9

1

0.8

1

1

0.9

1

0.9

0

0

0

1

268

1

1

1

1

1

1

0.5

1

0

1

0

0

269

1

1

1

1

1

1

1

1

1

0

0

0

270

1

1

1

1

1

1

1

1

1

0

0

0

271

1

1

1

1

1

1

0.7

1

0

1

0

0

272

1

1

1

1

1

1

1

1

1

0

0

0

273

1

0.4

1

0.2

1

1

0.3

1

0

0

1

0

274

1

1

1

1

1

0.4

0.2

0

0

0

1

0

275

0

0

0

0.7

0.2

0.2

0

0

0

0

0

1

276

0

1

0.6

0.2

1

0.4

1

0.3

0

0

0

1

277

1

1

1

0.1

1

1

0.1

1

0

0

1

0

278

1

1

1

0.8

1

1

1

1

0

1

0

0

279

1

1

1

1

1

1

1

1

1

0

0

0

280

1

1

0.4

0

0.8

1

0.6

0.4

0

0

0

1

281

1

0.7

1

1

0.9

1

1

1

0

0

1

0

282

1

1

1

1

0.4

0.4

0.3

0.5

0

0

0

1

283

1

0.4

1

1

0.5

0.5

1

1

0

0

1

0

284

1

1

1

1

1

0.9

1

0.7

0

0

1

0

285

1

1

0.4

0.5

1

1

0.2

1

0

0

1

0

286

1

1

1

0.1

1

1

1

1

0

1

0

0

287

0

0.4

1

0.5

0.3

1

1

0.5

0

0

0

1

288

1

1

1

1

1

1

0.8

1

0

1

0

0

289

1

1

1

1

1

1

1

1

1

0

0

0

290

1

1

1

0.4

1

1

0.6

0.3

0

0

1

0

291

1

1

0.5

1

1

1

1

1

0

1

0

0

292

0.7

1

1

0.4

0

0

0.2

0

0

0

0

1

293

0.8

1

1

1

0.8

1

1

1

0

0

1

0

294

1

0.4

1

0.3

1

1

0.5

1

0

0

1

0

295

1

1

1

0

1

1

1

1

0

1

0

0

296

1

1

1

1

1

1

1

1

1

0

0

0

Основываясь на этих данных в работе созданы и обучены несколько нейронных сетей.

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

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

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

Во всех случаях ошибка распознавания не превышала 0.3.

Первая сеть V99 была обучена на первых 99 образцах, разделенных на обучающую и контролирующую последовательности. График общей ошибки обучения приведен на рис. 2. Затем для распознавания сети были предложены:

а). общая последовательность из 99 первых образов (P99),

б). последовательность оставшихся 197 образов (P197),

в). общая последовательность из 296 образов (P296).

На рис. 3 приведены диаграммы ошибок распознавания по каждому образцу.

Результаты распознавания представлены в таблице 2.

Таблица 2. Результаты распознавания сетью V99

а). общая последовательность из 99 первых образов (P99),

Оценка

Оценка сети

преподавателя

С 5

4

3

2

Всего

У 5

15

15

4

1

17

3

21

3

1

30

6

37

2

4

22

26

0

Всего

16

18

37

28

99

E =

84,85

G =

100,00

б). последовательность оставшихся 197 образов (P197),

Оценка

Оценка сети

преподавателя

С 5

4

3

2

Всего

У 5

27

27

4

7

29

16

2

54

3

4

12

35

26

77

2

8

31

39

Всего

38

41

59

59

197

E =

61,93

G =

96,95

в). общая последовательность из 296 образов (P296).

Оценка

Оценка сети

преподавателя

С 5

4

3

2

Всего

У 5

42

42

4

8

46

19

2

75

3

4

8

70

32

114

2

12

53

65

Всего

54

54

101

87

296

E =

71,28

G =

97,97

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

Например, в таблице 2а на пересечении строки У5 и столбца С5 стоит число 15. Это означает, что 15 студентов получили оценку 5 и у сети и у преподавателя. На пересечении строки У4 и столбца С5 стоит 1, значит одному студенту преподаватель поставил 4, а сеть 5.

Рассчитаем следующие параметры:

E - количество оценок, проставленных сетью абсолютно правильно,

G - количество случаев, когда сеть ошиблась только на один балл (это вполне приемлемо в нашем случае, поскольку обучающая последовательность образов достаточно небольшая).

Определим E как процентное отношение числа правильно поставленных сетью оценок к общему числу распознаваемых образов. Аналогично определим G как процентное отношение числа оценок, поставленных сетью с ошибкой в один балл, к общему числу распознаваемых образов.

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

Еще одна сеть V197-1 была обучена на следующих 98 образцах (P197-1), разделенных на обучающую и контролирующую последовательности. Для распознавания этой сети были предложены:

а). общая последовательность 98 образов (P197-1),

б). последовательность оставшихся 196 образов (P197a),

в). общая последовательность из 296 образов (P296).

На рис. 4 приведены диаграммы ошибок распознавания по каждому образцу.

Результаты распознавания представлены в таблице 3.

Таблица 3. Результаты распознавания сетью V197-1

а). общая последовательность 98 образов (P197-1),

Оценка преподавателя

Оценка сети

С 5

4

3

2

Всего

У 5

14

14

4

27

3

30

3

11

29

40

2

3

11

14

Всего

14

38

35

11

98

E =

82,65

G =

100,00

б). последовательность оставшихся 196 образов (P197a),

Оценка преподавателя

Оценка сети

С 5

4

3

2

Всего

У 5

28

28

4

2

31

8

3

44

3

4

28

41

73

2

5

20

26

51

Всего

34

64

69

29

196

E =

64,29

G =

93,88

в). общая последовательность из 296 образов (P296).

Оценка преподавателя

Оценка сети

С 5

4

3

2

Всего

У 5

42

42

4

6

59

10

75

3

1

39

74

114

2

4

24

37

65

Всего

49

102

108

37

296

E =

71,62

G =

98,31

Следующая сеть V197-2 была обучена на оставшихся 99 образах (P197-2), разделенных на обучающую и контролирующую последовательности. Для распознавания этой сети были предложены:

а). общая последовательность 99 образов (P197-2),

б). последовательность оставшихся 195 образов (P197b),

в). общая последовательность из 296 образов (P296).

На рис. 5 приведены диаграммы ошибок распознавания по каждому образцу.

Результаты распознавания представлены в таблице 4.

Таблица 4. Результаты распознавания сетью V197-2

а). общая последовательность 99 образов (P197-2),

Оценка преподавателя

Оценка сети

С 5

4

3

2

Всего

У 5

13

13

4

2

20

2

24

3

2

1

33

1

37

2

2

3

20

25

Всего

17

23

38

21

99

E =

86,87

G =

95,96

б). последовательность оставшихся 195 образов (P197b),

Оценка Преподавателя

Оценка сети

С 5

4

3

2

Всего

У 5

29

29

4

12

30

8

50

3

5

23

43

5

76

2

10

12

18

40

Всего

46

63

63

23

195

E =

61,54

G =

92,31

в). общая последовательность из 296 образов (P296).

Оценка Преподавателя

Оценка сети

С 5

4

3

2

Всего

У 5

42

42

4

13

53

9

75

3

7

25

79

3

114

2

11

16

38

65

Всего

62

89

104

41

296

E =

71,62

G =

93,92

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

Таблица 5. Оценки качества распознавания классов

(V99-P99)

(V99-P197)

(V99-P296)

E

84,85

61,93

71,28

G

100,00

96,95

97,97

(V197-1-P197-1)

(V197-1-P197a)

(V197-1-P296)

E

82,65

64,29

71,62

G

100

93,88

98,31

(V197-2-P197-2)

(V197-2-P197b)

(V197-2-P296)

E

86,87

61,54

71,62

G

95,96

92,31

93,92

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

Следующая серия экспериментов была проведена на сети Кохонена.

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

Для этого была построена сеть Кохонена, состоящая из 2 слоев: входной слой из 8 элементов, соответственно количеству вопросов, и слой Кохонена из 16 элементов, представляющий собой сетку 4x4. Сеть была обучена на наборе образов P197. График ошибки обучения сети представлен на рис. 6. Как видно, средняя ошибка распознавания около 0.4.

После этого сети для распознавания была предложена последовательность образов P99, т.е. совершенно незнакомые сети образы.

Сеть распределила 99 образов по 16 кластерам. Количество элементов в каждом кластере приведено в матрице Частоты побед (рис. 7). Положение ячеек матрицы соответствует расположению кластеров на топологической карте. Т.е. ячейка, находящаяся на пересечении 2 столбца и 3 строки матрицы, отображает количество элементов в кластере расположенном во 2 столбце в 3 строке топологической карты.

После окончания работы сети был проведен анализ результатов. Просматривался каждый образец и значение его выхода, установленное учителем. Затем этот образец выполнялся на топологической карте и таким образом сеть показывала кластер, к которому принадлежит этот образец. Соответственно значению выходов образцов, которых больше всего в данном кластере, кластеру присваивалось имя. Так, если в кластере больше образцов со значением выхода 5 (т.е. выходной вектор, определенный учителем, 1000), кластеру присваивалось имя «5». Топологическая карта с проименованными кластерами приведена на рис. 8.

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

5

4

3

2

Количество оценок, проставленных сетью

24

23

32

20

Количество оценок, проставленных преподавателем

15

21

37

26

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

D = (15+21+32+20) / 99 = 0.89

Это оптимистичная оценка распознавания сети.

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

D1 = 0.83.

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

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

Результаты экспериментов позволяют сделать следующие выводы.

Полученные сети обладают высокой степенью распознавания образов (не менее 70 %).

Для повышения качества работы сети необходимо собрать большое число статистических данных.

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

Глава 9. Методика представления, архивирования и обработки обучающей последовательности для алгоритмов обучения нейросетей

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

Последовательность образов для нейронных сетей архивируется следующим образом:

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

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

Вместо символа табуляции можно использовать символ пробела.

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

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

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

Представление множественных классов

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

Метод заключается в следующем. Сеть имеет количество выходов равное количеству классов. Выход может принимать значение 1, только если образец принадлежит данному классу. Например, в задаче распознавания цветков ириса существуют 4 входных и 3 выходных атрибута. Причем каждый из этих выходных атрибутов имеет название (имя) одного из трех видов Ириса (Setosa, Versicolour, Virginica) и каждый образ имеет на выходе всего одно значение 1.0, а остальные значения выходов - 0.0.

Образы

Setosa

Versicolour

Virginica

...

1.0

0.0

0.0

...

0.0

1.0

0.0

...

0.0

0.0

1.0

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

Множество образов для обучения сети можно разделить на два подмножества:

1) обучающую последовательность, содержащую обучающие образы (Training patterns), для обучения сети и,

2) контролирующую последовательность, содержащую проверочные образы (Verification patterns), для проверки качественных характеристик функционирования обученной сети.

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

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

Пример начала файла последовательности для нейронной сети.

# Trajan v2.0 Patterns

no_inputs 4

no_outputs 3

no_patterns 150

no_verification 70

attributes

S. Length

S. Width

P. Length

P. Width

Setosa

Versicolour

Virginica

!01

5.1 3.5 1.4 0.2 1 0 0

!02

5.8 2.7 5.1 1.9 0 0 1

!03

5.8 2.8 5.1 2.4 0 0 1

Как видно в начале файла указываются все характеристики последовательности образов:

no_inputs число входных атрибутов,

no_outputs число выходных атрибутов,

no_patterns количество образов в общей последовательности,

no_verification количество образов в проверочной последовательности,

attributes указывает, что далее следуют имена атрибутов.

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

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

Глава 10. Возможности использования среды WWW для дистанционного обучения

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

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


Подобные документы

  • Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.

    дипломная работа [814,6 K], добавлен 29.09.2014

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

    дипломная работа [3,8 M], добавлен 27.06.2011

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

    курсовая работа [1,1 M], добавлен 06.12.2010

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

    реферат [162,9 K], добавлен 30.09.2013

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

    курсовая работа [2,6 M], добавлен 29.04.2009

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

    реферат [158,2 K], добавлен 16.03.2011

  • Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.

    контрольная работа [135,5 K], добавлен 30.11.2015

  • Искусственные нейронные сети как вид математических моделей, построенных по принципу организации и функционирования сетей нервных клеток мозга. Виды сетей: полносвязные, многослойные. Классификация и аппроксимация. Алгоритм обратного распространения.

    реферат [270,4 K], добавлен 07.03.2009

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

    реферат [136,2 K], добавлен 25.04.2016

  • Рождение искусственного интеллекта. История развития нейронных сетей, эволюционного программирования, нечеткой логики. Генетические алгоритмы, их применение. Искусственный интеллект, нейронные сети, эволюционное программирование и нечеткая логика сейчас.

    реферат [78,9 K], добавлен 22.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.