Способ анализа медицинских данных с помощью нейронной сети LogNNet Российский патент 2021 года по МПК A61B5/00 G16H10/00 G06Q50/00 

Описание патента на изобретение RU2754723C1

Область техники, к которой относится изобретение

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

Уровень техники

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

Существует патент [1], в котором изложен способ подготовки классификатора для систем поддержки принятия врачебных решений. Не все пациенты имеют необходимое количество медицинских показателей здоровья, которое содержится в тренировочной выборке систем принятия врачебных решений. Классификаторы этих систем могут работать неправильно при отсутствии того или иного показателя, и это может привести к критическим ошибкам классификации и ошибкам оценки риска заболевания. Простейший метод, когда недостающие данные заменяются средним значением по данному показателю из обучающей базы данных, в большинстве случаев приводит к ошибкам классификации. В патенте [1] предложен способ, когда в случае отсутствия определённых координат во входном векторе признаков, например, присутствует m признаков из N возможных (m<N), применяется классификатор, натренированный именно на присутствующие m признаков. Таким образом, необходимо либо подготовить заранее несколько классификаторов и применять их в зависимости от наличия тех или иных показателей здоровья, либо “на лету” перетренировать классификатор, оставив в тренировочной базе только те m-признаков здоровья, которые присутствуют у пациента.

Идея трансформации вектора признаков из первого многомерного пространства во второе многомерное пространство и дальнейшее его распознавание линейным классификатором является основой некоторых методов машинного обучения. Различие заключается в алгоритмах трансформации, их числе и последовательности. Алгоритмы трансформации могут быть самые разнообразные - как с понижением, так и с повышением размерности пространства. Например, наиболее популярными алгоритмами для анализа звука или изображения являются алгоритмы сверточных нейронных сетей, где из начального вектора изображения выделяются особые признаки методом свертки. Таким образом, снижается размерность пространства вектора и затем он классифицируется линейным классификатором. Популярными алгоритмами, для анализа, медицинских данных являются следующие алгоритмы машинного обучения: многослойный персептрон (нейронная сеть прямого распространения с несколькими слоями, линейный классификатор), метод опорных векторов, метод К-ближайших соседей, XGBoost классификатор, метод случайного леса, логистическая регрессия, деревья решений. В многослойном персептроне действие скрытых слоев можно также рассматривать как последовательную трансформацию вектора признаков из одного многомерного пространства в другое, где коэффициенты матриц связи слоев обучаются методом обратного распространения ошибки. Идея трансформации вектора признаков в пространство более высокой размерности наиболее развита в методе опорных векторов, где используются нелинейные функций ядер преобразования. Подобная процедура подробно описана в патенте [2], где предложен перевод вектора признаков из первого D-мерного пространства, в вектор признаков второго D·E- мерного пространства, где E целое число. Вектор признаков второго пространства получается из первого путем конкатенации результата воздействия специальных функций на элементы вектора первого пространства. После этой процедуры признаки во втором пространстве классифицируются линейным классификатором. Недостатком данного метода является сложность вычисления признаков второго пространства, необходимость подбора специальных функций, и кратное D увеличение размерности второго пространства, что может привести к вычислительным затратам при больших E.

Существует работа автора настоящей заявки [3], где описан классификатор на основе нейронной сети LogNNet на примере распознавания рукописных цифр из базы данных MNIST. На Фиг. 1 представлена общая схема поясняющая применение классификатора LogNNet. Входной объект (1) в виде вектора признаков (2), обозначенного как d, поступает на классификатор LogNNet (3). Вектор признаков содержит N=784 координат (d1, d2… dN), где число N определяется числом пикселей в изображении рукописных цифр. В результате на выходе классификатора определяется класс объекта (4), к которому относится входной вектор признаков d. Число возможных классов в работе M=10 и определяется значением цифры на изображении от ‘0’ до ‘9’. Внутри классификатора есть резервуар со специальной матрицей (5), обозначенной как W. Вектор d сначала преобразуется в вектор y (6) размерности N+1 c дополнительной координатой y0=1 и перемножается со специальной матрицей W, размерности (N+1) × P. В результате получается вектор s’ (7), имеющий P координат, который нормируется и переводится в вектор s (8) размерности P+1 c нулевой координатой s0=1, играющей роль элемента смещения. Таким образом, происходит первичная трансформация вектора признаков d во второе (P+1) -мерное пространство. Затем вектор s подается на однослойный или двуслойный линейный классификатор (9), с числом выходов M=10. Важным моментом работы [3] является способ заполнения специальной матрицы W, блок-схема которого (10) показана на Фиг. 2. В работе предлагается вариант заполнения с помощью двух уравнений (11). На основе функции синуса заполняется первая строчка (12) матрицы W по формуле

, (1)

где параметр i меняется от 0 до N, параметры A = 0.3, B = 5.9.

Последующие элементы матрицы заполняются по формуле логистического отображения

, (2)

где p меняется от 1 до P, а r параметр в диапазоне от 0 до 2.

В работе показано, что параметра r влияет на точность классификации LogNNet, и что наибольшая точность классификации изображений достигается, когда r соответствует области хаотического поведения логистического отображения.

