49912

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

Курсовая

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

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

Русский

2014-01-12

372 KB

4 чел.

Федеральное агентство по образованию

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

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

ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ

ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет информатики и экономики

Кафедра прикладной информатики

КУРСОВАЯ РАБОТА

по искусственному интеллекту:

«Определение вероятности получить работу

с помощью нейросетевых технологий».

                                                   

ИСПОЛНИТЕЛЬ: студент  гр. 1233

Накаряков С.А.

НАУЧНЫЙ РУКОВОДИТЕЛЬ:

профессор Ясницкий Л.Н.

Пермь 2007


СОДЕРЖАНИЕ

     ВВЕДЕНИЕ

     ГЛАВА 1 НЕЙРОСЕТИ: ОСНОВНЫЕ ПОЛОЖЕНИЯ

  1.  Что такое нейронные сети?
    1.  Зачем нужны нейросети и нейрокомпьютеры?
    2.  Примеры использования нейросетей
    3.  Обзор программных продуктов

      ГЛАВА 2  ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ НЕЙРОСЕТЕВЫХ ТЕХОЛОГИЙ

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

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

    ЗАКЛЮЧЕНИЕ

    СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ


ВВЕДЕНИЕ

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

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

В настоящий момент выделяют несколько направлений развития искусственного интеллекта:

  •  Разработка интеллектуальных систем, основанных на знаниях;
  •  Нейросетевые и нейрокомпьютерные технологии;
  •  Распознавание образов;
  •  Игры и творчество;
  •  Компьютерная лингвистика;
  •  Интеллектуальные роботы;
  •  Компьютерные вирусы;
  •  Интеллектуальное математическое моделирование.

Рассмотрим нейросетевые технологии, которые и будут являться объектом данной курсовой работы. Для них главными принципами служат принципы работы головного мозга. Другими словами, нейротехнологии моделируют головной мозг человека. Исторически первой работой по созданию интеллектуальных устройств, которые моделируют не только работу, но и структуру, человеческого мозга, принято считать статью Мак-Каллока и Питтса. Эти авторы выдвинули гипотезу математического нейрона, моделирующего нейрон мозга человека. Далее идея Мак-Каллока-Питтса была материализована Фрэнком Розенблаттом [5]. Это устройство, имеющее в качестве элементной базы модельные нейроны Мак-Каллока-Питтса и названное персептроном, удалось обучить решению сложнейшей интеллектуальной задачи – распознаванию букв латинского алфавита[5]. Далее была усложнена структура персептрона, усовершенствована модель математического нейрона, разработано множество алгоритмов обучения, созданы персептроны на основе гибридных нейросетей, а так же расширился круг задач, решаемых с помощью нейросетей.

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

1.НЕЙРОСЕТИ: ОСНОВНЫЕ ПОЛОЖЕНИЯ 

1.1 Что такое нейронные сети?

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

Однако искусственные нейросети обладают рядом свойств, присущих биологическим нейросетям, в том числе и человеческому мозгу. Главное свойство нейросетей – способность к обучению. Для решения какой-либо задачи на компьютере традиционным методом необходимо знать правила (математические формулы), по которым из входных данных можно получит выходные (найти решение задачи). С помощью нейросети можно найти решение, не зная правил, а имея несколько примеров. Нейросети используют подход к решению задач более близкий к человеческому, чем традиционные вычисления. В самом деле, например, когда человек переходит улицу, он оценивает скорость движения автомобиле исходя из предыдущего опыта не используя математических вычислений. Или, например, как ребенок без труда может отличить кошку от собаки, основываясь на ранее виденных им примерах[3]. При этом часто он не может точно сказать, по каким признакам он их отличает, т.е. он не знает четкого алгоритма. Другое важное свойство нейросетей – способность находить решение, основываясь на зашумленных, искаженных и даже противоречивых данных! Еще одно замечательное свойство — это отказоустойчивость. В случае выхода из строя части нейронов, вся сеть в целом продолжает оставаться работоспособной, хотя, конечно, точность снижается. Это свойство важно для аппаратно реализованных нейросетей, т.к. если нейросеть эмулируется на традиционном компьютере, то в случае выхода из строя центрального процессора вся нейросеть потеряет работоспособность.
Нейронная сеть представляет собой совокупность большого числа сравнительно простых элементов - нейронов, топология соединений которых зависит от типа сети[3]. В основу искусственных нейронных сетей положены следующие черты живых нейронных сетей, позволяющие им хорошо справляться с нерегулярными задачами:

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

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

