Добавил:
Преподаватель Колледжа информационных технологий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
5
Добавлен:
08.05.2022
Размер:
4.69 Mб
Скачать

ступлением в функцию активации могут комбинироваться различными спосо-

бами. Алгоритмы для комбинирования входов нейронов определяются в зависи-

мости от архитектуры и правил обучения.

Третьей компонентой является функция активации, или так называемая пе-

редаточная функция. Результат, который получается через прохождение функ-

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

Преимущественно применяют нелинейную функцию активации, по-

скольку линейные (прямолинейные) функции ограничены и их выход пропорци-

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

генс и др.

Для простой функции активации нейронной сети может выдавать 0 и 1, 1

и -1 или другие комбинации чисел. Функция активации в таких случаях является

«жестким порогом» или пороговой функцией.

Другой тип передаточной функции - линейная с насыщением «отзеркали-

вает» вход внутри заданного диапазона и действует как жесткий ограничитель за пределами этого диапазона. Это линейная функция, которая отсекается мини-

мальным и максимальным значениями, делая ее нелинейной.

Следующей является S-подобная кривая, которая приближает минималь-

ное и максимальное значения в асимптотах и называется сигмоидой, когда ее диапазон [0, 1], или гиперболическим тангенсом, при диапазоне [-1, 1]. Важной чертой этих кривых является непрерывность функций и их производных. При-

менение S-функций дает хорошие результаты и имеет широкое применение.

Графическое представление модели искусственной нейронной сети пред-

ставлена на рисунке 1.2.

31

Рисунок 1.2 – Модель искусственной нейронной сети Для разных нейронных сетей могут выбираться разные функции активации

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

Все искусственные нейронные сети конструируются из базового блока -

искусственного нейрона. Существующие разнообразия и отличия являются ос-

нованием для искусства талантливых разработчиков при реализации эффектив-

ных нейронных сетей.

1.10. Многослойный персептрон

Формальные нейроны могут объединяться в сети различным образом. Са-

мым распространенным видом сети стал многослойный персептрон (MLP – MultiLayer Perceptron), который в отличие от простейшего, кроме входного и выход-

ного слоя, имеет, по крайней мере, один скрытый слой [16]. Теоретически огра-

ничений на число скрытых слоев не существует, но на практике чаще всего при-

меняют один или два. Модель многослойного персептрона представлена на Ри-

сунке 1.3.

32

Рисунок 1.3 – Модель многослойного персептрона Нейроны организованы в послойную структуру с прямой передачей сиг-

нала. Каждый нейрон сети продуцирует взвешенную сумму своих входов, про-

пускает эту величину через передаточную функцию и выдает выходное значе-

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

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

вчастности:

1.Количество входов и выходов сети определяются количеством вход-

ных и выходных параметров исследуемого объекта, явления, процесса, и т.п. В

отличие от внешних слоев, число нейронов скрытого слоя выбирается эмпири-

ческим путем. В большинстве случаев достаточное количество нейронов составляет nск nвх + nвых, где nвх, nвых - количество нейронов во входном и, соответственно, в выходном слоях.

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

33

3.Если моделируемый процесс может разделяться на несколько этапов,

нужен дополнительный скрытый слой для каждого этапа. Если процесс не раз-

деляется на этапы, тогда дополнительные слои могут вызвать перезапоминание и, соответственно, неверное общее решение.

После того, как определено число слоев и число нейронов в любом из них,

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

нимизировать погрешность полученного результата. Существует несколько ва-

риантов решения этой проблемы, однако мы остановимся на распространении сигналов ошибки от выходов нейронной сети к ее входам, в направлении, об-

ратно прямому распространению сигналов в обычном режиме работы. Этот ал-

горитм получил название процедуры обратного распространения ошибки (error back propagation). Рассмотрим его подробнее.

Алгоритм обратного распространения ошибки – это итеративный гради-

ентный алгоритм обучения, который используется с целью оптимизации средне-

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

Согласно методу наименьших квадратов, минимизируемой целевой функ-

цией ошибки нейронной сети является величина

E(w)

1

y(jkQ) d jk 2

,

(7)

2

 

jk

 

 

где y(Q)jk – реальное выходное состояние нейрона j выходного слоя нейрон-

ной сети при подаче на ее входы k-го образа, djk – требуемое выходное состояние этого нейрона.

