76059

Прогнозирование оценки за экзамен

Курсовая

Информатика, кибернетика и программирование

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

Русский

2015-01-28

3.5 MB

2 чел.

Федеральное государственное образовательное учреждение

высшего профессионального образования

«Российский государственный университет туризма и сервиса»

в г. Перми

Курсовая работа по дисциплине

«Интеллектуальные информационные системы»

Тема: «Прогнозирование оценки за экзамен»

                                                                   

Выполнила:

Ситникова А.А.

Группа КО 28.003/05

Научный руководитель:

Ясницкий Л.Н.

г. Пермь

2008 г

Введение

[0.1] Введение

[0.2] Глава 1. Искусственный интеллект.

[0.3] 1.1 История ИИ

[0.4] 1.2 Современность.

[0.5] 2.Глава. Практическое применение нейронных сетей при анализе результата экзаменационной оценки.

[0.6] 2.1.Постановка задачи

[0.7] 2.2.Обучение персептрона

[0.8] Переходим к программе нейросимулятор.

[0.9] 2.3. Анализ полученных результатов

[0.10]
2.4. Показатели значимости некоторых параметров на результат (оценку)

[0.11]
Заключение

[0.12]
Список используемой литературы


Введение

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

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

 Целью  моей работы: показать, можно ли использовать нейронные сети и эффективно ли их применение в данной области.

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

  - провести обучение одного из нейросимуляторов ;

-проанализировать  работу нейросимулятора;

-сделать выводы можно ли применять его в исследуемой области.

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

Работа будет состоять из двух частей. Первая часть – это теория нейронных сетей, вторая часть – обучить нейросимулятор принимать правильные  решения в заданной области.

Глава 1. Искусственный интеллект.

1.1 История ИИ

    Искусственный интеллект – это научная отрасль, занимающаяся исследованием и моделированием естественного интеллекта человека. Естественный интеллект человека является очень сложным объектом исследований и его моделирование осуществляется на разных уровнях абстрагирования [1]. Можно выделить три таких уровня, которым соответствуют три основные стратегии искусственного интеллекта:

  •  технология экспертных систем;  
  •  нейросетевые и нейрокомпьютерные технологии;
  •  технологии эволюционного (проявляющегося) моделирования.

    Самому высокому уровню абстрагирования соответствует технология экспертных систем – систем, основанных на явных знаниях о предметной области. Согласно этой стратегии знания о предметной области извлекаются из специалистов-экспертов, или других информационных источников. Именно человек-эксперт, обладающий знаниями о предметной области, способен действовать на самом высоком уровне. Его знания формализуются и закачиваются в программный комплекс – экспертную систему, которая на основе этих знаний делает логически обоснованные полезные выводы, тем самым, моделируя интеллект человека-эксперта. Именно эту стратегию впервые применил в XIII в. испанский ученый Раймунд Луллий.  Именно с нее берет начало область науки, называемая искусственным интеллектом.      

    На самом нижнем уровне абстрагирования лежат нейрокомпьютерные и нейросетевые технологии. Согласно этой стратегии строится модель, учитывающая структуру мозга, состоящего из множества нейронов, соединенных нервными волокнами. Знания поступают в такую модель в ходе ее обучения на специально подобранных примерах, характеризующих предметную область. Так же как и в мозге, знания хранятся в неявной форме – кодируются в виде множества сил синаптических связей, имитирующих электропроводность межнейронных соединений. Основоположниками этой стратегии, появившейся в середине XX в., являются американские ученые В.Мак-Каллок, В.Питтс и Ф.Розенблатт.

    Исторически первой была модель искусственного интеллекта, основанного на явных знаниях, которая безраздельно господствовала, начиная с XIII в. и до середины XX в. Появление персептрона  в 1940-х гг. и первые его успехи, были встречены с надеждами и энтузиазмом, который, однако, продержался недолго, и к середине 1980-х гг. подавляющее большинство систем искусственного интеллекта представляли собой экспертные системы, ориентированные на конкретные предметные области. Однако победа высокоуровневой стратегии оказалась временной. Конец XX в. и начало XXI в. ознаменовались широкомасштабным наступление нейросетевых и нейрокомпьютерных технологий. Причем, имело место как применение этих технологий в новых предметных областях, так и вытеснение экспертных систем из тех областей, где они традиционно применялись ранее.

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

    Третья стратегия, появившаяся на свет в середине 1970-х гг. благодаря работам профессора Мичиганского университета Дж. Холланда, навеяна Дарвиновской теорией возникновения и эволюции жизни на Земле. Эволюционные модели начинают свою работу с создания целой популяции особей – кандидатов на решение проблемы. Отдельные особи популяции оцениваются по определенному критерию, позволяющему отобрать лучшие, которые затем видоизменяются, наследуя положительные свойства родителей и образуя новые поколения. Этот подход предполагает поиск источника интеллекта в самом процессе эволюции и взаимодействия особей. Знания в эволюционных моделях приобретаются в ходе конкурентной борьбы между особями.

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

