Построение и исследование моделей краткосрочного прогнозирования гликемии у больных сахарным диабетом
.pdfРисунок 3.8 – Таблица значений На рисунке 3.9 представлен график изменения значений абсолютной по-
грешности прогнозируемых значений гликемии от эталонных образов.
Рисунок 3.9 – График изменения значений абсолютной погрешности
71
Построенная модель множественной линейной регрессии отвечает требо-
ваниям точности и может использоваться в качестве модели краткосрочного про-
гнозирования гликемии.
3.3.Разработка структуры нейросетевой модели
Для доказательства предположения о том, что нейросетевые модели явля-
ются более подходящими для решения задачи прогнозирования, построим нейронную сеть типа «многослойный персептрон» и нелинейную авторегресси-
онную нейронную сеть с внешним выходом (NARX) в среде разработки
MATLAB. Данные виды нейросетевых моделей являются наиболее пригодными для решения задачи прогнозирования [2, 4, 7].
Для разработки нейросетевых моделей будем использовать MATLAB R2021a. Данный пакет прикладных программ позволяет эффективно решать ряд технических и математических задач и помогает в научных исследованиях. По-
сле запуска программы появляется главное окно программы.
В командной строке вводим команду NNTool, которая вызовет окно ввода данных и создания нейронной сети (Neural Network/Data Manager).
Для начала выгружаем входные и выходные данные, сохраненные раннее.
Нажатие на кнопку Import открывает окно Import Network/Data Manager. Сначала выгружаем входные данные, выбирая в списке Import As тип данных Input Data.
Когда выгружаем выходные данные, в списке выбираем тип данных Target Data.
После выгрузки всех данных можно приступать к конструированию нейросетевой модели. Нажатие на кнопку New открывает окно создания нейрон-
ной сети или данных Create Network and Data. Здесь есть возможность выбора нейросетевой модели (Network type), входных/выходных данных (Input Data/Target Data), алгоритма обучения (Training function), адаптивную функцию обучения
(Adaptation learning function), функцию ошибки (Performance function), количе-
ство слоев нейронной сети (Number of layers) и указать количество нейронов в каждом слое (Number of neurons) и активационную функцию (Transfer function).
Окно для создания нейронной сети представлена на Рисунке 3.10.
72
Рисунок 3.10 – Окно создания нейронной сети Конкретные параметры, выбранные для создания нейросетевой модели
типа «многослойный персептрон», решающая поставленную задачу, представ-
лена на Таблице 3.1.
Таблица 3.1 – Параметры для создания нейросетевой модели
Параметр |
Выбранный пара- |
Расшифровка |
|
нейронной сети |
метр в MATLAB |
||
|
|||
|
|
|
|
Network Type |
Feed-forward backprop |
Многослойный персептрон |
|
|
|
|
|
Training Function |
TRAINLM |
Алгоритм Левенберга-Марк- |
|
вардта |
|||
|
|
||
|
|
|
|
Adaptation learn- |
LEARNGDM |
Обучающая функция градиент- |
|
ing function |
ного спуска |
||
|
|||
|
|
|
|
Performance func- |
MSE |
Среднеквадратичная ошибка |
|
tion |
|||
|
|
||
|
|
|
|
|
73 |
|
Параметр |
Выбранный пара- |
Расшифровка |
|
нейронной сети |
метр в MATLAB |
||
|
|||
|
|
|
|
Transfer function |
TANSIG |
Функция гиперболического тан- |
|
генса |
|||
|
|
||
|
|
|
Просмотр созданной сети можно организовать, воспользовавшись кнопкой
View. Для каждого из металлов были обучены самостоятельные нейронные сети.
Структура спроектированной нейронной сети изображена на рисунке 3.11.
Рисунок 3.11 – Структура многослойного персептрона с одним скрытым слоем Для оценки эффективности прогнозирования моделей различного типа было создано, спроектировано и обучено еще две модели нейронных сетей типа
«многослойный персептрон». На рисунке 3.12 представлена структура нейрон-
ной сети с 40 нейронами в скрытом слое.
Рисунок 3.12 – Структура многослойного персептрона с одним скрытым слоем
74
На рисунке 3.13 представлены параметры для создания многослойного персептрона с двумя скрытыми слоями по 40 нейронов в каждом.
Рисунок 3.13 – Окно создания нейронной сети Структура многослойного персептрона, созданного на предыдущем шаге,
представлена на рисунке 3.14.
Рисунок 3.14 – Структура многослойного персептрона с двумя скрытыми сло-
ями На рисунке 3.15 представлены параметры для создания нелинейной авто-
регрессионной нейронной сети с внешним выходом (NARX) и одним скрытым
75
слоем с 20 нейронами. Параметр Input delay vector задает входной вектор за-
держки, Output delay vector – выходной вектор задержки.
Рисунок 3.15 – Окно создания нейронной сети Структура созданной нейронной сети представлена на рисунке 3.16.
Рисунок 3.16 – Структура нелинейной авторегрессионной нейронной сети с внешним выходом и одним скрытым слоем
76
Было создано, спроектировано и обучено еще две модели NARX. На ри-
сунке 3.17 представлена структура нейронной сети с 40 нейронами в скрытом слое.
Рисунок 3.17 – Структура нелинейной авторегрессионной нейронной сети с внешним выходом и одним скрытым слоем
На рисунке 3.18 представлены параметры для создания модели NARX с
двумя скрытыми слоями по 40 нейронов в каждом.
77
Рисунок 3.18 – Окно создания модели Структура созданной нейронной сети представлена на рисунке 3.19.
Рисунок 3.19 – Структура нелинейной авторегрессионной нейронной сети с внешним выходом и двумя скрытыми слоями
78
3.4. Построение нейросетевых моделей и оценка точности
прогнозирования гликемии на обучающих данных
Для будущего обучения сети необходимо предварительно выгрузить ис-
ходные данные (dataset). Файл с электронными таблицами, где хранятся исход-
ные таблицы, перетаскиваем на рабочую панель Current Folder, где находятся до-
ступные для обработки данные. Рабочая панель Current Folder представлена на рисунке 3.20.
Рисунок 3.20. – Рабочая панель Current Folder
Исходные данные для обучения нейронной сети представлены в Приложе-
нии 1.
Нажав в рабочей панели на интересующую электронную таблицу, по-
явится окно, где представлены таблицы. Выделив область, выбрав в списке Imported Data, требуемое для обработки матричное представление данных Numeric Matrix, и нажав кнопку Import Selection можно выгрузить значения из таблицы исходных данных в подходящий для обучения матричный вид. Окно импорта исходных данных представлено на Рисунке 3.21.
79
Рисунок 3.21 – Импорт исходных данных После выгрузки обрабатываемых в дальнейшем данных закрываем окно
Import. Для открытия инструмента NNTool, который служит конструктором для конструирования собственных искусственных нейронных сетей, в командной строке, расположенной в окне Command Window, требуется набрать команду nntool и нажать Enter. Появится рабочая панель данного инструмента, которая представлен на Рисунке 3.22.
Рисунок 3.22 – Графическое окно инструмента NNTool
80