Суммирование ведется по всем нейронам выходного слоя и по всем обра-

батываемым сетью образам. Минимизация методом градиентного спуска обес-

печивает подстройку весовых коэффициентов следующим образом

w(q)

E

 

(8)

 

,

 

ij

w

 

 

 

ij

 

 

34

где wij — весовой коэффициент синаптической связи, соединяющей i

нейрон слоя (q-1) с j-м нейроном слоя q, – коэффициент скорости обучения,

01 .

Всоответствии с правилом дифференцирования сложной функции

E

 

E

 

dy

 

s j

 

(9)

 

 

 

 

 

 

 

 

,

w

y

j

 

ds

j

 

w

 

 

 

 

ij

 

 

 

 

 

ij

 

где sj –взвешенная сумма входных сигналов нейрона j, т.е. аргумент акти-

вационной функции. Так как производная функции активации должна быть опре-

делена непосредственно на всей оси абсцисс, то функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассмат-

риваемых нейронных сетей. В них применяются гладкие функции, имеющие не-

прерывную производную на всем множестве области определения, такие как ги-

перболический тангенс или сигмоидальная функция с экспонентой. Например, в

случае гиперболического тангенса

dy

1 s2 ,

(10)

ds

 

 

Что касается первого множителя в выражении (9), он легко раскладывается следующим образом:

E

 

E

 

dyr

 

sr

 

E

 

dyr

w(jrq 1)

,

y

 

 

ds

 

y

 

 

 

j

r

y

 

 

 

j

r

y

 

 

ds

 

 

 

r r

 

 

 

r r

 

Здесь суммирование по r выполняется среди нейронов слоя (q+1).

Введя новую переменную:

(q )

E

 

dy

j

 

 

 

 

 

y

 

 

ds

,

j

 

 

 

 

 

 

 

 

 

 

j

 

 

j

(11)

(12)

получим рекурсивную формулу для расчетов величин (j q) слоя q из вели-

чин (j q 1) более старшего слоя (q+1)

 

 

dy j

 

 

j(q ) r(q 1) w(jrq 1)

 

 

,

(13)

 

 

r

ds j

 

 

Для выходного слоя:

35

j(Q) y(Q)j

d j

dy j

,

 

 

 

ds j

Теперь можно записать (9) в раскрытом виде:

wij(q) (j q) yi(q 1) ,

(14)

(15)

Иногда для придания процессу коррекции весов некоторой инерционно-

сти, сглаживающей резкие скачки при перемещении по поверхности целевой функции, (15) дополняется значением изменения веса на предыдущей итерации.

w(q) (t) ( w(q) (t 1) (1 ) (q) y(q 1) )

,

(16)

ij

ij

j i

 

где – коэффициент инерционности, t – номер текущей итерации.

Таким образом, полный алгоритм обучения нейронной сети с помощью

процедуры обратного распространения ошибки строится следующим образом.

Шаг 1. Подать на входы сети один из возможных образов и в режиме обыч-

ного функционирования нейронной сети, когда сигналы распространяются от

входов к выходам, рассчитать значения последних. Напомним, что

L

 

 

s(jq) y(jq 1) wij(q)

,

(17)

i 0

 

 

где L – число нейронов в слое (q-1) с учетом нейрона с постоянным выход-

ным состоянием +1, задающего смещение; y(q 1) w(q ) i-й вход нейрона j слоя q.

i

ij

 

y(jq) f (s(jq) ) ,

 

(18)

где f ( ) – сигмоидальная функция.

 

 

Шаг 2. Рассчитать (q) для выходного слоя по формуле (8).

 

Рассчитать по формуле (15) или (16) изменения весов w(Q)

слоя Q.

Шаг 3. Рассчитать по формулам (13) и (15) (или (13) и (16)) соответственно

(q) и w(Q) для всех остальных слоев, q (Q 1)...1.

 

 

Шаг 4. Скорректировать все веса в нейронной сети:

 

wij(q) (t) wij(q) (t 1) wij(q) (t) ,

(19)

36

 

 

Шаг 5. Если ошибка сети несущественна, перейти на шаг 1. В противном случае – конец.

Сети на шаге 1 попеременно в случайном порядке предъявляются все об-

