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


 

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

81477. Биосинтез жиров в печени из углеводов. Структура и состав транспортных липопротеинов крови 153.12 KB
  В жировой ткани для синтеза жиров используются в основном жирные кислоты освободившиеся при гидролизе жиров ХМ и ЛПОНП. Молекулы жиров в адипоцитах объединяются в крупные жировые капли не содержащие воды и поэтому являются наиболее компактной формой хранения топливных молекул. В гладком ЭР гепатоцитов жирные кислоты активируются и сразу же используются для синтеза жиров взаимодействуя с глицерол3фосфатом.
81478. Депонирование и мобилизация жиров в жировой ткани. Регуляция синтеза и мобилизации жиров. Роль инсулина, глюкагона и адреналина 107.09 KB
  Регуляция синтеза и мобилизации жиров. Какой процесс будет преобладать в организме синтез жиров липогенез или их распад липолиз зависит от поступления пищи и физической активности. Регуляция синтеза жиров.
81479. Основные фосфолипиды и гликолипиды тканей человека (глицерофосфолипиды, сфингофосфолипиды, гликоглицеролипиды, гликосфиголипиды). Представление о биосинтезе и катаболизме этих соединений 264.19 KB
  Функции гликосфинголипидов можно суммировать следующим образом: Взаимодействие между: клетками; клетками и межклеточным матриксом; клетками и микробами. Церамид служит предшественником в синтезе большой группы сфинголипидов: сфингомиелинов не содержащих углеводов и гликосфинголипидов. В распаде сфингомиелинов участвуют 2 фермента сфингомиелиназа отщепляющая фосфорилхолин и церамидаза продуктами действия которой являются сфингозин и жирная кислота Катаболизм гликосфинголипидов. Катаболизм гликосфинголипидов начинается с перемещения их...
81480. Нарушение обмена нейтрального жира (ожирение), фосфолипидов и гликолипидов. Сфинголипидозы 124.68 KB
  Сфинголипиды метаболизм: заболевания сфинголипидозы таблица Заболевание Фермент недостаточностькоторого обусловливает заболевание Накапливающийся :липид : Клинические симптомы Фукозидоз альфаФукозидаза CerGlcGlNcCl:Fuc НИзоантиген Слабоумие спастическое состояние мышц утолщение кожи Генерализованный ганглиозидоз GM1бетаГалактозидаза CerGlcGlNeucGlNc:Gl Ганглиозид GM1 Умственная отсталость увеличениепечени деформация скелета Болезнь ТеяСакса Гексозаминидаза А CerGlcGlNeuc:GlNc Ганглиозид GM2 Умственная отсталость...
81481. Строение и биологические функции эйкозаноидов. Биосинтез простагландинов и лейкотриенов 107.74 KB
  Биосинтез простагландинов и лейкотриенов. Структура номенклатура и биосинтез простагландинов и тромбоксанов Хотя субстраты для синтеза эйкозаноидов имеют довольно простую структуру полистовые жирные кислоты из них образуется большая и разнообразная группа веществ. Структура и номенклатура простагландинов и тромбоксанов Простагландины обозначают символами например PG А где PG обозначает слово простагландин а буква А обозначает заместитель в пятичленном кольце в молекуле эйкозаноида. Каждая из указанных групп простагландинов состоит из 3...
81482. Холестерин как предшественник ряда других стероидов. Представление о биосинтезе холестерина. Написать ход реакций до образования мевалоновой кислоты. Роль гидроксиметилглутарил-КоА-редуктазы 165.9 KB
  В печени синтезируется более 50 холестерола в тонком кишечнике 15 20 остальной холестерол синтезируется в коже коре надпочечников половых железах. В сутки в организме синтезируется около 1 г холестерола; с пищей поступает 300500 мг Холестерол выполняет много функций: входит в состав всех мембран клеток и влияет на их свойства служит исходным субстратом в синтезе жёлчных кислот и стероидных гормонов. Предшественники в метаболическом пути синтеза холестерола превращаются также в убихинон компонент дыхательной цепи и долихол...
81483. Синтез желчных кислот из холестерина. Конъюгация желчных кислот, первичные и вторичные желчные кислоты. Выведение желчных кислот и холестерина из организма 104.99 KB
  Конъюгация желчных кислот первичные и вторичные желчные кислоты. Выведение желчных кислот и холестерина из организма. Жёлчные кислоты синтезируются в печени из холестерола.
81484. ЛПНП и ЛПВП - транспортные, формы холестерина в крови, роль в обмене холестерина. Гиперхолестеринемия. Биохимические основы развития атеросклероза 110.43 KB
  Содержание холестерола и его эфиров в ЛППП достигает 45; часть этих липопротеинов захватывается клетками печени через рецепторы ЛПНП которые взаимодействуют и с апоЕ и с апоВ100. Транспорт холестерола в составе ЛПНП. Рецепторы ЛПНП. На ЛППП оставшиеся в крови продолжает действовать ЛПлипаза и они превращаются в ЛПНП содержащие до 55 холестерола и его эфиров.
81485. Механизм возникновения желчнокаменной болезни (холестериновые камни). Применение хенодезокеихолевой кислоты для лечения желчнокаменной болезни 103 KB
  Выделение холестерола в жёлчь должно сопровождаться пропорциональным выделением жёлчных кислот и фосфолипидов удерживающих гидрофобные молекулы холестерола в жёлчи в мицеллярном состоянии У большинства больных желчнокаменной болезнью активность ГМГКоАредуктазы повышена следовательно увеличен синтез холестерола а активность 7αгидроксилазы участвующей в синтезе жёлчных кислот снижена. В результате синтез холестерола увеличен а синтез жёлчных кислот из него замедлен что приводит к диспропорции количества холестерола и жёлчных кислот...