1.2 Современность.

Сегодня существует большое число различных конфигураций нейронных сетей с различными принципами функционирования, которые ориентированы на решение самых разных задач. В качестве примера рассмотрим многослойную полносвязанную нейронную сеть прямого распространения (рис. 1), которая широко используется для поиска закономерностей и классификации образов. Полносвязанной нейронной сетью называется многослойная структура, в которой каждый нейрон произвольного слоя связан со всеми нейронами предыдущего слоя, а в случае первого слоя — со всеми входами нейронной сети. Прямое распространение сигнала означает, что такая нейронная сеть не содержит петель [2].

Рис. 1. Пример многослойной полносвязанной нейронной сети прямого распространения сигнала

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

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

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

Уже сегодня искусственные нейронные сети используются во многих областях, но прежде чем их можно будет применять там, где на карту поставлены человеческие жизни или значительные материальные ресурсы, должны быть решены важные вопросы, касающиеся надежности их работы. Поэтому уровень допустимых ошибок следует определять исходя из природы самой задачи. Некоторые проблемы с анализом вопросов надежности возникают из-за допущения полной безошибочности компьютеров, тогда как искусственные нейронные сети могут быть неточны даже при их правильном функционировании. На самом же деле компьютеры, как и люди, тоже могут ошибаться. Первые — в силу различных технических проблем или ошибок в программах, вторые — из-за невнимательности, усталости или непрофессионализма. Следовательно, для особо критических задач необходимо, чтобы эти системы дублировали и страховали друг друга. А это значит, при решении таких задач нейронные сети должны выступать не в качестве единственных средств, а в качестве дополнительных, предупреждающих особые ситуации или берущих на себя управление, когда проблема не решается стандартным образом и какие-либо задержки могут привести к катастрофе [2].

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

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

2.Глава. Практическое применение нейронных сетей при анализе результата экзаменационной оценки.

2.1.Постановка задачи

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

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

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

Для своего исследования я использовала нейросимулятор, разработанный в ПГУ [1] созданный студентом IV курса ПГУ Черепановым Ф. под руководством Ясницкого Л.Н..Симулятор нейронных сетей «Нейросимулятор 1.0» свидетельство об отраслевой регистрации №8756. (Рис.2.)

Рис.2. Нейросимулятор

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

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

Приведем пример использования нейронных сетей при анализе определения оценки. На вход (Хn) подавались следующие параметры:

Х(n)

параметр

значение

студент

Х1

статус

отличник

0

среднечок

1

двоечник

2

Х2

знание предмета

>50%

0

50/50

1

не знает

2

Х3

% выученных  билетов

>70%

0

50-70%

1

10-50%

2

<10%

3

Х4

практика по предмету

есть

0

нет

1

Х5

пропусков

<50%

0

>50%

1

Х6

списывает

да

0

нет

1

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

Х7

отношение к студентам

отличное

0

безразлично

1

плохое

2

Х8

отношение к списыванию

разрешает

0

не разрешает

1

Х9

отношение к пропускам

важно

0

не важно

1

Х10