В патенте [4] (прототип) описывается система для анализа биологических данных, поступающих из удаленного источника, анализируемых нейронной сетью на основе метода опорных векторов. Суть системы заключается в дистанционной обработке данных о генах, белках, липидах и прогнозировании аномальных физиологических состояний, с дальнейшей высылкой результата обратно заказчику. Помимо прочего, входные данные могут содержать клинические данные, испытания и наблюдения, физические и химические измерения, расшифровку генома, гормональные и иммунологические тесты, нейрохимические или нейрофизические измерения, уровень минералов и витаминов, генетические тесты и другие данные, которые могут дать представление о состоянии физического лица или группы лиц.

Способ обработки включает этап предварительной обработки набора обучающих данных, для максимально эффективного обучения метода опорных векторов. Каждый элемент тренировочной выборки представляет собой вектор, имеющий одну или несколько координат. Предобработка включает в себя определение векторов с пропущенными или ошибочными данными и проведение соответствующих действий для корректировки этих данных или исключения из тестовой выборки. К начальному вектору данных может быть добавлена дополнительная координата, например, являющаяся определённой комбинацией или трансформаций других координат. Чем выше размерность вектора обучающей выборки, тем большую обобщающую способность имеет метод опорных векторов. Тестовая выборка данных обрабатывается таким же образом, как и обучающая выборка. В методе опорных векторов перед этапом обучения должно быть выбрано хотя бы одно ядро. Тип ядра выбирается на основе проблематики, к которой относятся данные. В общем случае ядро может быть выбрано оптимизацией, руководствуясь наилучшими показателями при тестировании.

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

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

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

Раскрытие сущности изобретения

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

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

Перечень фигур

Фиг.1 Блок-схема нейронной сети LogNNet. Фиг.2 Блок-схема процесса заполнения специальной матрицы W. Фиг.3 Алгоритм обучения LogNNet. Фиг.4 Алгоритм тестирования LogNNet. Фиг.5 Алгоритм анализа медицинских данных с помощью LogNNet. Фиг.6 Блок-схема процесса заполнения специальной матрицы W числами, генерируемыми хаотическим отображением.

1 - входной объект, 2 - вектор признаков объекта d, 3 - модуль LogNNet, 4 - класс объекта, 5 - специальная матрица W, трансформированный вектор признаков z, 6 - вектор y, 7 - вектор s’ результат перемножения W×d, 8 - вектор s после нормировки s’, 9 - выходной линейный классификатор, 10 - блок заполнения специальной матрицы W, 11 - система уравнений (1-2) с хаотическим отображением, 12 - процесс построчного заполнения матрицы W, 13 - старт алгоритма обучения, 14 - блок определения тренировочной выборки из базы данных типа 1 или 2, 15 - блок балансировки тренировочной выборки, 16 - блок задания постоянных параметров модели, 17 - блок задания параметров для оптимизации, 18 - блок генерации оптимизируемых параметров методом роя частиц, 19 - блок заполнения специальной матрицы W, 20 - блок обучения сети классификатора сети LogNNet, 21 - цикл оптимизации методом роя частиц, 22 - блок определения метрик классификации по валидационной выборке, 23 - оператор условия достижения желаемых метрик классификации или числа итераций в процессе оптимизации, 24 - условие выполняется, 25 - условие не выполняется, 26 - конец алгоритма обучения, 27 - старт алгоритма тестирования, 28 - блок определения тестовой выборки из базы типа 1 или 2, 29 - блок задания постоянных параметров модели, 30 - блок задания оптимальных параметров полученных после обучения, 31 - блок заполнения специальной матрицы W, 32 - блок тестирования нейронной сети LogNNet, 33 - блок определения метрик классификации по тестовой выборке, 34 - конец алгоритма тестирования, 35 - старт алгоритма анализа медицинских данных, 36 - блок получения вектора признаков от пациента, 37 - блок исправления или добавления координат вектора признаков, 38 - оператор условия соответствия вектора модели, 39 - условие не выполняется, 40 - условие выполняется, 41 - блок классификации вектора признаков нейронной сетью LogNNet, 42 - анализируемый вектор признаков, 43 - блок оценки факторов риска на наличие заболевания, 44 - конец алгоритма, 45 - блок построчного заполнения специальной матрицы W числами, генерируемыми хаотическим отображением.

Осуществление изобретения

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

Изобретение заключается в способе анализа медицинских данных с помощью нейронной сети LogNNet. Обычно базы медицинских данных предоставляются в двух форматах: разделённые (тип 1) и не разделённые (тип 2) на тестовую и тренировочную выборки. Тестирование модели производят с помощью оценки стандартных метрик качества классификации: точность (Precision), полнота (Recall) и F1-мера - среднее гармоническое между точностью и полнотой. Для данных типа 2 обычно применяют методику K-фолдовой кросс-валидации, когда все данные разделяют на K частей (ниже приведены примеры для K=5), и затем одну из частей принимают за тестовую выборку, а остальные K-1 частей - за тренировочную выборку. Затем вычисляют среднее значение этих метрик для всех К случаев, когда поочередно тестовой выборкой становится одна из K частей базы данных.

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