Нейрон получает от дендритов набор (вектор) входных сигналов. В теле нейрона оценивается суммарное значение входных сигналов. Однако входы нейрона неравнозначны. Каждый вход характеризуется некоторым весовым коэффициентом, определяющим важность поступающей по нему информации. Таким образом, нейрон не просто суммирует значения входных сигналов, а вычисляет скалярное произведение вектора входных сигналов и вектора весовых коэффициентов. Далее нейрон формирует выходной сигнал, интенсивность которого зависит от значения вычисленного скалярного произведения. Если оно не превышает некоторого заданного порога, то выходной сигнал не формируется вовсе - нейрон "не срабатывает". И затем выходной сигнал поступает на аксон и передается дендритам других нейронов[4].

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

1.2 Зачем нужны нейросети и нейрокомпьютеры? 

Вот несколько вариантов ответа на вопрос, зачем же нужны нейронные сети и нейрокомпьютеры.

  1.  Нейрокомпьютеры дают стандартный способ решения многих нестандартных задач. И неважно, что специализированная машина или программа лучше решит один класс задач. Важнее, что один нейрокомпьютер (нейроcимитатор) решит и эту задачу, и другую, и третью — и не надо каждый раз проектировать специализированную ЭВМ —нейрокомпьютер сделает все сам и почти не хуже.
  2.  Гибкость структуры: можно различными способами комбинировать простые составляющик нейрокомпьютеров - нейроны и связи между ними. За счет этого на одной элементной базе и даже внутри "тела" одного нейрокомпьютера можно создавать совершенно различные машины.
  3.   Нейронные сети позволяют создать эффективное программное обеспечение для высокопараллельных компьютеров. Для высокопараллельных машин хорошо известна проблема: как их эффективно использовать — как добиться, чтобы все элементы одновременно и без лишнего дублирования вычисляли что-нибудь полезное? Создавая математическое обеспечения на базе нейронных сетей, можно для широкого класса задач решить эту проблему.

1.3 Примеры использования нейросетей

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

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

  1.  отсутствует алгоритм или не известны принципы решения задач, но накоплено достаточное число примеров;
  2.  проблема характеризуется большими объемами входной информации;
  3.  данные неполны или избыточны, зашумлены, частично противоречивы.

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

  1.  Банки и страховые компании: 

автоматическое считывание чеков и финансовых документов;

проверка достоверности подписей;

оценка риска для займов;

прогнозирование изменений экономических показателей.

  1.  Административное обслуживание: 

автоматическое считывание документов;

автоматическое распознавание штриховых кодов.

  1.  Нефтяная и химическая промышленность: 

анализ геологической информации;

идентификация неисправностей оборудования;

разведка залежей минералов по данным аэрофотосъемок;

анализ составов примесей;

управление процессами.

  1.  Военная промышленность и аэронавтика: 

обработка звуковых сигналов (разделение, идентификация, локализация, устранение шума, интерпретация);

обработка радарных сигналов (распознавание целей, идентификация и локализация источников);

обработка инфракрасных сигналов (локализация);

обобщение информации;

автоматическое пилотирование.

  1.  Промышленное производство: 

управление манипуляторами;

управление качеством;

управление процессами;

обнаружение неисправностей;

адаптивная робототехника;

управление голосом.

  1.  Служба безопасности: 

распознавание лиц, голосов, отпечатков пальцев.

  1.  Биомедицинская промышленность: 

анализ рентгенограмм;

обнаружение отклонений в ЭКГ.

  1.  Телевидение и связь: 

адаптивное управление сетью связи;

сжатие и восстановление изображения.

Представленный перечень далеко не полон. Ежемесячно западные средства массовой информации сообщают о новых коммерческих продуктах на базе нейронных сетей. Так, фирма LIAC выпускает аппаратуру для контроля качества воды. Нейросистемы фирмы SAIC находят пластиковые бомбы в багаже авиапассажиров. Специалисты инвестиционного банка Citicomp (Лондон) с помощью программного нейропакета делают краткосрочные прогнозы колебаний курсов валют.

