Введение
Наркомания — глобальная проблема 21 века. По оценкам ООН в мире насчитывается 200 млн. человек, злоупотребляющих наркотиками, в том числе 163 млн. - потребители препаратов конопли, 34 млн. – амфитоминоподобных психостимуляторов, 8 млн. – экстази, 14 млн. – кокаина, 15 млн. – опиантов, из них 10 млн. – героина. Данные цифры далеко не полные, так как не учитывают полинаркоманов, потребляющих различные виды наркотических веществ.
Употребление наркотиков это опасное поведение, которое не происходит в изоляции. Оно является важным фактором повышения риска слабого здоровья, является причиной ранней смертности и болезненности, а также напрямую влияет на развитие общества [1, 2, 3]. Употребление наркотиков и наркомания являются серьезной глобальной проблемой. Оно включает в себя несколько факторов риска, которые определяются как атрибуты, характеристики или события в жизни человека, которые повышают риск употребления наркотиков. Некоторые факторы связаны с началом употребления наркотиков. Это такие факторы как: психологические, социальные, индивидуальные, факторы окружающей среды и экономические факторы [4, 5]. Эти факторы также связаны и некоторыми чертами личности человека [6, 7].
Из всего вышесказанного можно сделать вывод, что личностные факторы коррелируют с употреблением наркотиков, соответственно персональный профиль личности играет большую роль в определении риска употребления наркотиков.
Актуальность данной работы заключается в необходимости понимания риска употребления наркотиков индивидуально для каждого человека. Данная информация может помочь в формировании превентивных мер по противодействию развития этой болезни.
Большинство психологов согласны, что «Пятифакторная модель личности» (далее FFM) является наиболее полной и адаптивной системой для понимания индивидуальных отличий человека [8]. FFM состоит из 5 факторов личности: Нейротисизм(N), Экстраверсия (E), Открытость к опыту (O), Согласованность (А), Добросовестность (C). Неоднократно была выявлена зависимость между этими факторами и употреблением определенных наркотиков [9, 10, 11, 12, 13, 14, 15, 16].
Было проведено исследование группой ученых, которые изучали влияние персональных данных человека и демографической информации на употребление наркотиков. Описание параметров личности и используемых данных содержится в работе [8]. Расчет риска проводился с помощью таких алгоритмов как: «К ближайших соседей», «дерево решений», «логистическая регрессия» и т.д. Наибольшая точность расчета для отдельных видов наркотиков составляла приблизительно 75%, для некоторых видов точность была порядка 50%. Однако процесс расчета не был автоматизирован, а также отсутствовала возможность расчета риска употребления наркотиков для какого-либо человека индивидуально. Расчет риска является по своей сути задачей классификации. То есть нам необходимо вычислить вероятность с которой пользователь попадет в одну из групп: «пользователи» и «не пользователи» для каждого из наркотиков для различных классификаций (decade-based, year-based, month-based, week-based). С данной задачей хорошо справляется искусственная нейронная сеть, использующаяся в этой работе.
Целью данной работы является создание системы для расчета риска употребления наркотиков по персональным данным с использованием нейросети.
Для достижения поставленной цели необходимо было выполнить ряд задач:
1) Разработать структуру базы данных
2) Преобразовать входные данные для их дальнейшего использования.
3) Разработать и обучить нейронную сеть для расчета риска.
4) Разработать web-интерфейс для взаимодействия пользователей с системой.
Выбор используемого языка и технологий
Программная часть информационной системы была разработана на языке Java. Java – сильно типизированный объектно-ориентированный язык программирования. Программа написанная на языке Java транслируется в байт-код, который затем выполняется виртуальной машиной Java (jvm). Преимуществом такого способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования. Программа на java может быть запущена на любой машине на которой установлена jvm.
Для разработки серверной части информационной системы использовался фреймворк Spring, а точнее Spring MVC
Для хранения данных в разработанной системе использовалась СУБД PostgreSQL.
Данные, полученные в результате тестирования необходимо было преобразовать, для этого использовался категориальный метод главных компонент [17].
В данной работе для расчета риска употребления наркотиков используется искусственная нейронная сеть прямого распространения, которая называется многослойный персептрон. Разработанная нейронная сеть содержит 3 скрытых уровня. В данной нейронной сети используются следующие слои:
Dropout – данный слой используется для устранения переобучения нейронной сети.
Dense - плотносвязанный слой. Связывает выход нейрона со всеми входами нейронов следующего уровня.
Output – выходной слой.
Одним из самых популярных методов обучения многослойных персептронов, которые также называются нейронными сетями прямого распространения, является алгоритм обратного распространения ошибки. Данный алгоритм реализуется двумя проходами по всем слоям нейронной сети: прямой проход и обратный проход. Прямой проход предполагает распространение входного вектора по каждому слою начиная с входного. В итоге после данного прохода сформируется набор выходных сигналов. Этот набор – реакция нейронной сети на эти входные параметры. Синаптические веса нейронной сети во время прямого прохода не изменяются. Вторым этапом данного алгоритма является обратный проход. Синаптические веса во время обратного прохода изменяются в соответствии с правилом «коррекции ошибок». Его суть заключается в следующем: из желаемого выхода нейронной сети мы вычитаем полученный, тем самым мы получаем сигнал ошибки. Сигнал ошибки распространяется в обратном направлении от направления синаптических связей. Целью данного алгоритма является настройка синаптических весов для максимального приближения фактического результата к желаемому.
При конфигурации нейронной сети указываются такие параметры как: количество эпох, количество итераций, функция активации используемая по умолчанию, алгоритм оптимизации, learning rate и т.д. Функцией активации выходного слоя является softmax [18] а скрытых слоёв — ReLU [19].
Набор для обучения составляет 70% от всех данных. Остальные 30% процентов находятся в тестовом наборе. Для каждого из наркотиков тренируется и сохраняется своя нейронная сеть. Обученные модели нейронных сетей хранятся в формате json [20].
Сбор персональных данных производится через веб-интерфейс. Основной его частью является страница для сбора данных от пользователя. На скриншоте ниже представлена часть опросника для сбора персональных данных.
Данные о пользователе включают в себя: демографическую информацию (возрастную группу, пол, образование, страну проживания, национальность), а также личностные характеристики, которые собираются с помощью следующих тестов: NEO-FFI, BIS-11, ZKPQ.
После ввода данных запрос попадает в контроллер (класс, который отвечает за обработку запроса) в котором формируется класс , содержащий введенные данные. Затем производится пересчет данных теста, формируется экземпляр класса PersonalData, производится сохранение введенных данных в БД. После этого проводится расчет риска употребления наркотиков по введенным данным. Результат расчета передается на страницу отображения результатов. На приведенном скриншоте отображены результаты работы системы для алкоголя.
Аналогичные диаграммы можно построить для любого рассматриваемого наркотика.
Для тренировки нейронной сети использовались данные заимствованные из работы [8]. Они содержат такие параметры как: N, E, O, A, C из NEO-FFI, Impulsivity из BIS-11, sensation seeking(SS) из ImpSS, возрастную группу, пол, национальность, страна проживания, уровень образования. Также данные содержат информацию об употреблении 18 различных различных психоактивных наркотиков включая: алкоголь, амфетамины, амил нитриты, бензодиазепины, каннабис, шоколад, кокаин, кофеин, крэк, экстази, героин, кетамин, легальные вещества, ЛСД, метадон, грибы, никотин, VSA и один фиктивный наркотик для выявления недостоверных данных. Информация об употреблении наркотиков делится на 7 классов: никогда не употреблял, употреблял больше 10 лет назад, употреблял в последние 10 лет, употреблял в последний год, употреблял в последний месяц, употреблял на этой неделе, употреблял вчера.
В качестве тестовой выборки использовались 30% всех данных. Точность нейронной сети для тестовых данных показана в таблице ниже.
Таблица 1
Наркотик |
Точность |
Алкоголь |
0,6265 |
Амфетамин |
0,6035 |
Амилнитриты |
0,6873 |
Бензодиазепины |
0,7141 |
Коффеин |
0,7456 |
Каннабис |
0,5415 |
Шоколад |
0,7576 |
Кокаин |
0,5724 |
Крэк |
0,8516 |
Экстази |
0,5424 |
Героин |
0,8481 |
Кетамин |
0,7756 |
Legal highs |
0,7954 |
ЛСД |
0,7583 |
Метадон |
0,7580 |
Грибы |
0,5000 |
Никотин |
0,5786 |
VSA |
0,9929 |
Как видно из данной таблицы наилучшие результаты достигнуты для Legal highs, VSA (в работе [8] точность – 75%) , героина и крэка (в работе [8] точность менее 75% для обоих наркотиков). Из-за неравномерности данных присутствуют элементы с достаточно низкими показателями, такие как: грибы, амфетамин, канабис и экстази.
Можно сделать вывод о том, что данная система справляется со своей задачей достаточно хорошо.
В результате была спроектирована и разработана система по расчету риска употребления наркотиков по персональным данным. Персональные данные включают в себя демографическую информацию, показатели N, E, O, A, C из опросника NEO-FFI, «импульсивность» из опросника BIS-11, «в поисках сенсации» из ZKPQ [21]. Сбор данных и отображение результатов происходит через веб-интерфейс. Была разработана нейронная сеть прямого распространения, которая также называется многослойным персептроном. Обучалась данная сеть алгоритмом обратного распространения ошибки. В сети присутствует Dopout-слой для избежания переобучения. В качестве функции активации в скрытых слоях используется ReLU, что позволяет избежать эффекта сжатия, который характерен для сигмоида. Точность такой нейронной сети для некоторых наркотиков превышает точность классификаторов работе[8]. Например, для кетамина точность составляет 77,56%, для крэка 85,16%, для героина 84,81%, для legal highs 79,54%, для VSA 99,29%, для ЛСД 75,83%, для метадона 75,80%.
архив: 2013 2012 2011 1999-2011 новости ИТ гость портала 2013 тема недели 2013 поздравления