Блок-схема процесса обучения LogNNet показана на Фиг. 3. Обучение системы начинается с операции определения тренировочной выборки из базы данных типа 1 или типа 2 (13-14). Затем производится балансировка тренировочной выборки (15). Этап балансировки является очень важным и подразумевает выравнивание количества объектов по каждому классу, дополняя классы копиями уже существующих объектов, с последующей сортировкой тренировочной выборки в последовательном порядке. Более подробно процесс балансировки можно описать на примере. Предположим, тренировочная выборка состоит из 10 объектов. Каждому объекту присвоен вектор признаков d_z, где z - номер объекта z=1..10. Все объекты распределены на 3 класса. Например, пять объектов класса 1 (d_1, d_2, d_4, d_7, d_10), три объекта класса 2 (d_3, d_8, d_9) и два объекта класса 3 (d_5, d_6). Находим максимальное число объектов в классах MAX, в нашем примере MAX=5 для класса 1, и дополняем остальные группы копиями уже существующих объектов (дублирование), для выравнивания количества до MAX. Так для класса 2 получаем группу (d_3, d_8, d_9, d_3, d_8), а для класса 3 - (d_5, d_6, d_5, d_6, d_5). После чего составляем сбалансированную тренировочную выборку, выбирая поочередно один объект из каждой группы. В результате получаем следующий тренировочный набор (d_1, d_3, d_5, d_2, d_8, d_6, d_4, d_9, d_5, d_7, d_3, d_6, d_10, d_8, d_5), состоящий из 15-ти векторов, с одинаковым числом объектов в каждом классе.

На следующем этапе (16) необходимо задать значения постоянных параметров модели: величину P- определяющую размерность векторов s' и s (7-8), число слоев в линейном классификаторе (9), число эпох для обучения методом обратного распространения ошибки (20), число нейронов скрытого слоя классификатора (9), в случае двухслойного классификатора.

Далее, необходимо выбрать список оптимизируемых параметров (17), в основном, это параметры хаотического отображения и других формул для построчного заполнения матрицы W. В базовой версии LogNNet [3] это параметры A, B и r формул (1-2). В настоящем изобретении предлагается использовать также другие хаотические отображения для заполнения матрицы W (см. Таблицу 1). В частности, будет использовано отображение Эно и его модификация.

Затем начинается обучение сети LogNNet, производимое двумя вложенными итерациями. Внутренняя итерация (19) производит обучение выходного классификатора LogNNet методом обратного распространения ошибки (20) на тренировочной выборке, внешняя итерация (21) оптимизирует параметры модели. Внешняя итерация может быть реализована на основе метода роя частиц, в котором задаются пределы изменения оптимизируемых параметров и константы метода оптимизации, весовая доля инерции, локальные и глобальные весовые доли. После задания констант алгоритм генерирует значения параметров модели и происходит заполнение специальной матрицы W (19).

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

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

В случае неудовлетворения условию (25) происходит следующая итерация (21) и генерация новых приближений параметров модели в блоке (18). В случае удовлетворения условиям (24) алгоритм обучения заканчивается.

Алгоритм тестирования представлен на Фиг. 4. Тестирование (27) начинается с определения тестовой выборки из базы данных типа 1 или типа 2 (28). Обязательным условием является то, что тестовые данные не должны участвовать в процессе обучения, описанном в предыдущем абзаце. Затем устанавливаются постоянные параметры модели (29), соответствующие тем же значениям, что и при обучении (16). Далее задаются параметры, полученные после обучения модели, в частности, параметры хаотического отображения и формул для заполнения матрицы W (30), а также веса выходного классификатора (9). Построчно заполняется специальная матрица W (31), и производится тестирования сети LogNNet на тестовых данных (32). В блоке (33) определяются метрики классификации и алгоритм заканчивается (34).

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

Алгоритм обработки данных пациентов представлен на Фиг. 5. В начале алгоритма (35) происходит получение вектора признаков медицинских данных от пациента (36). Если вектор содержит пропущенные данные, эти данные дополняются (37). Затем производится проверка (38) на соответствие вектора признаков формату, который применялся при обучении и тестировании. Если формат вектора соответствует модели (40), то начинается процесс анализа, если нет (39) - производится его исправление (37).

Перед классификацией задаются постоянные значения (29) и оптимальные параметры, полученные в результате обучения (30), значения весов классификатора (9), заполняется матрица (31) и производится классификация вектора (41). Анализируемый вектор (42) подается на нейронную сеть LogNNet, на выходе которой определяется класс объекта (4), по которому производится оценка факторов риска на наличие заболевания у пациента (43), и алгоритм завершается (44).

Матрица резервуара в базовом варианте сети LogNNet [3] заполняется числами, генерируемыми по формулам (1) и (2). В настоящем изобретении мы предлагаем расширить варианты заполнения матрицы с использованием других хаотических отображений. Заполнение может быть произведено построчно с помощью хаотических отображений, приведенных в таблице 1.

Таблица 1. Варианты хаотических отображений, списки оптимизируемых параметров с пределами их вариации, формулы и наименования моделей.