1.4 Обзор программных продуктов

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

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

NeuroSolution (NeuroDimension) [9]

Цена зависит от комплектации и предоставляемых возможностей и колеблется от $195 до $1995. Лицензия для коммерческого использования созданных продуктов - еще $1995. Дополнительный модуль ($195-1495 в зависимости от уровня основной программы) генерирует DLL-библиотеки нейросетей, созданных в NeuroSolution, а удовольствие работать непосредственно из Excel обойдется еще в $195. Широкий набор типов нейросетей (Multi Layer Perceptron, модульные MLP, симбиоз IIR-фильтров с MLP, гибридные нейросети, нейросети анализа главных компонентов - PCA, адаптивный фильтр, нейросети с обратными связями, Кохонен, LVQ и т. д.) и алгоритмов обучения: BPE, Momentum, QuickProp, а так же Sanger и Oja для PCA. Общее количество весовых коэффициентов - до одного миллиона. Симулятор прост в освоении, у него хорошая справочная система, прекрасный графический интерфейс.

Работа с этим нейросимулятором сродни игре в Lego, и создать НС можно четырьмя путями. Первый - с помощью wizard’а - очень полезен для начинающих. По ходу дела «помощник» будет выводить на экран множество информации о выбранной НС и окажет реальное содействие при создании нейросети с запланированной архитектурой. Другой путь - модифицировать прилагаемые демо-макросы. Третий - изменить макеты нейросетей из электронного руководства. Наконец, можно собирать (макетировать) НС «ручками», используя меню и пиктограммы.

NeuralWorks Pro II/Plus (Aspen Technology) [9]

Цена от $1995 до $4995 в зависимости от платформы (DOS, Windows, NT, Sun, RS6000, SGI) плюс $1,5-3 тыс. за консультации, обучение и поддержку. Судя по описанию, один из самых крутых - поддерживаются все известные типы нейросетей и алгоритмов обучения, включая разрабатываемые с использованием средств симулятора, обеспечивается автоматическая оптимизация спрятанного слоя нейронов, графически отображаются функционирование нейросетей и средства диагностики. Профессиональный вариант ($9995-14995), выполненный в виде специализированной среды разработки, позволяет генерировать исходный Си-код и использовать программирование на Си, то есть разрабатывать любые новые нейросети, а также включает пакеты для применений в реальном времени в совокупности с нечеткой логикой и генетическими алгоритмами.

MatLab + Neural Network Toolbox [7]
(MathWorks)

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

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

BrainMaker [8]
(California Scientific Software)

Цена пакета в Штатах варьируется от $195 за обычную версию до $795 за профессиональную (95/98/NT/2000). Реализована только MLP-нейросеть: до 512 нейронов в каждом слое, до 8 слоев, до 32К весов между слоями нейронов. Работает с форматами Excel, Lotus, dBase, ASCII, binary. В профи-версии добавлены «финансовые» форматы (CompuTrack, MetaStock, CSI), а также отображение тренда весов во времени, прунинг (шаманство с весовыми коэффициентами) и генерация Си-кода. Задействовано 32-битное ускорение вычислений за счет использования MMX-команд. Поддерживаются нейросетевые платы-ускорители, в частности производства Adaptive Solutions. Любопытная деталь: California Scientific Software не предлагает модные алгоритмы ускорения обучения, делая ставку на аппаратное ускорение, благо дешевеющие, но шустрые в векторно-матричных вычислениях DSP справляются с MLP отменно.

Демонстрация BrainMaker сделана в лучших традициях черно-белого кино (рис. 2), поиграть можно только рандомизацией весовых коэффициентов. Классический по архитектуре MLP не является идеальным предсказателем в сравнении со  специализированными нейросетями.

NeuroPro [8]
(Институт вычислительного моделирования СО РАН)

Реализована лишь MLP-нейросеть: до десяти слоев, до ста нейронов в каждом слое. Судя по поведению при обучении на прилагаемых данных, действительно работает нейросеть. Назначение пакета - классификация и прогнозирование. Сначала надо ввести файл входных данных (форматы: dBase, FoxBase, FoxPro, Clipper, Paradox), после чего затруднений с освоением возникнуть не должно. Предусмотрено сокращение количества нейронов, весов и входов усилиями самой программы. Недостаток: трудно  понять, как обеспечить соответствие входов (симптомов) желаемому отклику (синдромам).