задает дополнительный вопрос

да

0

нет

1

Х11

характер

строгий

0

норма

1

спокойный

2

Х12

сложность предмета

нет

1

средней сложности

2

сложный

3

Х13

псих. состояние студента

нормальное

1

переживание/нервозность

2

Х14

аудитория

удобная для списывания

0

не удобная для списывания

1


На выходе результат сдачи экзамена:

Принятие решения

Не сдал

2

Удовлетворительно

3

Хорошо

4

Отлично

5

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

Обучающая выборка

Х1

Х2

Х3

Х4

Х5

Х6

Х7

Х8

Х9

Х10

Х11

Х12

Х13

Х14    

d

1

1

1

0

1

0

1

1

1

1

1

1

2

1

0

4

2

1

1

1

0

1

0

1

0

1

0

1

1

1

0

5

3

1

0

1

0

0

1

1

1

0

0

1

1

1

0

5

4

1

0

1

0

0

1

2

0

1

1

0

1

1

0

5

5

1

2

3

1

0

0

1

1

0

1

0

3

2

1

3

6

0

1

3

1

0

0

0

0

0

0

2

1

1

0

5

7

1

1

2

0

0

1

0

1

0

1

1

1

1

0

5

8

1

1

1

0

0

0

1

1

1

1

0

2

1

1

4

9

1

0

0

0

0

1

1

1

0

0

1

1

1

0

5

10

0

0

1

1

0

1

2

1

0

0

0

1

1

0

5

11

2

2

2

0

1

0

1

1

1

0

0

3

2

1

3

12

1

1

2

0

1

0

2

1

0

0

0

3

2

1

3

13

1

2

3

1

1

0

1

1

0

1

0

3

2

1

3

14

0

1

1

0

0

1

0

1

1

1

1

2

1

0

4

15

2

2

2

1

1

0

2

1

0

0

0

3

2

1

2

16

1

1

3

0

1

0

1

1

0

1

1

3

2

1

2

17

0

0

1

0

1

0

1

1

0

1

2

3

2

 1

2

18

1

1

0

0

1

2

2

1

0

0

0

3

2

1

3

19

2

2

3

0

1

0

0

0

0

1

1

2

1

0

4

20

1

1

1

0

0

1

1

1

1

1

1

2

1

0

4

21

0

1

1

0

1

1

1

1

1

0

1

2

1

0

4

22

0

1

0

0

1

1

0

0

1

1

2

1

1

0

5

23

2

2

3

1

1

1

0

0

1

1

1

3

2

1

2

24

2

1

2

1

0

1

1

1

1

0

0

3

2

1

3

25

1

2

3

1

1

0

2

1

0

0

1

3

2

1

2

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


Тестируемая выборка

Х1

Х2

Х3

Х4

Х5

Х6

Х7

Х8

Х9

Х10

Х11

Х12

Х13

Х14

d

1

0

1

2

0

0

1

1

1

1

1

1

1

1

0

5

2

1

1

1

0

0

1

2

1

1

1

1

2

1

0

4

3

1

1

2

1

1

0

1

0

1

0

0

3

2

1

3

4

2

2

3

1

1

0

1

1

0

0

2

3

2

1

2

2.2.Обучение персептрона

Переходим к программе нейросимулятор.

Для начала укажем общие параметры сети:

  1.  Задаем количество входных нейронов по количеству признаков, у нас их 14 штук;
  2.  Скрытых слоев указываем 1, если персептрон не будет обучаться то добавим слои ;
  3.  На выходе у нас только один нейрон, показывающий результат;
  4.  Количество нейронов на скрытом слое высчитываем по формуле:

Ny –число выходов = 1,

Nx –число входов = 14,

Nw – необходимое число синаптических весов

Q – число элементов обучающей выборки =25

Число скрытых  слоев = 1.

Подставив эти значения в формулу, получим:

4.4<Nw<44.5

Выбираем Nw желательно из середины интервала, но для более точного определения кол-ва нейронов возьмем несколько примеров: 13, 15, 17, 20, 23 и 25 нейронов на скрытом слое и попытаемся найти наиболее оптимальный вариант с минимальной погрешностью.