Наименование
хаотического отображения
Наименование
модели
Список оптимизируемых
параметров (пределы)
Формула
Синус и Логистическое по работе [3] LogNNet A (-1..1)
B(0.1-10)
r (0.1-2)
Формулы (1-2)
Логистическое LogNNet/Logistic x0 (-1..1)
r (1-4)
(3)
Синус LogNNet/Sin x0 (-1..1)
r (0-2)
(4)
Гауса LogNNet/Gaus x0 (-1..1)
r1 (-1..1)
r2 (3-6)
(5)
Двустороннее LogNNet/2sided x0 (0..10)
r (0..100)
(6)
Планка LogNNet/Plank x0 (0..5)
r (0..7)
(7)
Эно LogNNet/Henon1 x0 (0.01..1.5)
r (0.01..10)
r1 (0..1.5)
r2 (0..1.5)
(8)
Модифицированный Эно LogNNet/Henon2 x0 (0.01..1.5)
x0 (0.01..10)
r1, r2, r3, r4 (0..1.5)
(8)

Блок-схема процесса заполнения специальной матрицы W с помощью хаотического отображения представлена на Фиг.6. Хаотическое отображение (45) генерирует последовательность вещественных чисел, которые построчно (12) заполняют матрицу W. На языке программирования Паскаль заполнение матрицы может выглядеть следующим образом:

for j:=1 to P do

for i:=0 to N do

begin

xnp1=F(xn)

W1[i,j]:=xnp1;

xn:=xnp1

end;

end;

Здесь функция F(xn) одна из функций логистического отображения (3-8), xn обозначает xn, а xnp1 обозначает xn+1.

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

При использовании формул хаотических отображений (1-8) можно достичь эффекта уменьшения потребляемой оперативной памяти за счет пересчета коэффициентов специальной матрицы W. В работе [3] нами было показано, что существует возможность реализовать сеть LogNNet на периферийных устройствах интернета вещей с объемом оперативной памяти вплоть до 2 кБ. В связи с этим можно предложить реализацию мобильных систем поддержки принятия врачебных решений, включённых в сеть интернета вещей. Подобные системы могут применяться в том числе для самодиагностики пациентов.

Примеры использования изобретения

Пример 1. Модель оценки риска заболевания COVID-19, вызванного вирусом SARS-CoV-2.

Пандемия нового коронавирусного заболевания 2019 (COVID-19) вызванного SARS-CoV-2, продолжает представлять серьезную угрозу здоровью населения. Способность быстро принимать клинические решения и эффективно использовать ресурсы здравоохранения имеет важное значение в борьбе с пандемией. Одним из современных методов тестирования на короновирусную инфекцию является ПЦР-анализ, использующий полимеразную цепную реакцию. Доступность анализа была долгое время затруднена в развивающихся странах, что способствовало повышению уровня инфицирования. Поэтому развитие методов эффективного скрининга, позволяющих быстро диагностировать COVID-19 и способствующих снижению нагрузки на системы здравоохранения, является важным направлением развития медицинских методов диагностики. Даже при доступном ПЦР анализе не многие люди обращаются в диагностические лаборатории по причине общей загруженности делами и слабой осведомленности о признаках заболевания. В связи с этим очень важным является разработка моделей прогнозирования результатов теста COVID-19, которые призваны помочь медицинскому персоналу в сортировке пациентов, особенно в условиях ограниченных ресурсов здравоохранения, и способствующих развитию мобильных сервисов по самодиагностике на дому.

Министерство здравоохранения Израиля опубликовало данные о лицах, которые были протестированы на SARS-CoV-2 с помощью анализа мазка из носоглотки методом ПЦР [5]. Эти данные активно используются учеными для создания моделей прогнозирования [6]. Помимо даты и результата ПЦР теста, в исходной базе доступна различная информация, включая клинические симптомы, пол, данные о том, что возраст испытуемого превышает 60 лет и был ли контакт с инфицированным человеком. Список полей приведен в таблице 2. Информация может быть представлена в бинарном виде (0 или 1), или в виде ответов (Да или Нет) на поставленные вопросы. Клинические симптомы могут быть получены при первичном осмотре пациента. Процедура не требует значительных ресурсов медицинского центра, в частности, пациент может быть опрошен на дому или осмотр произведен самостоятельно.

Таблица 2. Представление данных о пациенте в базе данных

Поля Варианты ответов Бинарный вид
для модели LogNNet
1 Пол Мужской или женский 1 /0 2 Возраст ≥ 60 лет Да/Нет 1 /0 3 Кашель Да/Нет 1 /0 4 Жар, температура Да/Нет 1 /0 5 Боль в горле Да/Нет 1 /0 6 Одышка Да/Нет 1 /0 7 Головная боль Да/Нет 1 /0 8 Был ли контакт с человеком, у которого подтверждено наличие COVID-19 Да/Нет 1 /0 9 Результат НЦР
Теста на COVID-19
Негативны/Позитивный
(Negative /Positive)
0 /1
10 Дата

На основе этих данных мы разработали модель LogNNet, которая прогнозирует результаты теста на COVID 19 с использованием восьми бинарных характеристик, представленных в таблице 2 под номерами 1-8.