NeuroOffice’98 [9]
(АОЗТ «Альфа Систем», Санкт-Петербург)

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

В составе демо-версии - две программы. Первая, NeuroView+, предназначена для визуально-графического проектирования структурной модели и топологии нейронной сети. Утверждается, что размеры нейронной сети программно не ограничены. Вторая, NeuroEmulator, служит для обучения и тестовых испытаний спроектированной нейросети, а также для редактирования «синаптической карты» и функций активации нейронов.

Главный недостаток в том, что каждую связь между нейронами приходится задавать вручную (рис. 3), поэтому соорудить большую НС очень тяжело, да и времени на это уходит уйма. Вот если бы связи можно было тянуть (и копировать!) мышкой, как при создании рисунков в MS Word, а также размножать на целые группы нейронов, то работа бы закипела.

Еще один недостаток: после успешного завершения конструирования архитектуры не выдается подтверждающего сообщения.

Загрузив созданный проект в NeuroEmulator можно получить возможность инициализировать весовые коэффициенты, задать тип пороговой функции для каждого слоя, открыть файл входных данных (форматы Excel: CSV и BDT), предъявить эталоны на выходе и, наконец, приступить к обучению. Предусмотрена генерация тестовых входных данных (в частности, синус), но что именно предъявить для них на выходе в качестве эталона, программа не подсказывает. А ведь как раз в демо-версии была бы очень уместна автоматическая загрузка всех данных, на которых демонстрировалась бы работа программы в режиме обучения. Чтобы оценить работоспособность самой нейросети, пришлось быстренько сочинять хоть какие-то входные и эталонные данные.

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

 

NNet [8]
(бета-версия)

NNet выделяется среди общей массы не только оригинальным интерфейсом (рис. 5), который облегчает освоение и делает программу очень удобной в работе, но и хорошей скоростью вычислений (полностью 32-разрядная и многонитевая) и грандиозными возможностями. Хотя в бета-версии воплощена лишь MLP-нейросеть, зато предусмотрено функционирование в трех режимах (аппроксимация, фильтрация и классификация), но главное - количество нейронов в каждом слое может достигать 64К, а максимальное число весов - четырех миллиардов.

Алгоритмы обучения: BPE, Momentum и скрытый Scaled Conjugate Gradient. Формат файлов ввода/вывода данных - double (8 байт на число), доступен всем, кто способен запрограммировать пару операндов.

Другие типы нейросетей (с обратными связями, комбинированные, сети анализа независимых компонентов, слепого разделения сигналов) не были включены в бета-версию программы.

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

Для своего исследования я использовал нейросимулятор российского производства, а именно нейросимулятор, созданный студентом ПГУ (рис.6)

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

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

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

  1.  
    ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ НЕЙРОСЕТЕВЫХ ТЕХНОЛОГИЙ

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

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

Параметры, которые я рассматривал в обучающей выборке:

  1.  Возраст
  2.  Пол
  3.  Образование
  4.  Стаж работы по специальности
  5.  Семейное положение
  6.  Кол-во детей
  7.  Требования к зарплате
  8.  Наличие вредных привычек

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

0- нет образования

1- среднее

2- среднеспециальное

3- высшее

4- два высших

Требование к зарплате:

  1.  низкое – до 5 тыс. руб
  2.  среднее – от 5 до 15 тыс. руб
  3.  высокое – выше 15 тыс. руб

Ниже приведены таблицы обучающей и тестируемой выборки.

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

23

1

2

2

0

0

3

1

0

34

0

3

2

1

0

2

0

0

45

1

2

20

1

3

2

1

0

30

0

3

7

1

2

3

0

1

33

1

3

8

0

0

3

0

1

24

1

0

6

0

0

1

1

0

43

0

1

25

1

4

1

0

1

18

1

1

0

0

0

1

0

1

29

0

4

4

1

1

3

0

1

16

1

0

0

0

0

1

0

0

50

0

3

15

1

3

1

0

1

36

0

2

16

0

0

3

0

0

40

