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

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

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

Рисунок 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