Базу данных мы отнесли к типу 1, в которой выделили тренировочную и тестовую выборки. Тренировочная выборка состояла из 46872 записей протестированных лиц, из которых у 3874 подтверждено наличие COVID-19 (Positive), а у 42998 не подтверждено (Negative) за период с 22 марта 2020 года по 31 марта 2020 года. Тестовая выборка содержала данные за следующую неделю, с 1 апреля по 7 апреля 2020 года, состояла из 43 916 протестированных лиц, из которых у 3370 подтверждено наличие COVID-19.

В соответствии c алгоритмом (см. Фиг.3) была проведена балансировка тренировочной выборки, в результате чего число элементов в выборке возросло до 85996, при этом число подтверждённых и не подтвержденных диагнозов COVID-19 выровнялось до 42998. Затем были выставлены значения постоянных параметров модели: число слоев в линейном классификаторе равное 2, число эпох для обучения 50, величина P и число нейронов скрытого слоя H линейного классификатора. Значения P и H определялись двумя архитектурами 8:16:10:2 (P=16, H=10) и 8:6:4:2 (P=6, H=4). Были протестированы все хаотические отображения, представленные в Таблице 1, где также приведен список оптимизируемых параметров для каждого отображения. Далее проводилась оптимизация параметров методом роя частиц. После нахождения оптимальных значений, было проведено тестирование в соответствии с алгоритмом на Фиг. 4. Результаты тестирования моделей для архитектур 8:16:10:2 и 8:6:4:2 представлены в таблицах 3-4.

Таблица 3. Метрики классификации моделей оценки риска заболевания COVID-19 при различных хаотических отображениях для архитектуры сети LogNNet 8:16:10:2.

Архитектура слоев
8:16:10:2
Общая
точность, A,%
Precision Recall F1
Модель Negative Positive Negative Positive Negative Positive LogNNet 95,12 0,981 0,653 0,966 0,774 0,973 0,709 LogNNet/Logistic 94,93 0,981 0,641 0,964 0,771 0,972 0,700 LogNNet/Sin 95,12 0,981 0,653 0,966 0,774 0,973 0,709 LogNNet/Gaus 94,98 0,980 0,646 0,965 0,766 0,973 0,701 LogNNet/2sided 95,23 0,980 0,666 0,968 0,758 0,974 0,709 LogNNet/Plank 94,93 0,981 0,641 0,964 0,771 0,972 0,700 LogNNet/Henon1 95,26 0,980 0,667 0,968 0,763 0,974 0,712 LogNNet/Henon2 95,12 0,981 0,653 0,966 0,774 0,973 0,709

Таблица 4. Метрики классификации моделей оценки риска заболевания COVID-19 при различных хаотических отображениях для архитектуры сети LogNNet 8:6:4:2.

Архитектура слоев
8:6:4:2
Общая
точность, A,%
Precision Recall F1
Модель Negative Positive Negative Positive Negative Positive LogNNet 95,15 0,981 0,657 0,967 0,769 0,974 0,709 LogNNet/Logistic 95,12 0,981 0,653 0,966 0,774 0,973 0,709 LogNNet/Sin 95,46 0,975 0,707 0,976 0,698 0,975 0,702 LogNNet/Gaus 95,16 0,979 0,664 0,968 0,748 0,974 0,703 LogNNet/2sided 95,20 0,979 0,665 0,968 0,754 0,974 0,707 LogNNet/Plank 94,93 0,981 0,641 0,964 0,771 0,972 0,700 LogNNet/Henon1 95,12 0,981 0,653 0,966 0,774 0,973 0,709 LogNNet/Henon2 95,22 0,974 0,689 0,974 0,685 0,974 0,687

В таблицах представлены архитектуры, у которых разное число нейронов в резервуаре 16 и 8, а также разное число нейронов в скрытом слое выходного классификатора 10 и 4. Число нейронов на выходе равно 2 в соответствии с двумя классами на наличие заболевания (Negative и Positive). Видно, что сеть с более низким числом слоев 8:6:4:2 в целом справилась немного лучше сети с архитектурой 8:16:10:2, и самый лучший результат соответствует модели LogNNet/Sin 8:6:4:2 (A=95,46%), с хаотическим отображением синуса. То, что модель с меньшим числом нейронов справилась с задачей лучше, является не общим правилом, а скорее исключением из правил, связанное с тем, что переобучить систему с меньшим числом нейронов сложнее. Поэтому для каждой отдельной практической задачи надо испытать несколько архитектур LogNNet с различным числом нейронов в резервуаре и скрытом слое классификатора, и выбрать лучшую, либо включить эти параметры в список оптимизируемых наряду с параметрами хаотического отображения. В целом, применение практически всех хаотических отображений привело к хорошему проценту прогнозирования порядка 95%, при этом показатели Precision, Recall и F1 были выше у класса Negative. Результаты теста в отдельных случаях были даже лучше по сравнению, например, с работой [6].

В связи с тем, что число нейронов в моделях невелико, даже меньше чем в работе [3], они могут быть воплощены на периферийных устройствах интернета вещей с низкими вычислительными ресурсами. Это открывает перспективы применения моделей для мобильной диагностики в системах поддержки принятия врачебных решений и самодиагностики пациентов.

Пример 2. Модель оценки перинатального риска