Итак, число нейронов на скрытом слое = 20.

Обучаем персептрон на всей совокупности примеров (25 наблюдений).  

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

Далее переходим на вкладку обучение и начинаем набирать данные из приведенной выше таблицы. Обучаем:

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

Для 20 нейронов значения «Обучающей выборки» выглядят следующим образом:

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

Для 20 нейронов значения «Тестируемой выборки» выглядят следующим образом:

Максимальная погрешность с 20 нейронами:

  •  0.0034 – в обучающей выборке;
  •  0.462 – в тестируемой выборке.

Повторяем тоже самое для всех остальных нейронов (13, 15, 17, 20, 23 и 25).Кол-во скрытых слоев мы не будем увеличивать, так как программа довольно хорошо обучается.

2.3. Анализ полученных результатов

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

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


Таблица 1

Коэффициент обучающей и тестируемой ошибки обучения

кол-во нейронов

обучающая выборка

тестируемая выборка

13

0,35

0,8

15

0,101

0,997

17

0,2

0,877

20

0,006

0,462

23

0,25

0,765

25

0,195

0,7126

Для лучшего представления создаем диаграмму.

Рис.1 Зависимость…..

Из диаграммы видно, что наилучшего результата можно получить используя 20 нейронов.

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

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

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


2.4. Показатели значимости некоторых параметров на результат (оценку)

Следующим шагом моей курсовой работы стало выявление наиболее значимых параметров (Хn).

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

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

Y1

0

1

2

0

0

1

1

1

1

1

1

1

1

0

1

1

2

0

0

1

1

1

1

1

1

1

1

0

2

1

2

0

0

1

1

1

1

1

1

1

1

0

 

Х1 – 0 – отличник, 1 – среднячок, 2 - двоечник

Х12 – 0 не сложный предмет,1 – средней сложности, 2 – сложный

Теперь изменяя значения сложности предмета у отличника, среднячка и двоечника.

Сложность предмета

не сложный(0)

средней сложности(1)

сложный(2)

Отличник (0)

4,8863

3,6089

2,6411

Среднячок (1)

4,7215

3,6963

2,3434

Двоечник (2)

4,4903

3,8945

2,6510

Мы можем выявить некоторые закономерности, которые для наглядности представляем в виде диограммы

Тоже самое можно проделать и с другими параметрами:


Заключение

Подведём итог проделанной работы.

В первой части работы я обобщила знания в области нейросетевых технологий.

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

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

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


Список используемой литературы

  1.  Ясницкий Л.Н.Введение в искусственный интеллект:Учеб. пособие для студ. высш. учеб. заведений/Леонид Нахимович Ясницкий.-М.:Издательский центр «Академия», 2005.
  2.  Хайкин С. Нейронные сети. Издательство «Вильямс», 2005.-1104 с.
  3.  Черепанов Ф.М., Ясницкий Л.Н. ….


 

А также другие работы, которые могут Вас заинтересовать

80671. Организация сбытовой сети и системы товародвижения в маркетинге 53 KB
  В понятие сбыта включаются факторы: транспортировка складирование хранение доработка продвижение к розничным и оптовым торговым звеньям предпродажная подготовка собственно продажа.Проблемы эффективности рыночного поведения и развития предприятия Наиболее тесно предприятие соприкасается с потребителем в системе сбыта. Руководить предприятием эффективно быть постоянно ориентированным на нужды потребителя СИСТЕМА СБЫТА комплекс состоящий из сбытовой сети предприятия и тех каналов сбыта которые ею пользуются для продажи товаров....
80675. Планирование культуры экономической организации 186.5 KB
  Планирование организационной культуры - вид планирования, в определенном смысле противоположный процессу и результатам финансового планирования. Если финансовое планирование имеет дело с предельно точными, конкретными величинами, то планирование культуры связано с наименее определенным, слабо контролируемым элементом внутрифирменной среды. Основу культуры составляют человек, его поведение