разы для тренировки, чтобы сеть, образно говоря, не забывала одни по мере за-

поминания других.

1.11. Нелинейная авторегрессионная нейронная сеть

Нелинейная авторегрессивная сеть с внешними входными параметрами

(NARX) является динамической сетью с обратными связями, заключающими не-

сколько слоев сети. Модель NARX основана на линейной модели ARX, которая обычно используется в моделировании временных рядов.

Уравнение определения для модели NARX:

( ) = ( ( − 1), ( − 2), … , ( − ), ( − 1), ( − 2), …,

(20)

( − ))

где следующее значение зависимого выходного сигнала y (t) регрессируется на предыдущих значениях выходного сигнала и предыдущих значениях независи-

мого (внешнего) входного сигнала. Можно реализовать модель NARX при по-

мощи нейронной сети прямого распространения, чтобы аппроксимировать функ-

циональный . Схему получившейся сети представлена на рисунке 1.4, где 2-х

слойная сеть прямого распространения используется для приближения. Эта реа-

лизация также допускает векторную модель ARX, где ввод и вывод может быть многомерным.

Рисунок 1.4 – Схема сети NARX

37

Существует много приложений для сети NARX. Данная модель может ис-

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

ется бесшумной версией входного сигнала, в моделировании нелинейных дина-

мических систем.

1.12Множественная линейная регрессия

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

ной переменной от нескольких входных. Многие задачи Data Mining имеют до-

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

вают многомерной линейной регрессией). Как правило, она обеспечивает более высокую точность оценки, чем простая.

Если простая линейная регрессия использует приближение в виде прямой линии, то множественная линейная регрессия для моделирования линейных свя-

зей между выходной переменной и набором входных – плоскость (если входных переменных две) или гиперплоскость (если входных переменных более, чем две).

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

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

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

строить соответствующую регрессионную модель и определить ее значимость.

При построении такой модели можно использовать те же подходы, что и для про-

стой линейной регрессионной модели. Множественная регрессионная модель

38

представляет собой прямое расширение простой линейной регрессионной мо-

дели для заданного числа переменных:

=

+

 

+

 

+ +

 

+ ,

(21)

0

1

1

2

2

 

 

 

 

где 0, 1, …, – параметры модели, представляющие собой константы, зна-

чения которых оцениваются с помощью метода наименьших квадратов.

1.13Выводы

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

ция и характеристика временных рядов, выполнен сравнительный анализ эффек-

тивности моделей прогнозирования временных рядов для получения точных прогнозов в контексте решаемой задачи на базе многопараметрических времен-

ных рядов. Проведенный анализ показал, что для решения задачи прогнозирова-

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

39

ГЛАВА 2. ОПИСАНИЕ И ПОДГОТОВКА ИСХОДНЫХ ДАННЫХ ДЛЯ

АНАЛИЗА

В данной главе дается характеристика исходных данных для дальнейшего их использования в прогностических моделях. Описывается принцип построения автоматического синтаксического анализатора данных биологического мони-

торинга, осуществляющий предварительную подготовку данных для дальней-

шего построения адекватных прогностических нейросетевых моделей, и про-

цесс формирования обучающей и тестовой выборки.

2.1. Описание исходных данных

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

соров, установленных на теле испытуемых, и измеряющих уровень сахара в крови каждые 5 минут (система Enlite Medtronic), данных инсулиновых инъек-

ций с устройств непрерывного введения Medtronic Minimed 722, потребленных углеводов. Распределение активного инсулина и активных углеводов рассчиты-

валось согласно кривым действия инсулина [21] и формулам расщепления угле-

водов. Расчетные и измеренные данные получены в автоматическом режиме с использованием открытой международной платформы OpenAPS [25]. Данные получены в формате файлов логгирования.

Журналы записей серверного модуля (лог-файлы) представляют собой специальные файлы, в которых протоколируются определённые действия про-

граммы на сервере. Из всех протоколированных действий для составления обу-

чающих выборок из лог-файлов извлекались три параметра:

1)текущий уровень гликемии;

2)содержание углеводов в крови;

3)содержание инсулина в крови.

Именно они являются значимыми внешними факторами для прогноза [5].

Чтобы выделить необходимые данные из всех логгированных записей был реа-

лизован вспомогательный программный скрипт на языке программирования Java

40