Осложнения во время родов является одной из основных причин перинатальной смертности. Кардиотокограмму (КТГ) плода можно использовать в качестве инструмента мониторинга для выявления женщин из группы высокого риска во время родов. В данном примере ставилась цель изучить точность метода машинного обучения на основе нейронной сети LogNNet на данных КТГ при идентификации женщин из группы высокого риска. Данные КТГ 2126 беременных женщин были получены из репозитория машинного обучения Калифорнийского университета в Ирвине [7]. База содержит набор признаков для каждого пациента, представленных в таблице 5.

Таблица 5. Список признаков в базе данных “ Cardiotocographic data”

Обозначение Значение Краткий перевод 1. FileName FileName of CTG examination Имя файла 2. Date Date of the examination Дата измерения 3. b start instant начало измерения 4. e end instant конец измерения 5. LBE baseline value (medical expert) базальный ритм 6. LB baseline value (SisPorto) базальный ритм 7. AC accelerations (SisPorto) число акцелераций 8. FM foetal movement (SisPorto) число движений плода 9. UC uterine contractions (SisPorto) число сокращений матки 10. ASTV percentage of time with abnormal short term variability (SisPorto) процент времени с ненормальной кратковременной
вариабельностью
11. mSTV mean value of short term variability (SisPorto) среднее значение кратковременной вариабельности; 12. ALTV percentage of time with abnormal long term variability (SisPorto) процент времени с ненормальной долговременной
вариабельностью;
13. mLTV mean value of long term variability (SisPorto) среднее значение долговременной вариабельности; 14. DL light decelerations число легких децелераций 15. DS severe decelerations число тяжелых децелераций 16. DP prolongued decelerations число пролонгированных децелераций 17. DR repetitive decelerations повторяющиеся децелерации 18. Width histogram width ширина кардиотокограммы 19. Min low freq. of the histogram минимум кардиотокограммы 20. Max high freq. of the histogram максимум кардиотокограммы 21. Nmax number of histogram peaks число максимумов на кардиотокограмме 22. Nzeros number of histogram zeros число нулей на кардиотокограмме 23. Mode histogram mode мода кардиотокограммы 24. Mean histogram mean среднее значение кардиотокограммы 25. Median histogram median медиана кардиотокограммы 26. Variance histogram variance дисперсия кардиотокограммы 27. Tendency histogram tendency: -1=left assymetric; 0=symmetric; 1=right assymetric тенденция кардиотокограммы

Выходные значения для каждого пациента распределены по трем категориям группы риска

1)N (Нормальный)

2)S (Сомнительный)

3)P (Патология)

Для работы были выбраны 25 признаков, в диапазоне номеров 2-27, первые два поля, имя файла и дата не участвовали в процессе обучения сети.

Представленная база данных относится к типу 2 и поэтому при обучении и тестировании применялась методика K-фолдовой кросс-валидации при K=5.

Балансировка проводилась отдельно для тренировочной выборки, при этом тестовая выборка оставалась без изменения.

Рассматривались две архитектуры: 25:100:40:3 и 25:50:20:3, с различными вариантами хаотических отображений из таблицы 1. Устанавливались значения постоянных параметров модели: число слоев в линейном классификаторе 2, число эпох для обучения 50, величина P и число нейронов скрытого слоя H линейного классификатора определялись архитектурами P=100, H=4 (25:100:40:3) и P=50, H=20 (25:50:20:3).

Результаты тестирования моделей представлены в таблицах 6-7.

Таблица 6. Метрики классификации модели перинатального риска для архитектуры слоев 25:100:40:3.

Архитектура слоев
25:100:40:3
Общая
точность, A,%
Precision Recall F1
Модель N S P N S P N S P LogNNet 90,935 0,997 0,688 0,873 0,889 0,969 0,989 0,939 0,795 0,919 LogNNet/Logistic 89,936 0,994 0,668 0,870 0,879 0,951 0,994 0,931 0,771 0,920 LogNNet/Sin 90,156 0,999 0,670 0,873 0,876 0,983 0,994 0,931 0,785 0,921 LogNNet/Gaus 90,313 0,994 0,663 0,909 0,883 0,958 0,994 0,933 0,771 0,943 LogNNet/2sided 82,745 0,981 0,562 0,797 0,800 0,889 0,965 0,875 0,667 0,851 LogNNet/Plank 91,177 0,993 0,700 0,876 0,896 0,943 0,994 0,940 0,794 0,922 LogNNet/Henon1 91,190 0,999 0,674 0,899 0,891 0,980 0,994 0,941 0,791 0,936 LogNNet/Henon2 90,683 0,999 0,674 0,891 0,883 0,983 0,994 0,936 0,790 0,928

Таблица 7. Метрики классификации модели перинатального риска для архитектуры слоев 25:50:20:3.

Архитектура слоев
25:50:20:3
Общая
точность, A,%
Precision Recall F1
Модель N S P N S P N S P LogNNet 89,505 1,000 0,673 0,855 0,867 0,990 0,988 0,926 0,793 0,896 LogNNet/Logistic 89,048 0,990 0,663 0,826 0,875 0,916 0,983 0,927 0,754 0,888 LogNNet/Sin 90,080 0,996 0,667 0,861 0,880 0,965 0,982 0,932 0,778 0,909 LogNNet/Gaus 89,812 0,996 0,650 0,877 0,879 0,949 0,994 0,932 0,757 0,927 LogNNet/2sided 81,988 0,975 0,578 0,645 0,811 0,781 0,941 0,877 0,651 0,743 LogNNet/Plank 88,881 0,986 0,683 0,810 0,876 0,902 0,977 0,924 0,764 0,870 LogNNet/Henon1 88,593 0,995 0,666 0,809 0,863 0,942 0,989 0,921 0,761 0,876 LogNNet/Henon2 89,291 0,996 0,650 0,860 0,870 0,961 0,983 0,926 0,763 0,908

По таблице 6 видно, что многие модели с архитектурой слоев 25:100:40:3 показали высокие метрики классификации с общей точностью порядка 90%. Наибольшее значение A=91,19% соответствует модели LogNNet/Henon1 25:100:40:3, а наименьшее A=82,745% - для модели LogNNet/2sided 25:100:40:3. Для модели с меньшим количеством нейронов, с архитектурой 25:50:20:3 (Таблица 7), лучше показали себя отображения синуса и Гаусса со значениями A=90,080% и A=89,812% соответственно. В обоих случаях худший результат показало двустороннее хаотическое отображение.

Если сравнить полученные результаты с результатами работы [8], то можно с уверенностью сказать, что представленная модель LogNNet/Henon1 25:100:40:3 имеет значительно лучшие показатели по метрикам Precision, Recall и F1 чем MLP модель многослойного персептрона, для тестовых данных. Сравнение с моделью XGBoost показывает, что общая точность находится на одном уровне ~91-92%, при этом LogNNet/Henon1 даже превосходит XGBoost классификатор по отдельно взятым метрикам в пределах одного класса. Другим преимуществом перед XGBoost классификатором является возможность внедрения LogNNet на маломощных периферийных устройствах интернета вещей. Непрофессиональные медицинские работники в странах с низким и средним уровнем доходов могут использовать эту модель для сортировки беременных женщин в отдаленных районах для раннего направления к специалистам и дальнейшего лечения.

БИБЛИОГРАФИЯ

1. US7650321B2 - Two classifier based system for classifying anomalous medical patient records - Google Patents Available online: https://patents.google.com/patent/US7650321B2/en (accessed on May 13, 2021).

2. US8380647B2 - Training a classifier by dimension-wise embedding of training data - Google Patents Available online: https://patents.google.com/patent/US8380647B2/en?q=DIMIENSION-WISE+classification&oq=DIMIENSION-WISE+classification (accessed on Apr 29, 2021).

3. Velichko, A. Neural Network for Low-Memory IoT Devices and MNIST Image Recognition Using Kernels Based on Logistic Map. Electronics 2020, 9, 1432, doi:10.3390/electronics9091432.

4. US8275723B2 - System for providing data analysis services using a support vector machine for processing data received from a remote source - Google Patents Available online: https://patents.google.com/patent/US8275723B2/en (accessed on May 12, 2021).

5. COVID-19 Government Data Available online: https://data.gov.il/dataset/covid-19 (accessed on Jun 4, 2021).

6. Zoabi, Y.; Deri-Rozov, S.; Shomron, N. Machine learning-based prediction of COVID-19 diagnosis based on symptoms. npj Digit. Med. 2021, 4, 3, doi:10.1038/s41746-020-00372-6.

7. UCI Machine Learning Repository: Cardiotocography Data Set Available online: https://archive.ics.uci.edu/ml/datasets/cardiotocography (accessed on Jun 5, 2021).

8. Hoodbhoy, Z.; Noman, M.; Shafique, A.; Nasim, A.; Chowdhury, D.; Hasan, B. Use of machine learning algorithms for prediction of fetal risk using cardiotocographic data. Int. J. Appl. Basic Med. Res. 2019, 9, 226-230, doi:10.4103/ijabmr.IJABMR_370_18.

Похожие патенты RU2754723C1

название год авторы номер документа
СИСТЕМА МОНИТОРИНГА РЕЖИМОВ ГОРЕНИЯ ТОПЛИВА ПУТЕМ АНАЛИЗА ИЗОБРАЖЕНИЙ ФАКЕЛА ПРИ ПОМОЩИ КЛАССИФИКАТОРА НА ОСНОВЕ СВЁРТОЧНОЙ НЕЙРОННОЙ СЕТИ 2018
  • Гобызов Олег Алексеевич
  • Абдуракипов Сергей Сергеевич
  • Токарев Михаил Петрович
  • Серёдкин Александр Валерьевич
  • Дулин Владимир Михайлович
  • Бильский Артур Валерьевич
RU2713850C1
СПОСОБ ПОЛУЧЕНИЯ НИЗКОРАЗМЕРНЫХ ЧИСЛОВЫХ ПРЕДСТАВЛЕНИЙ ПОСЛЕДОВАТЕЛЬНОСТЕЙ СОБЫТИЙ 2020
  • Бабаев Дмитрий Леонидович
  • Овсов Никита Павлович
  • Киреев Иван Александрович
