ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 А.О. ЕМЕЛЬЯНОВ, С.А. ЧЕРНЕЦОВ 1 Эндокринологический научный центр, Москва 1 Московский государственный технический университет им. Н.Э. Баумана endiab@mail.ru, serge.a.ch@gmail.com НЕЙРОСЕТЕВОЕ ПРОГНОЗИРОВАНИЕ УРОВНЯ ГЛЮКОЗЫ В КРОВИ ДЛЯ БОЛЬНЫХ ИНСУЛИНОЗАВИСИМЫМ ДИАБЕТОМ Приводятся результаты исследования нейросетевых алгоритмов прогнозирования уровня глюкозы в крови пациента. Рассмотрены нейронные сети (НС) Элмана, рекуррентные НС, НС прямого распространения и NARX-сети. Выполнено исследование влияния архитектуры НС, количества нейронов, алгоритма обучения и длины линии задержки на точность прогноза. Введение Сахарный диабет 1 типа – это метаболическое заболевание, вызванное абсолютным дефицитом секреции инсулина и характеризующееся неспособностью организма поддерживать уровень глюкозы в крови (BG – Blood Glucose) в целевом интервале 4-6 ммоль/л – в обычном состоянии и до 9 ммоль/л – после еды. Диабет вызывает множество опасных осложнений, избежать которые можно только путем контроля уровня BG и его удержания в физиологичном интервале. Основным путем решения этой задачи в настоящее время является введение в кровь пациента искусственных препаратов (генноинженерных человеческих инсулинов), которые могут симулировать действие эндогенного инсулина, вырабатываемого -клетками здоровой поджелудочной железы. Оптимальные типы и дозы искусственного инсулина (далее – инсулина) зависят от многих факторов. Подбор этих типов и доз является сложной задачей, с которой могут справиться далеко не все пациенты. Для решения указанной задачи созданы системы непрерывного измерения уровня BG – Continuous Glucose Monitoring Systems (CGM-системы), а также системы непрерывного подкожного введения инсулина (инсулиновые помпы – insulin pumps). На основе CGM-систем и инсулиновых помп разработаны и интенсивно разрабатываются системы автоматического управления уровнем глюУДК 004.032.26(06) Нейронные сети 334 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 козы в крови пациента. С алгоритмической точки зрения эти системы включают в себя две следующие основные подсистемы: подсистема прогнозирования уровня BG; подсистема определения оптимального времени и требуемой дозы инсулина. Известно значительное количество публикаций, посвященных задаче прогнозирования уровня BG, среди которых можно выделить следующие три направления [1 - 3]. 1. Использование математических моделей динамики глюкозы в теле пациента. При этом используются модели в виде обыкновенных дифференциальных уравнений, уравнений в частных производных, а также интегро-дифференциальные уравнения. 2. Использование нейросетевых алгоритмов прогнозирования значений уровня BG. 3. Использование комбинированных решений. Данная работа посвящена исследованию точности нейросетевых алгоритмов прогнозирования значений уровня BG. Конечной целью работы является выбор оптимальной НС и алгоритма ее обучения для использования в системе прогнозирования оптимальных доз инсулина. В качестве инструмента исследования используется среда MatLab R2009. Постановка задачи Пусть (1, 2 ) (...,t(n 1) , t(n 2) ,...,t1, t0 , t1, t2 ,...,tm ) дискретная временная сетка с постоянным шагом t 20 мин. Здесь t0 – текущий момент времени; 1 (...,t(n1) , t(n2) ,...,t1, t0 ) – сетка «предыстории»; 2 (t1 , t 2 ,..., t m ) – сетка, на которой выполняется прогноз. Известны значения уровней BG и введенных пациенту доз инсулина в узлах сетки 1 – векторы b(1 ) (..., b ( n 1) , b ( n 2) ,..., b1 , b0 )T , i (1 ) (..., i ( n 1) , i ( n 2) ,..., i1 , i0 )T . Кроме того, известны значения компонентов вектора c(1 ) (..., c ( n 1) , c ( n 2) ,..., c1 , c0 )T , где c j – количество углеводов, принятых с пищей в момент времени t j (оценивается и задается пациентом). УДК 004.032.26(06) Нейронные сети 335 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Совокупность векторов b(1 ), i(1 ), c(1 ) обозначим u (1 ) : u u (1 ) (b(1 ), i (1 ), c(1 )) (..., b( n1) ,..., b0 ,..., i( n1) ,..., i0 ,..., c( n1) ,..., c0 )T . Ставится задача прогноза уровня BG на период прогноза T [tm t0 ] , т.е. ~ ~ ~ ~ ~ задача поиска вектора y b( 2 ) (b1 , b 2 ,... bm )T . Критерии точности прогноза строятся на основе ошибок прогноза ~ j b j b j , j 1,2,..., где b j – фактическое значение уровня BG в момент времени t j . Точнее говоря, в качестве указанных критериев используются математическое ожидание m j ошибки прогноза j и ее среднеквадратичное отклонение j. Вектор фактических значений уровня BG в узлах сетки 2 обозначим y b(2 ) (b1, b2 ,...)T . Используемые нейронные сети Рассматриваются три типа нейронных сетей: Layer-Recurrent Network (далее LRN); сеть Элмана; Nonlinear Autoregressive Network (далее – NARX-сеть). LRN имеют многослойную архитектуру, выход каждого из слоев (за исключением выходного) подается на его вход с временной задержкой на 1 шаг. Сеть Элмана представляет собой частный случай LRN сети и имеет один внутренний слой, сигмоидальную функцию активации нейронов первого слоя, линейную функцию активации нейронов выходного слоя. Заметим, что MatLab R2009 поддерживает обучение сети Элмана только с помощью алгоритма градиентного спуска. NARX–сеть является сетью прямого распространения, на вход сети ~ подаются векторы u , y , либо векторы u, y . Для формирования указанных векторов используются линии задержки TDL (Tapped Delay Line). УДК 004.032.26(06) Нейронные сети 336 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 При обучении всех рассматриваемых нейронных сетей в качестве обучающей выборки использовались данные за 1, 2 дня (22, 44 отсчета); в качестве тестовой выборки – данные за 7 дней (482 отсчета). Организация MatLab-программы Для ускорения подготовки и проведения экспериментов разработан программный комплекс (рис. 1). Основу программы составляют три следующих класса: dataHandler; Details; MatrixHost; NNmgr. Класс dataHandler реализует Singleton pattern и обеспечивает однократное чтение данных о пациенте из файла, а также преобразование этих данных во входные и эталонные данные для нейронных сетей. Рис. 1. Структура MatLab-программы Программный комплекс основан на классах dataHandler, Details, MatrixHst и NNmgr. Класс dataHandler реализует однократное чтение данных из файла и создание матрицы данных – набора данных для различных интервала прогнозирования и количества учитываемых параметров. Класс Details обеспечивает хранение информации об исследуемой сети или некотором наборе (матрице) таких сетей. УДК 004.032.26(06) Нейронные сети 337 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Класс MatrixHost реализует обучение и тестирование указанного набора сетей. Объекты этого класса содержат матрицу объектов NNmgr, каждый из которых включает в себя подлежащую исследованию нейронную сеть, результат прогноза, а также ссылку на объект Details, который содержит все данные о матрице этих объектов. При создании указанной матрицы объектов задается список варьируемых параметров. Например, можно создать матрицу объектов, которая задает 4 различных количеств нейронов в скрытом слое, 5 алгоритмов обучения и 6 различных длительностей прогноза. Класс MatrixHost реализует также построение графиков результатов экспериментов. Исследование эффективности LRN Исследование эффективности LRN выполнено при варьировании количества нейронов NN в сети, алгоритма обучения, архитектуры сети, длительности периода прогноза и длины обучающей выборки. Если не оговорено противное, приняты следующие значения указанных параметров: количество нейронов NN равно 5, 10, 15, 20, 25, 30; алгоритм обучения – алгоритм градиентного спуска; длительность периода прогноза – 20 мин; длина обучающей выборки соответствует одному дню измерений. Варьирование алгоритма обучения. Рассмотрены следующие алгоритмы обучения: (а) алгоритм Левенберга-Маркардта; (b) алгоритм упругого обратного распространения ошибки (resilient backpropagation); (c) алгоритм сопряженных градиентов (conjugate gradient backpropagation); (d) алгоритм сопряженных градиентов с возобновлениями ПауэраБэллза (conjugate gradient backpropagation with Power-Bells restarts); (e) алгоритм сопряженных градиентов с поправками Флетчера-Ривза (conjugate gradient backpropagation with Fletcher-Reeves updates); (f) алгоритм градиентного спуска. Количество нейронов в сети равно 40, 50, 60. Результаты исследования представлены в табл. 1. Табл. 1 показывает, что лучшим алгоритмом обучения LRN является алгоритм градиентного спуска (traingdx-algorithm), худшим алгоритмом – алгоритм Левенберга-Маркардта (trainlm). УДК 004.032.26(06) Нейронные сети 338 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Варьирование архитектуры сети. Рассмотрены следующие архитектуры НС: (a) LRN; (b) – сеть Элмана (частный случай LRN). Результаты исследования (табл. 2) показывают, что по сравнению с LRN сеть Элмана обеспечивает более высокую точность прогноза. Таблица 1 Точность прогноза LRN для различных алгоритмов обучения NN 40 50 60 (a) -0.48 / 3.23 -0.35 / 0.93 -0.62 / 1.26 (с) 0.08 / 0.34 -0.35 / 2.69 0.69 / 2.07 (b) -0.11 / 0.45 0.54 / 1.54 0.95 / 2.43 m1 / 1 (d) -0.38 / 0.89 0.54 / 2.89 -0.06 / 1.78 (e) -0.16 / 0.38 -0.03 / 0.39 -0.31 / 0.86 (f) -0.32 / 1.05 0.25 / 0.66 0.02 / 0.92 Таблица 2 Точность прогноза LRN и сети Элмана Сеть Элмана LRN NN m1 1 m1 1 5 10 15 20 25 30 -0.129 0.077 -0.084 -0.084 -0.075 -0.116 0.348 0.301 0.323 0.252 0.363 0.324 -0.186 -0.074 -0.088 -0.036 -0.016 -0.019 0.258 0.295 0.306 0.313 0.302 0.243 Варьирование длительности периода прогноза. Для сети Элмана рассмотрены длительности периода прогноза, равные 20, 40, 60, 80, 100 и 120 мин. УДК 004.032.26(06) Нейронные сети 339 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Результаты исследования показывают, что в сети Элмана нецелесообразно использовать количество нейронов скрытого слоя, превышающее 40. Точность прогноза резко падает с увеличением длительность прогноза, и приемлемую точность сеть Элмана обеспечивает при длительности прогноза, не превышающей 40 мин. Варьирование длины обучающей выборки. Для сети Элмана рассмотрены длины обучающей выборки, равные одному дню (см. выше) и двум дням. Длительность периода прогноза изменялась от 60 до 120 мин. Результаты исследования показывают, что увеличение длины обучающей выборки до двух дней существенно не улучшает точность прогноза. Таким образом, LRN дают достаточно хорошие результаты при краткосрочном прогнозе и обучении алгоритмом градиентного спуска. При количестве нейронов скрытого слоя, большем 49, точность прогноза почти не зависит от этого количества. LRN не подходят для долгосрочных прогнозов. Исследования эффективности NARX-сети По схеме предыдущего раздела в работе выполнено исследование эффективности NARX-сети при варьировании количества нейронов NN в сети, алгоритма обучения, длительности периода прогноза и длины обучающей выборки. Кроме того, выполнено исследование зависимости эффективности сети от длины используемой линии задержки. Если не оговорено противное, далее полагается, что количество нейронов в сети NN равно 10, 30, 50, 70, 90; в качестве алгоритма обучения используется алгоритм градиентного спуска; период прогноза и длина обучающей выборки соответствуют одному дню; длина линии задержки составляет 5 значений. Варьирование алгоритмов обучения. Рассмотрены следующие алгоритмы обучения: (a) алгоритм градиентного спуска; (b) алгоритм сопряженных градиентов с возобновлениями ПауэраБэллза (conjugate gradient backpropagation with Power-Bells restarts); (c) алгоритм сопряженных градиентов с поправками Флетчера-Ривза (conjugate gradient backpropagation with Fletcher-Reeves updates); (d) алгоритм градиентного спуска с адаптивным коэффициентом обучения. УДК 004.032.26(06) Нейронные сети 340 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Результаты исследования представлены в табл. 3. Табл. 3 показывает, что более высокую точность прогноза NARX-сети обеспечивает использование для обучения сети алгоритма градиентного спуска. УДК 004.032.26(06) Нейронные сети 341 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Таблица. 3 Точность прогноза NARX-сети для различных алгоритмов обучения NN 10 30 50 70 90 m1 / 1 (a) -0.26 / 0.49 -0.17 / 0.64 -0.14 / 0.59 -0.14 / 0.69 -0.25 / 1.67 (b) -0.5 / 1.97 -0.45 / 1.43 -0.51 / 1.75 -0.42 / 1.79 -0.1 / 1.26 (с) -0.27 / 0.96 -0.55 / 1.92 -0.23 / 0.82 -0.59 / 2.72 -0.61 / 2.59 (d) -0.19 / 0.6 -0.64 / 2.21 -0.05 / 0.91 -0.09 / 1.08 -0.44 / 1.9 Варьирование периода прогноза. Исследована точность прогноза при длительности периода прогноза, равной T 20 , 60 и 100 мин. Результаты исследования представлены в табл. 4 и показывают, что на NARX сетях приемлемую точность можно получить только при периоде прогноза 20 мин. Для данного периода лучшую точность дает сеть с 20 нейронами, при этом даже этот результат хуже, чем результат сетей Элмана на тот же период прогноза. Таблица 4 Точность прогноза NARX-сети для различных периодов прогноза NN 10 30 50 70 90 T=20 -0.26 / -0.78 -0.17 / -0.96 -0.14 / -0.71 -0.14 / -1.25 -0.25 / -0.86 m1 / 1 T=60 3.11 / 3.11 3.22 / 3.22 2.03 / 2.03 4.9 / 4.9 2.86 / 2.86 УДК 004.032.26(06) Нейронные сети T=100 -1.15 / 4.62 -0.85 / 3.71 -1.01 / 3.63 -1.06 / 4.4 -0.83 / 3.93 342 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Варьирование длины обучающей выборки. Рассмотрены обучающие выборки, соответствующие одному и двум дням. Результаты исследования показывают, что увеличение длины обучающей выборки существенно увеличивает точность прогноза. Варьирование длины линии задержки. Исследованы длины линий задержки, равные 5, 10 и 15 значениям. Показано что более короткие (5 значений) линии задержки дают лучшие результаты, особенно при большом количестве (70) скрытых нейрнов. По сравнению с сетями Элмана, NARX сети дают существенно более низкую точность на краткосрочных прогнозах и неприемлемо низкую точность для долгосрочных прогнозов. При количестве нейронов в скрытом слое, превышающем 40, это количество несущественно влияет на точность прогноза. Более высокую точность прогноза обеспечивает алгоритм обучения градиентного спуска. Заключение Результаты исследования показывают, что лучшая точность прогноза достигается на сетях Элмана, обучаемых алгоритмом градиентного спуска. Имеет место существенная разница в точности прогноза LRN и сетей Элмана – точность прогноза с помощью NARX сетей существенно ниже точности прогноза с помощью сетей Элмана. Необходимы дополнительные исследования для оценки влияния на точность прогноза количество входных данных и их состава. Список литературы 1. Гоменюк С.М., Емельянов А.О., Карпенко А.П., Чернецов С.А. Методы прогнозирования оптимальных доз инсулина для больных сахарным диабетом I типа. Обзор // Наука и образование: электронное научнотехническое издание, www.technomag.edu.ru, апрель, 2009. 2. Гоменюк С.М., Емельянов А.О., Карпенко А.П., Чернецов С.А. Обзор методов и систем прогнозирования оптимальных доз инсулина для больных сахарным диабетом I типа // Информационные технологии. 2010 (в печати). 3. Chernetsov S.A., Emelyanov A.O., Karpenko A.P. Research of Neural Network-Based Blood Glucose Level Forecasting Systems for Insulin- УДК 004.032.26(06) Нейронные сети 343 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Dependant Diabetes Patients // The 6th international workshop on Wearable Micro and Nanosystems for Personalised Health (in print). УДК 004.032.26(06) Нейронные сети 344