1

3

18

1

2

2

0

1

19

1

1

1

1

1

2

0

1

31

0

1

5

0

0

2

0

0

17

1

0

0

0

0

1

0

0

21

0

1

0

0

1

3

0

0

27

1

3

3

0

0

2

0

1

47

0

1

27

1

2

2

0

0

38

1

3

15

1

3

3

0

1

18

1

1

0

0

2

0

0

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

18

0

1

0

0

1

2

0

0

33

1

3

10

1

2

2

0

1

21

1

1

0

0

0

2

1

0

56

0

2

30

1

3

2

0

1

37

0

4

11

1

1

3

0

1

Строгой теории выбора оптимального числа скрытых слоев персептрона пока нет. На практике же чаще всего используются персептроны, имеющие один или два скрытых слоя, причем число нейронов в скрытых слоях обычно колеблется от Nx до 3Nx. При моделировании в настоящей работе использовалась нейронная сеть с двумя скрытыми слоями нейронов. Сигналы, поступающие на входы Х1,-,Хn, умножаются на коэффициенты (веса, синапсы) соответствующие каждому входу и определяют уровень возбуждения нейрона. Выходной сигнал получается пропусканием суммарного сигнала возбужденных нейронов скрытого слоя через нелинейную функцию. В качестве нелинейной функции использовалась сигмовидная функция, являющаяся непрерывной и сколько угодно раз дифференцируемой. Настройка весов нейронной сети происходит в результате обучения с учителем. Это означает, что сети предъявляется как входной образец, так и выходные данные, которые нейросеть должна выдавать на этом образце. Для обучения сети использовался метод обратного распространения (Back Propagation), суть которого состоит в следующем.  Перед началом обучения сети весам и порогам случайным образом присваиваются небольшие по величине начальные значения. Тем самым отклики отдельных элементов сети имеют малый наклон и ориентированы хаотично - фактически они не связаны друг с другом. По мере того, как происходит обучение, поверхности отклика элементов сети вращаются и сдвигаются в нужное положение, а значения весов увеличиваются, поскольку они должны моделировать отдельные участки целевой поверхности отклика. Затем вычисляется вектор градиента поверхности ошибок. Этот вектор указывает направление кратчайшего спуска по поверхности из данной точки, поэтому при продвижении по нему, ошибка уменьшится. Значение ошибки, а также градиента поверхности ошибок используется для корректировки весов, после чего все действия повторяются. Начальная конфигурация сети выбирается случайным образом, и процесс обучения прекращается либо когда пройдено определенное количество эпох, либо когда ошибка достигнет некоторого определенного уровня малости, либо когда ошибка перестанет уменьшаться.  В качестве меры ошибки в простейшем случае берется средняя квадратичная ошибка, которая определяется как сумма квадратов разностей между величиной на выходе и требуемой величиной.

,

где СiТ -модельные значения (полученные в результате обучения сети);

СiП -практические значения .


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

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

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


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


Но проверим его на тестирующей выборке, которая была представлена выше.

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


ЗАКЛЮЧЕНИЕ

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

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

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


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ

Литература

  1.  Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. – СПб:Питер, 2000. – 384 с.
  2.  Люгер Дж.Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. – М.:Изд. дом «Вильямс», 2003. – 864 с.
  3.  Уоссермен. Нейрокомпьютерная техника: теория и практика.
  4.  Хайкин С. Нейронные сети. Издательство «Вильямс», 2005.-1104 с.
  5.  Ясницкий Л.Н. Введение в искусственный интеллект: Учеб. пособие для студ. высш. учеб. заведений, М.: Издательский центр «Академия», 2005.-176 с.

Ссылки на ресурсы Интернет

  1.  MathLab-http://www.Mathworks.com
  2.  NeuralNetworks-http://www.nd.com
  3.  NeuroSolutions-http://www.neurosolutions.com
  4.  Центр занятости -  jobcenter.tspu.edu.ru


 

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

50215. Визначення радіуса кривизни лінзи допомогою кілець Ньютона 235 KB
  1 вміти описати утворення інтерференційних смуг однакової товщини та кілець Ньютона 2.5 Прилади і матеріали Мікроскоп плоскоопукла лінза великого радіуса кривизни плоскопаралельна пластинка освітлювач з блоком живлення світлофільтри Теоретичні відомості та опис установки Оптична схема для спостереження кілець Ньютона у відбитому світлі в даній лабораторній роботі наведена на рис. Якщо визначити експериментально радіуси темних – го і – го кілець Ньютона то із співвідношень 2.
