На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Декабря 2024

Система компьютерного контроля знаний с использованием нейронных сетей

Статья опубликована в выпуске журнала № 2 за 2009 год.
Аннотация:
Abstract:
Автор: Титов А.М. () -
Ключевые слова: контроль знаний, генетические алгоритмы, нейронные сети, java
Keywords: , genetic algorithm, neural network, java
Количество просмотров: 13850
Версия для печати
Выпуск в формате PDF (4.72Мб)

Размер шрифта:       Шрифт:

В статье рассматриваются вопросы реализации нейросетевых технологий компьютерного контроля знаний (ККЗ). Нейросетевой алгоритм ККЗ предполагает использование нейронных сетей (НС) для определения качества подготовки обучаемого (выставления оценки) [1].

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

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

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

Для анализа НС строится набор нечетких высказываний, каждое из которых содержит два типа лингвистических переменных: контекстная значимость и контекстная утилитарность. Приведенный алгоритм объяснения решений НС основан на алгоритме, предложенном в [2].

Созданные алгоритмы были реализованы в разработанной диалоговой системе анализа и синтеза стандартизированных и нейросетевых алгоритмов ККЗ «ДИАНИС».

В качестве языка программирования был выбран язык Java. Для реализации НС использована библиотека JOONE (Java Object Oriented Neural Engine – объектно-ориентированная технология работы с НС). Это свободная библиотека, позволяющая создавать, обучать и тестировать НС. Библиотека JOONE имеет следующие преимущества:

·    поддержка широкого спектра НС;

·    наличие различных алгоритмов обучения НС с поощрением;

·    поддержка НС Кохонена и анализа главных компонент;

·    создание модульных НС;

·    наличие механизма сериализации, позволяющего передавать НС на другие компьютеры;

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

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

·     механизм событий и извещений.

Для работы с ГА была использована библиотека JGAP (Java-библиотека ГА и программ). Она предназначена для моделирования основных генетических механизмов и может использоваться для решения задач эволюционными методами.

Ключевым звеном ГА в JGAP является понятие «хромосома» (тип «Chromosome»). Хромосома кодирует возможное решение и состоит из множества генов (тип «Gene»). В библиотеке JGAP различные аспекты решения задачи представляются как единое целое (приблизительно так же, как человеческие гены представляют различные признаки человека, такие как цвет волос или глаз). В процессе эволюции, эмулируемом в JGAP, хромосомы подвергаются воздействию генетических операторов (скрещиванию, мутации и т.д.), а затем отбираются для создания следующего поколения согласно значениям их ФП. Процесс эволюции в библиотеке JGAP был смоделирован так, чтобы максимально подражать процессам, происходящим в живой природе, с целью получения наилучшего решения задачи.

Для решения задачи при помощи JGAP необходимо выполнить ряд шагов.

Шаг 1. Определить, как будет представляться решение при помощи последовательности генов, а также задать тип значения, которое могут принимать объекты «Gene», то есть выбрать соответствующий тип гена. Допускается использование различных типов генов в рамках одной хромосомы.

Шаг 2. Реализовать ФП в виде программного кода. Значение ФП должно быть тем выше, чем выше качество решения задачи. Для этого необходимо реализовать подкласс класса «FitnessFunc­tion». В подклассе необходимо переопределить метод «evaluate», принимающий в качестве аргумента хромосому и возвращающий в качестве результата число с плавающей точкой (тип «double»).

Шаг 3. Создать, сконфигурировать и инициализировать объекты библиотеки JGAP, а именно:

−    объект класса Configuration – содержит основные настройки ГА; базовая реализация, содержащая настройки по умолчанию, предоставляется классом DefaultConfiguration;

−    объект, реализующий ФП (подкласс класса «FitnessFunction»);

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

Необходимо установить и размер популяции.

Шаг 4. Создать начальную популяцию из хромосом, инициализированных случайным образом. Для большинства задач это оптимальный вариант создания начальной популяции.

Шаг 5. Запустить процесс эволюции. На каждой итерации процесса можно контролировать, найдено ли оптимальное решение.

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

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

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

В системе «ДИАНИС» контроль знаний осуществляется по некоторому курсу (учебной дисциплине) и основан на результатах контроля знаний отдельных положений (тем), входящих в этот курс. Контроль знаний, в свою очередь, основан на контроле степени истинности ответов на вопросы теста. Таким образом, задача контроля знаний разбивается на три подзадачи:

1)  контроль истинности ответа на вопрос;

2)  определение уровня знания положений по ответам на вопросы;

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

В системе «ДИАНИС» все подзадачи могут решаться с применением НС.

На рисунке 2 показаны основные объекты, которыми оперирует программа.

Программа выполнена в виде web-приложе­ния. Для доступа к ней необходим web-браузер. В адресной строке нужно набрать адрес приложения (определяется при установке).

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

Разработанная система имеет следующие ключевые особенности:

·     трехуровневый контроль знаний (контроль уровня знаний вопроса, темы и курса);

·     Подпись: Рис. 1. Трехзвенная архитектура системы «ДИАНИС»
инструменты синтеза и анализа нейросетевых и стандартизированных алгоритмов ККЗ;

·     адаптивный выбор вопросов – экономия времени при тестировании без потери качества;

·     возможность применения нейросетевого и стандартизированного алгоритмов контроля на уровне курса и темы;

·     ГА формирования обучающей последовательности при обучении НС;

·     наличие механизма объяснения выводов НС.

Подпись: Рис. 2. Взаимосвязь основных объектов
системы «ДИАНИС»
Система «ДИАНИС» использовалась для проведения ККЗ. При помощи разработанных алгоритмов посредством системы «ДИАНИС» создан курс, заполнена база вопросов и создана обучающая последовательность из образов, классифицированных преподавателем. По сформированной обучающей последовательности была обучена НС. Топология сети оптимизировалась при помощи ГА. Среди студентов 5-го курса Московского института радиотехники, электроники и автоматики (технического университета) был проведен ККЗ. Выполнено сравнение процента оценок, корректно выставленных нейросетевым алгоритмом, в котором НС обучалась по последовательности, созданной при помощи разработанного алгоритма, и стандартизированным алгоритмом. Также сравнивался процент оценок, корректно выставленных нейросетевым алгоритмом, в котором НС обучалась по последовательности, созданной при помощи разработанного алгоритма, и нейросетевым алгоритмом, в котором НС обучалась по последовательности, созданной без применения разработанного алгоритма (созданной преподавателем или сформированной случайно). Результаты сравнения успешно распознанных образов:

·     стандартизированный алгоритм – 74 %;

·     нейросетевые алгоритмы: выборка преподавателя – 89 %, случайная выборка (среднее значение) – 83 %, разработанный алгоритм – 94 %.

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

Система ККЗ «ДИАНИС» зарегистрирована в Отраслевом фонде алгоритмов и программ (свидетельство № 11321).

Литература

1.   Свиридов А.П. Основы статистической теории обучения и контроля знаний. M.: Высш. шк., 1981. 262 с.

2.   Kary Främling. Explaining Results of Neural Networks by Contextual Importance and Utility.: Proceedings of the AISB'96 conference – UK, Brighton. 1–2 April, 1996.

3.   Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы; пер. с польск. И.Д. Рудинского. М.: Горячая линия – Телеком, 2007. 452 с.


Постоянный адрес статьи:
http://swsys.ru/index.php?id=2268&like=1&page=article
Версия для печати
Выпуск в формате PDF (4.72Мб)
Статья опубликована в выпуске журнала № 2 за 2009 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: