Дипломная (вкр): Разработка интеллектуальной системы

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Биологическую предрасположенность к наркомании изучал Врач психиатр-нарколог Яковлев А. Н [17], он выяснил, что дисфункция системы эмоционального подкрепления имеет прямую зависимость с предрасположенностью к наркомании.

Сбор данных

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

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

Пол: 1 - мужской; 2 - женский.

Возраст: 1 - от 13 до 25; 2 - другой.

Были ли в семье наркозависимые или алкозависимые: 1 - да; 2 - нет.

Достаточно ли «душевного тепла» вы получали от семьи? 1 - да; 2 - нет.

Применялось ли рукоприкладство: 1 - да; 2 - нет.

Давали ли ваши родители свободу выбора? 1 - да; 2 - нет.

У вас доверительные отношения с родителями? 1 - да; 2 - нет.

Организовывали ли ваши родители досуг? 1 - да; 2 - нет.

Рассказывали ли ваши родители о вреде наркотиков? 1 - да; 2 - нет.

Склонность к депрессии: 1 - да; 2 - нет.

Постоянные интересы и хобби: 1 - да; 2 - нет.

Определенность в профессии или образовании: 1 - да; 2 - нет.

Уютно в обществе незнакомых людей:1 - да; 2 - нет.

Наличие друзей-наркоманов: 1 -да; 2 -нет.

Интерес к культуре наркоманов (реп, рок, растоманство): 1 -да; 2 -нет.

Финансовое положение: 1 -высокий достаток; 2 -средний достаток; 3 - низкий достаток.

Религиозность: 1 - да; 2 - нет.

Легко принимаются решения:1 - да; 2 - нет.

Авторитет родителей: 1 - во всем; 2 - не всех вопросах; 3 - нет.

Частота употребления алкоголя: 1 - часто; 2 - редко; 3 - никогда.

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

Глава 2. Проектирование нейронной сети

Нейронная сеть для определения предрасположенности к наркотической зависимости будет построена в двух программных продуктах: нейропакеты «Нейросимулятор 5» [19] и «Statistica 10».

Нейропакет «Нейросимулятор 5» позволяет создавать и применять нейронные сети персептронного типа. Архитектура нейронной сети в «Нейросимулятор 5» имеет слоистую структуру, т.е. нейроны расположены слоями и имеют однонаправленные связи между слоями. Нейропакет работает в четырех режимах: проектирование, обучение, проверка и прогноз. Данный программный продукт позволяет проводить обучение с применение различных алгоритмов: обратного распространения, упругого распространения, быстрого распространения, Левенберга-Маркваррдта, сопряженных градиентов и генетический. Программа «Нейросимулятор 5» будет использоваться для изучения технологии нейросетей и самостоятельного анализа данных.

«Statistica 10» позволяет создавать и применять нейронные сети: многослойный персептрон, радиальная базисная функция, вероятностная нейронная сеть, обобщенная регрессионная нейронная сеть, самоорганизующаяся карта Кохонена и линейная сеть. Преимуществом данного продукта является одновременное обучение и тестирование сразу нескольких сетей, тем самым сокращается время на поиски оптимальной сети. Используются аналогичные нейропакету «Нейросимулятор 5» алгоритмы обучения. Преимуществом является опциональная возможность генерации исходного кода на языках C, C++, C#, Java, PMML (Predictive Model Markup Language), который может быть легко интегрирован во внешнюю среду для создания собственных приложений. Данный программный продукт будет использоваться для сравнения результатов, полученных в нейропакете. «Нейросимулятор 5», с профессиональным пакетом.

.1 Выбор оптимальной структуры нейронной сети

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

Сеть должна иметь один или два скрытых слоя.

Число нейронов в скрытых слоях обычно колеблется от Nx до 3Nx, где Nx - размерность входного сигнала [21].

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

 ,

где  - размерность выходного сигнала; Q - число элементов обучающей выборки;  - необходимое число синаптических весов; Nx - размерность входного сигнала.

Тогда число нейронов в скрытых слоях.

Таким образом, с учетом этих правил, в данной работе была построена нейронная сеть со следующими параметрами: Nx=20, Ny=1, Q=90. Тогда , следовательно, . Получивший промежуток значения N достаточно большой, но необходимо проверить каждое значение из этого промежутка. Для этого нужно построить нейронную сеть и изменяя количество нейронов в скрытом слое, выяснить наименьшую погрешность обучений и обобщения.

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

При проведении экспериментов выяснилось, что минимальная погрешность тестирования, равная приблизительно 1,3%, достигается при двух нейронах в скрытых слоях. Затем была построена нейронная сеть с одним скрытым слоем, в котором содержится 2 нейрона. Всего сеть имеет 23 нейрона, 42 связей (+ 3 смещения). Активационные функции входного и выходного слоя линейный, а скрытых слоев - сигмоида.

Обучение нейронной сети осуществляется на некой выборке, которая называется обучающим множеством. В предыдущей главе был описан процесс получения обучающего множества. В программном продукте «Нейросимулятор 5» обучение сети строится на базе выборки данных, которая загружается в нейропакет из файла в формате *.xls или *.xlsx, созданного в программе MS Excel, либо заполняется вручную.

Количество итераций, задаваемых в параметрах алгоритма обучения, позволяет регулировать качество обучения. Чем больше это количество, тем «опытнее» сеть. После завершения процесса обучения представляется зависимость ошибки обучения сети от числа итерации. Для обучения сети был выбран алгоритм упругого распространения ошибки, а количество итераций обучения - 1000. Нейропакет «Нейросимулятор 5» предоставляет возможность проводить процесс обучения параллельно с тестированием, данные процессы иллюстрируются графиками. График обучения и тестирования получившейся нейросети изображен на рисунке 2.1

Рисунок 2.1. График обучения и тестирования

.2 Анализ входных параметров

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

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

Рисунок 2.2. Значимость параметров

Анализ значимости входных параметров выявил, что параметры № 4, № 5, №6, №7 и №8 являются наименее значимыми, поэтому данные параметры были удалены.

Для новой нейронной сети входными параметрами являются:

Пол: 1 - мужской; 2 - женский.

Возраст: 1 - от 13 до 25; 2 - другой.

Были ли в семье наркозависимые или алкозависимые: 1 - да; 2 - нет.

Применялось ли рукоприкладство: 1 - да; 2 - нет.

Склонность к депрессии: 1 - да; 2 - нет.

Постоянные интересы и хобби: 1 - да; 2 - нет.

Определенность в профессии или образовании: 1 - да; 2 - нет.

Уютно в обществе незнакомых людей:1 - да; 2 - нет.

Наличие друзей-наркоманов: 1 -да; 2 -нет.

Интерес к культуре наркоманов (реп, рок, растоманство): 1 -да; 2 -нет.

Финансовое положение: 1 -высокий достаток; 2 -средний достаток; 3 - низкий достаток.

Религиозность: 1 - да; 2 - нет.

Легко принимаются решения:1 - да; 2 - нет.

Авторитет родителей: 1 - во всем; 2 - не всех вопросах; 3 - нет.

Частота употребления алкоголя: 1 - часто; 2 - редко; 3 - никогда.

.3 Проектирование нейронной сети в «Нейросимулятор 5»

С учетом правил и теорем, описанных в главе 2.1, была построена нейронная сеть со следующими параметрами: Nx=15, Ny=1, Q=90. Тогда , следовательно, .

При проведении экспериментов выяснилось, что минимальная погрешность тестирования, равная приблизительно 1,15%, достигается при двух нейронах в скрытых слоях. Затем была построена нейронная сеть с одним скрытым слоем, в котором содержится 2 нейрона. Всего сеть сеть имеет 18 нейрона, 32 связей (+ 3 смещения). Активационные функции входного и выходного слоя линейный, а скрытых слоев - сигмоида. Структура сети изображена на рисунке 2.3

Рисунок 2.3. Структура сети

Обучение нейронной сети осуществляется на некой выборке, которая называется обучающим множеством. В предыдущей главе был описан процесс получения обучающего множества. В программном продукте «Нейросимулятор 5» обучение сети строится на базе выборки данных, которая загружается в нейропакет из файла в формате *.xls или *.xlsx, созданного в программе MS Excel, либо заполняется вручную.

Количество итераций, задаваемых в параметрах алгоритма обучения, позволяет регулировать качество обучения. Чем больше это количество, тем «опытнее» сеть. После завершения процесса обучения представляется зависимость ошибки обучения сети от числа итерации. Для обучения сети был выбран алгоритм упругого распространения ошибки, а количество итераций обучения - 1000. Нейропакет «Нейросимулятор 5» предоставляет возможность проводить процесс обучения параллельно с тестированием, данные процессы иллюстрируются графиками. График обучения и тестирования получившейся нейросети изображен на рисунке 2.4

Рисунок 2.4. График обучения и тестирования

Результаты тестирования показали, что сеть дала 9 правильных ответов из 9 с максимальным отклонением 0,0005 (см рисунок 2.5). Если прогноз сети близок к единице, то сеть утверждает, что человек с данными параметрами имеет предрасположенность к наркотической зависимости. При результате прогноза, близком к 0, сеть утверждает, что человек не склонен к наркотической аддикции

Рисунок 2.5. Результаты тестирования

2.4 Проектирование нейронной сети в «Statistica 10»

В программном продукте «Statistica 10» можно строить и обучать сразу несколько сетей с различными структурами и различными алгоритмами, поэтому были заданы параметры: количество нейронов на скрытом слое от 2 до 24, все активационные функции для скрытых и входных нейронов, а именно тождественная, логистическая, гиперболическая, экспонента и синусоида. В результате обучения и тестирования наибольшая производительность получилась при использовании структуры с один скрытым слоем с 2 нейронами. (см рисунок 2.6).

Рисунок 2.6. Нейронная сеть в Statistica

Продукт «Statistica 10» сам определяет тестовое и обучающее множество, ошибка при обучении составила 0, 034, контрольная ошибка - 0,006, тестовая ошибка - 0, 027. Функция активации скрытых нейронов - логистическая, а функция активации выходных нейронов - синусоида.

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

.5 Прогнозирование

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

Для построение прогноза были выбраны 5 человек:

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

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

Источник: https://www.bibliofond.ru/detail.aspx?id=897429