50216. Проблеми та шляхи розвитку міжнародного ринку інформаційних технологій 557.5 KB
  Дослідження сутності міжнародного ринку інформаційних технологій та його ролі в світовій економіці; класифікація обʼєктів ринку інформаційних технологій; аналіз розвитку міжнародного ринку інформаційних технологій; знаходження механізму регулювання світового ринку інформаційних технологій; відображення напрямків розвитку міжнародного ринку інформаційних технологій.
50217. КЕРУВАННЯ ЕНЕРГЕТИЧНИМИ ПАРАМЕТРАМИ ЛАЗЕРНОЇ ТЕХНОЛОГІЧНОЇ УСТАНОВКИ. ККД ЛАЗЕРА 702 KB
  ККД ЛАЗЕРА Ціль роботи: вивчити склад і пристрій електричної частини лазерної технологічної установки ЛТУ; ознайомитися з етапами перетворення енергії в лазерних установках і з методами виміру енергетичних параметрів лазерного випромінювання; зняти енергетичну характеристику ЛТУ залежно від параметрів схеми накачування; визначити ККД лазера при різних режимах його роботи. Устаткування й прилади Лазерна технологічна установка Квант16 ; вимірювальник енергії ИКГ1М; лазер газовий ЛГ105.1: індуктивноємнісний перетворювач...
50218. Развитие околоносовых пазух ребенка, связь со становлением зубной дуги. Причины воспалительных изменений околоносовых пазух и возможность внутричерепных осложнений 15.54 KB
  Околоносовые пазухи у новорожденных недоразвиты и формируются в процессе развития лицевых костей и роста ребенка. При рождении у ребенка имеются две околоносовые пазухи: достаточно хорошо развитая решетчатая и рудиментарная
50219. ИЗУЧЕНИЕ ЗАТУХАЮЩИХ ЭЛЕКТРОМАГНИТНЫХ КОЛЕБАНИЙ В КОЛЕБАТЕЛЬНОМ КОНТУРЕ С ПОМОЩЬЮ ОСЦИЛЛОГРАФА 242 KB
  Цель работы: Изучение с помощью электронного осциллографа электромагнитных колебаний возникающих в колебательном контуре содержащем индуктивность емкость и активное сопротивление; изучение условий возникновения затухающих колебаний в контуре; расчет основных...
50220. Взаимодействие поля постоянного магнита и проводника с током для измерения силы тока 42.5 KB
  Цель работы: экспериментальное измерение основных характеристик гальванометра магнитоэлектрической системы. Наиболее удачной является конструкция гальванометра с радиальным магнитным полем: такое поле создано в узком зазоре между цилиндрическим полюсным наконечником N и S постоянного магнита и железным сердечником цилиндрической формы. S1=1 C1 – чувствительность гальванометра.
50221. Основные достижения отечественной ветеринарии 78 KB
  Ветеринарная медицина-область научных знаний и практической деятельности, направленных на борьбу с болезнями животных, охрану людей от инфекций общих для животных и человека, выпуск доброкачественной в санитарном отношении продукции и решение ветеринарно-санитарных проблем защиты окружающей среды.
50222. ВЫНУЖДЕННЫЕ КОЛЕБАНИЯ В ПОСЛЕДОВАТЕЛЬНОМ ЭЛЕКТРИЧЕСКОМ КОНТУРЕ 323.5 KB
  Цель работы: Изучение вынужденных колебаний в последовательном контуре определение добротности контура и внутреннего сопротивления генератора синусоидальных колебаний. Основные теоретические положения к данной работе основополагающие утверждения: формулы схематические рисунки:...
50223. Визначення ширини забороненої зони напівпровідників з температурної залежності їх провідності 219.5 KB
  Цю залежність можна подати так: 1 де питома провідність власного напівпровідника при ; ширина забороненої зони напівпровідника; стала Больцмана. Тому ширину забороненої зони власного напівпровідника можна визначити із співвідношення:...