RU2741742C1
Способ диагностики признаков бронхолегочных заболеваний, сопутствующих заболеванию вирусом COVID-19 2021
  • Самсонов Павел Романович
  • Михайлов Дмитрий Михайлович
  • Чуманская Вера Васильевна
RU2758550C1
Способ диагностики острого коронарного синдрома 2020
  • Пушкин Александр Сергеевич
  • Шулькин Дмитрий Яковлевич
  • Рукавишникова Светлана Александровна
  • Борисова Людмила Викторовна
  • Ким София Викторовна
  • Ахмедов Тимур Артыкович
RU2733077C1
СПОСОБ ДИАГНОСТИРОВАНИЯ ПАЦИЕНТА НА НАЛИЧИЕ ПРИЗНАКОВ РЕСПИРАТОРНОЙ ИНФЕКЦИИ ПОСРЕДСТВОМ CNN С МЕХАНИЗМОМ ВНИМАНИЯ И СИСТЕМА ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ 2021
  • Самсонов Павел Романович
  • Михайлов Дмитрий Михайлович
  • Чуманская Вера Васильевна
RU2758648C1
ТЕХНОЛОГИЯ АНАЛИЗА АКУСТИЧЕСКИХ ДАННЫХ НА НАЛИЧИЕ ПРИЗНАКОВ ЗАБОЛЕВАНИЯ COVID-19 2021
  • Самсонов Павел Романович
  • Михайлов Дмитрий Михайлович
  • Чуманская Вера Васильевна
  • Дворянкин Сергей Владимирович
RU2758649C1
СПОСОБ И СИСТЕМА КЛАССИФИКАЦИИ ДАННЫХ ДЛЯ ВЫЯВЛЕНИЯ КОНФИДЕНЦИАЛЬНОЙ ИНФОРМАЦИИ В ТЕКСТЕ 2019
  • Теренин Алексей Алексеевич
  • Котова Маргарита Александровна
RU2755606C2
Способ и система поддержки принятия врачебных решений с использованием математических моделей представления пациентов 2017
  • Дрокин Иван Сергеевич
  • Бухвалов Олег Леонидович
  • Сорокин Сергей Юрьевич
RU2703679C2
Способ биогибридного скрининга рака легкого, рака желудка, сахарного диабета и туберкулеза легких по выдыхаемому обследуемым воздуху 2022
  • Синютина Ольга Николаевна
  • Саволюк Антонина Васильевна
  • Мишин Никита Александрович
  • Медведев Дмитрий Сергеевич
RU2797334C1
Способ формирования математических моделей пациента с использованием технологий искусственного интеллекта 2017
  • Дрокин Иван Сергеевич
  • Бухвалов Олег Леонидович
  • Сорокин Сергей Юрьевич
RU2720363C2

Иллюстрации к изобретению RU 2 754 723 C1

Реферат патента 2021 года Способ анализа медицинских данных с помощью нейронной сети LogNNet

Изобретение относится к области медицины и может быть использовано в системах поддержки принятия врачебных решений, дистанционной интернет- и телемедицине. Предложен способ анализа медицинских данных с помощью нейронной сети LogNNet, и включает операции определения тренировочной, валидационной и тестовой выборок, балансировки тренировочной выборки данных на предмет очередности и количества примеров по каждому классу, двухстадийного обучения сети LogNNet, и тестирования модели на тестовых данных. Обучение сети LogNNet производится двумя вложенными итерациями. Внутренняя итерация производит обучение выходного классификатора LogNNet методом обратного распространения ошибки на тренировочной выборке, внешняя итерация оптимизирует параметры хаотического отображения резервуара LogNNet на валидационной выборке. Матрица резервуара заполняется числами, генерируемыми хаотическим отображением. Изобретение обеспечивает вычисление факторов риска на наличие заболевания у пациента по набору медицинских показателей здоровья, например предсказание наличия COVID-19, или оценки перинатального риска, а также внедрение искусственного интеллекта на медицинские периферийные устройства интернета вещей с низкими ресурсами оперативной памяти. 2 з.п. ф-лы, 6 ил., 7 табл.

Формула изобретения RU 2 754 723 C1

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

2. Способ по п. 1, отличающийся тем, что балансировка производится с помощью выравнивания количества объектов по каждому классу, дополняя классы копиями уже существующих объектов, с последующей сортировкой тренировочной выборки в последовательном порядке.

3. Способ по п. 1, отличающийся тем, что матрица резервуара заполняется построчно числами, генерируемыми хаотическим отображением.

Документы, цитированные в отчете о поиске Патент 2021 года RU2754723C1

US 8275723 B2, 07.10.2010
Velichko, A
Neural Network for Low-Memory IoT Devices and MNIST Image Recognition Using Kernels Based on Logistic Map
Способ восстановления спиралей из вольфрамовой проволоки для электрических ламп накаливания, наполненных газом 1924
  • Вейнрейх А.С.
  • Гладков К.К.
SU2020A1
US 7650321 B2, 17.08.2006
US 8380647 B2, 17.02.2011.

RU 2 754 723 C1

Авторы

Величко Андрей Александрович

Величко Татьяна Васильевна

Даты

2021-09-06Публикация

2021-06-11Подача