Алгоритм анализа форм кардиоциклов ЭКГ с использованием технологий машинного обучения
Мониторинг работы сердца, возможность своевременного обнаружения патологий в его работе как одни из главных задач современной медицины. Три варианта анализа классификации для повышения устойчивости алгоритма к потерям каких-либо составляющих ЭКГ-сигнала.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 14.12.2021 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Алгоритм анализа форм кардиоциклов ЭКГ с использованием технологий машинного обучения
А.К. Лагирвандзе
А.Н. Калиниченко
Т.В. Моргунова
Аннотация
Мониторинг работы сердца и возможность своевременного обнаружения патологий в его работе считаются одними из главных задач современной медицины, поскольку заболевания сердечно-сосудистой системы являются лидирующими по распространенности среди причин смерти пациентов. Излагается разработка нейросетевого алгоритма бинарной классификации QRS-комплексов ЭКГ на формы, относящиеся к фоновому ритму («норма») и отклоняющиеся от него («патология»). В качестве методов были использованы принципы векторного преобразования сигналов, где в роли координат вектора принимаются значения каждого из отведений в отдельный момент времени. В работе были исследованы три варианта анализа классификации для повышения устойчивости алгоритма к потерям каких-либо составляющих ЭКГ-сигнала: с использованием одного, двух и трех отведений. Предварительно все отведения подвергались фильтрации от различного рода шумов с помощью сплайн-интерполяции и цифровых фильтров. Для непосредственного проведения классификации была сконструирована нейронная сеть прямого распространения с одним скрытым слоем и с использованием методов прореживания и регуляризации весов, снижающих вероятность переобучения. Результаты работы алгоритма продемонстрировали высокие показатели оценки точности. При этом наибольшая точность достигается при анализе всех трех отведений, т.е. при использовании наиболее полной информации о сигнале. Представленный в статье подход к анализу форм QRS-комплексов может быть взят за основу для разработки устойчивого алгоритма распознавания нарушений ритма сердца с помощью векторного представления сигналов ЭКГ.
Ключевые слова: электрокардиограмма, векторкардиограмма, QRS-комплекс, классификация, фильтрация сигналов, обработка сигналов, нейронные сети
Abstract
ECG cycles forms analysis based on machine learning techniques
A.K. Lagirvandze, A.N. Kalinichenko, T.V. Morgunova
Monitoring of the heart activity and possibility of timely detection of pathologies in its work is still considered as one of the main tasks of modern medicine, since diseases of the cardiovascular system are leading in prevalence among the causes of death. This article is devoted to the development of a neural network algorithm for binary classification of ECG QRS-complexes into forms related to the background rhythm («normal») and deviating from it («pathology»). The vectorized ECG signal derived from several synchronous leads was used for detection of informative features. Three variants of classification analysis were investigated to improve the algorithm stability to losses of any ECG signal components: using one, two and three leads. Previously, all leads were filtered from various types of noise using spline interpolation and digital filters. For direct classification, a neural network of direct propagation with one hidden layer and using methods of thinning and regularization of weights reducing the probability of retraining was constructed. The results of the algorithm showed high accuracy rates: the highest accuracy was achieved in the case of all three leads analysis. Thus, the approach to the analysis of forms of QRS-complexes presented in the article can be taken as a basis for the development of a more stable algorithm for recognizing heart rhythm disturbances.
Keywords: electrocardiogram, vectorcardiogram, QRS-complex, classification, signal filtering, signal processing, neural networks.
Введение
На сегодняшний день большое распространение получили приборы, осуществляющие контроль за состоянием работы сердца - кардиомониторы. В таких системах первостепенным элементом анализа сердечной деятельности и анализа аритмий является обнаружение QRS-комплексов ЭКГ, а также кластеризация или классификация их форм [1]. Трудности при проведении классификации QRS-комплексов связаны с разнообразием форм ЭКГ у разных пациентов, а также сложностями выделения каких-то «образцовых» форм сигнала. Кроме того, имеет место наличие искажающих форму ЭКГ помех, связанных с дыханием, изменением состояния или положения пациента. В связи с этим анализ ЭКГ должен включать в себя предварительную обработку сигнала [1-3].
Целью данного исследования является разработка точного и помехоустойчивого алгоритма для классификации форм ЭКГ. В основе метода, рассматриваемого в данной работе, лежит представление сигнала ЭКГ в векторном виде. В качестве координат векторов (X, Y, Z) принимаются отсчеты трех отведений [4]. Данный алгоритм включает в себя все три возможных варианта анализа: с использованием одного, двух и трех отведений ЭКГ, так как иногда невозможен полный анализ всех отведений по причине сильной зашумленности или утери одного из них.
Материалы и методика
Данные, по которым производилась разработка алгоритма классификации форм QRS-комплексов и последующее его тестирование, представляют собой набор из 48 записей трехканальной электрокардиограммы. Длительность каждой записи составляет 60 с, частота дискретизации равна 250 Гц. Также на этапе разработки использовались файлы с заранее верифицированными границами кардиоциклов.
1. Предварительная обработка. Первоначально выполнялось удаление линейного тренда с целью исключения постоянной составляющей в сигнале. Затем для устранения низкочастотного шума, связанного с дыханием и плохим контактом электродов, использовалась сплайн-интерполяция [3, 4]. В качестве узлов для построения сплайна принимались точки на PQ-сегменте. Для удаления остаточных высокочастотных и низкочастотных помех использовалось два цифровых фильтра (ЦФ) верхних и нижних частот с частотами среза 3 Гц и 100 Гц, соответственно [5, 6], реализованные как фильтры Баттерворта с нулевым фазовым сдвигом [1].
2. Метод векторного представления сигнала. Векторкардиограмма (ВКГ) строится по трем или двум ортогональным отведениям, представляющим из себя в каждый момент времени значения в декартовой системе координат - X, Y и Z [7, 8]. В данной работе для каждого QRS-комплекса рассчитывался суммарный вектор по формуле
где V - вектор QRS-комплекса; і - номер отсчета в пределах QRS-комплекса; imax - количество отсчетов в пределах QRS-комплекса; V, - вектор для і-го отсчета, имеющий размерность 1, 2 или 3, в зависимости от числа используемых отведений [9]. Результат преобразования представлен на рис. 1. Оттенком серого отмечена принадлежность QRS к одному из двух имеющихся классов.
Рис. 1. Векторное представление QRS-комплексов ЭКГ
3. Расчет параметров классификации. Для каждой записи ЭКГ-сигнала определяется опорный вектор, показывающий доминирующее направление векторов комплексов фонового ритма. Координаты этого вектора определяются как медианные значения всех соответствующих координат кардиокомплексов. После этого для всех векторов, представляющих каждый QRS-комплекс, подсчитывается проекция на направление этого «медианного» вектора [4]:
где P - сигнал проекции; J - номер отсчета; x, y, z - значения сигналов 1-го, 2-го и 3-го отведений; X, Y, Z - координаты конца «медианного» вектора [10, 11] (рис. 2).
Рис. 2. ЭКГ в трех отведениях (верхние три графика) и сигнал, рассчитанный как проекция на «медианный» вектор
По данному сигналу проекции были рассчитаны параметры формы QRS-комплексов, представленные на рис. 3:
1) длительность - T (с);
2) размах - A (мВ);
3) смещение относительно нулевой линии - S (мВ);
4) суммарная площадь волн - P (мВ*с) [2];
5) оценки спектральной плотности мощности комплекса в диапазоне 3-30 Гц, рассчитанные с помощью быстрого преобразования Фурье (БПФ) с шагом 3 Гц [12];
6) угол между вектором кардиокомплекса и «медианным» вектором - а (рад) (вычисляется только для случая использования более одного отведения).
Расчет углов между векторами, относящимися к желудочковым комплексам, и «медианным» вектором производится с помощью формулы
Рис. 3. Расчет признаков формы QRS-комплекса
На рис. 4 представлен полученный «медианный» вектор, относительно которого и рассчитываются углы. Он обозначен черным цветом.
Рис. 4. «Медианный» вектор (отмечен черным цветом)
4. Разработка классификатора на основе нейронной сети. В качестве классификатора использовалась полносвязная искусственная нейронная сеть (ИНС) прямого распространения, реализованная на языке Python с помощью библиотеки Keras [13].
Выбор архитектуры сети выполнялся эмпирически. Были испробованы сети прямого распространения без скрытого слоя, с одним и с двумя скрытыми слоями. Кроме того, была осуществлена проверка эффективности добавления регуляризации весов (L1- и Б2-регуляризация) и прореживания (Dropout). Эти два метода позволяют снижать риск переобучения модели [13-15].
В данной работе выполнялась бинарная классификация QRS-комплексов на два вида: «норма» - фоновый ритм и «патология». Входными данными являлись две матрицы: первая матрица включала в себя нормированные по среднему значению признаки (параметры форм ЭКГ) для всех записей ЭКГ; вторая - известные номера классов «0» и «1». Так как имелся небольшой набор данных, то для более надежной оценки качества модели было принято решение применить перекрестную проверку по К блокам. По полученным К оценкам вычислялось среднее значение, которое и представлялось как оценка точности модели [13]. Результаты тестирования различных вариантов ИНС представлены на рис. 5-7.
а) б) в)
Рис. 5. Оценки точности ИНС с разным количеством слоев без использования регуляризации и прореживания: а - ИНС без скрытого слоя с 64 входными нейронами; б - НС с одним скрытым слоем с 64 входными нейронами; в-ИНС с двумя скрытыми слоями с 64 входными нейронами
а) б) в)
Рис. 6. Оценки точности ИНС с разным количеством слоев с использованием Ь2-регуляризации: а - ИНС без скрытого слоя с 64 входными нейронами;
б - НС с одним скрытым слоем с 64 входными нейронами;
в-ИНС с двумя скрытыми слоями с 64 входными нейронами
а) б) в)
Рис. 7. Оценки точности ИНС с разным количеством слоев с использованием Ь2-регуляризации и прореживания: а - ИНС без скрытого слоя с 64 входными нейронами; б - ИНС с одним скрытым слоем с 64 входными нейронами; в-ИНС с двумя скрытыми слоями с 64 входными нейронами
Как видно из рис. 5-7, добавление методов предотвращения переобучения (регуляризация и прореживание) снижает значение оценки точности модели, но при этом прореживание устраняет скачки на кривой оценки точности на этапе проверки.
Эксперименты, представленные на рисунках выше, демонстрируют случай использования трех отведений. Из результатов видно, что наиболее высокие оценки точности обеспечивает сеть с одним скрытым слоем с добавлением Ь2-регуляризации и прореживания (рис. 7, б).
Результаты и обсуждение
На рис. 8-10 показаны результаты оценки точности и потерь на этапах обучения и проверки в течение 100 эпох.
Рис. 8. Графики оценок потерь и точности для случая использования одного отведения
а) б)
Рис. 9. Графики оценок потерь и точности для случая использования двух отведений
Как видно из рисунков, более стабильную и точную работу нейронная сеть демонстрирует для случая использования трех отведений. Это можно оценить как визуально (на рис. 8 и 9 нейронные сети показывают более низкую стабильность, о чем свидетельствуют скачки на кривых), так и количественно: при анализе трех отведений НС показывает наилучший результат по сравнению с двумя оставшимися случаями: максимальная точность составляет около 96%.
а) б)
Рис. 10. Графики оценок потерь и точности для случая использования трех отведений
Тем не менее, разработанный алгоритм успешно справляется с задачей бинарной классификации, показывая значения точности более 90% для всех трех случаев.
Заключение
Показан нейросетевой алгоритм классификации форм кардиокомплексов ЭКГ с использованием векторного представления ЭКГ. Продемонстрированные показатели работы данного метода на основе векторного представления сигналов подтверждают результативность и возможность его применения в качестве альтернативы привычному скалярному представлению сигналов ЭКГ. Дальнейшим этапом развития и усовершенствования предложенного метода будет разработка точного алгоритма определения границ QRS-комплексов, а также создание модели нейронной сети для классификации на несколько классов и распознавания разного вида патологий. Также стоит уделить внимание увеличению помехоустойчивости алгоритма и его быстродействию.
Библиографический список
сердце алгоритм кардиоцикл
1. Рангайян, Р.М. Анализ биомедицинских сигналов: практический подход / Р.М. Рангайян. - Москва: Физматлит, 2007. - 440 с.
2. Немирко, А.П. Математические методы анализа биомедицинских данных / А.П. Немирко, Л.А. Манило, А.Н. Калиниченко. - Санкт-Петербург: СПбГЭТУ «ЛЭТИ», 2013. - 175 с.
3. Оппенгейм, А.В. Цифровая обработка сигналов / А.В. Оппенгейм, Р.В. Шафер. - Минск: Техносфера, 2006. - 856 с.
4. Фролов, С.В. Методы и приборы функциональной диагностики: учеб. пособие / С.В. Фролов. - Тамбов: Тамб. гос. техн. ун-т, 2008. - 80 с.
5. Хоровиц, П. Искусство схемотехники / П. Хоровиц, У. Хилл. - Москва: Бином, 2016. - 704 с.
6. Айфичер, Э. Цифровая обработка сигналов. Практический подход / Э. Айфичер, Б. Джервис. - Санкт-Петербург: Вильямс, 2008. - 992 с.
7. Калиниченко, А.Н. Алгоритмы анализа сигналов в медицинских приборах и системах / А.Н. Калиниченко. - Санкт-Петербург: Изд-во СПбГЭТУ «ЛЭТИ», 2011. - 88 с.
8. Акулиничев, И.Т. Векторкардиография / И.Т. Акулиничев // Большая медицинская энциклопедия. - URL: Ь11р8:// бмз. орг/іпбех.рЬр/ВЕКТОРКАРДИОГРАФИЯ (дата обращения: 20.02.2019).
9. Тихонов, А.А. Векторная алгебра - язык современной механики: учеб. пособие / А.А. Тихонов. - Санкт-Петербург: СПбГТУРП, 2008. - 30 с.
10. Литова, Г.Г. Основы векторной алгебры / Г.Г. Литова, Д.Ю. Ханукаева. - Москва: РГУ нефти и газа им. И.М. Губкина, 2009. - 90 с.
11. Abedin, Z. ECG Interpretation. The Self - Assesment Approach / Z. Abedin, R. Conner. - Willey Blackwell, 2007. - 240 p.
12. Марпл-мл., С.Л. Цифровой спектральный анализ и его приложения / С.Л. Марпл-мл. - Москва: Москва, 1990. - 584 с.
13. Шолле, Ф. Глубокое обучение на Python / Ф. Шолле. - Санкт-Петербург: Питер, 2013. - 400 с.
14. Мэтиз, Э. Изучаем Python. Программирование игр, визуализация данных, вебприложения / Э. Мэтиз. - Санкт-Петербург: Питер, 2017. - 497 с.
15. Raschka, S. Python Machine Learning / S. Raschka. - 1st ed. - Bermingham: Packt Publishing, 2016. - 430 p.
References
1. Rangayyan R.M. Analiz biomeditsinskikh signalov: prakticheskiy podkhod [Biomedical signal analysis: a practical approach]. Moscow: Fizmatlit, 2007, 440 p. [In Russian]
2. Nemirko A.P., Manilo L.A., Kalinichenko A.N. Matematicheskie metody analiza biomeditsinskikh dannykh [Mathematical methods of biomedical data analysis]. Saint - Petersburg: SPbGETU «LETI», 2013, 175 p. [In Russian]
3. Oppengeym A.V., Shafer R.V. Tsifrovaya obrabotka signalov [Digital signal processing]. Minsk: Tekhnosfera, 2006, 856 p. [In Russian]
4. Frolov S.V. Metody i pribory funktsional'noy diagnostiki: ucheb. posobie [Methods and devices of functional diagnostics: studies. benefit]. Tambov: Tamb. gos. tekhn. un-t, 2008, 80 p. [In Russian]
5. Khorovits P., Khill U. Iskusstvo skhemotekhniki [The art of circuitry]. Moscow: Bi - nom, 2016, 704 p. [In Russian]
6. Ayficher E., Dzhervis B. Tsifrovaya obrabotka signalov. Prakticheskiy podkhod [Digital signal processing. Practical approach]. Saint-Petersburg: Vil'yams, 2008, 992 p. [In Russian]
7. Kalinichenko A.N. Algoritmy analiza signalov v meditsinskikh priborakh i sistemakh [Algorithms for signal analysis in medical devices and systems]. Saint-Petersburg: Izd-vo SPbGETU «LETI», 2011, 88 p. [In Russian]
8. Akulinichev I.T. Bol'shaya meditsinskaya entsiklopediya [Great medical encyclopedia]. Available at: https://bme.org/index.php/VEKTORKARDIOGRAFIYa (accessed Febr. 20, 2019). [In Russian]
9. Tikhonov A.A. Vektornaya algebra - yazyk sovremennoy mekhaniki: ucheb. posobie [Vector algebra-the language of modern mechanics: studies. benefit]. Saint - Petersburg: SPbGTURP, 2008, 30 p. [In Russian]
10. Litova G.G., Khanukaeva D. Yu. Osnovy vektornoy algebry [Basics of vector algebra]. Moscow: RGU nefti i gaza im. I.M. Gubkina, 2009, 90 p. [In Russian]
11. Abedin Z., Conner R. ECG Interpretation. The Self - Assesment Approach. Willey Blackwell, 2007, 240 p.
12. Marpl-ml. S.L. Tsifrovoy spektral'nyy analiz i ego prilozheniya [Digital spectral analysis and its applications]. Moscow: Moskva, 1990, 584 p. [In Russian]
13. Sholle F. Glubokoe obuchenie na Python [Deep learning in Python]. Saint-Petersburg: Piter, 2013, 400 p. [In Russian]
14. Metiz E. Izuchaem Python. Programmirovanie igr, vizualizatsiya dannykh, veb-prilozheniya [Learning Python. Game programming, data visualization, web applications]. Saint-Petersburg: Piter, 2017, 497 p. [In Russian]
15. Raschka S. Python Machine Learning. 1st ed. Bermingham: Packt Publishing, 2016, 430 p.
Размещено на Allbest.ru
...Подобные документы
Состав и принцип работы аппаратуры. Выбор параметров корреляционного анализа и Фурье-анализа. Разработка и применение алгоритма корреляционного анализа. Реализация алгоритма Фурье-анализа на языке С++ и алгоритма корреляционного анализа на языке С#.
дипломная работа [4,6 M], добавлен 30.11.2016Проблема разработки математической модели сложной задачи. Построение алгоритма составления расписания занятий. Вероятность обнаружения хорошего варианта за ограниченное время. Множество всех множеств допустимых пар, поиск элементов, прогноз тупика.
реферат [42,1 K], добавлен 29.01.2010Программное обеспечение для получения исходных данных для обучения нейронных сетей и классификации товаров с их помощью. Алгоритм метода обратного распространения ошибки. Методика классификации товаров: составление алгоритма, программная реализация.
дипломная работа [2,2 M], добавлен 07.06.2012Методика исследования и анализа средств аудита системы Windows с целью обнаружения несанкционированного доступа программного обеспечения к ресурсам вычислительных машин. Анализ угрозы информационной безопасности. Алгоритм работы программного средства.
дипломная работа [2,9 M], добавлен 28.06.2011Разработка технологии обработки информации, структуры и формы представления данных. Проектирование программных модулей. Блок-схема алгоритма и исходный код программы анализа арифметического выражения, синтаксического анализа простой программы на языке С.
курсовая работа [2,4 M], добавлен 12.12.2011История создания алгоритма Форда-Фалкерсона, краткое описание его алгоритма, особенности работы, анализ сложности. Создание распараллеленного варианта алгоритма и его краткое описание. Основные характеристики теории графов, специфика, пути и маршруты.
контрольная работа [246,3 K], добавлен 06.08.2013Формулировка, спецификация и математическая постановка задачи. Описание схемы алгоритма. Рассмотрение результата машинного тестирования программы. Получение на занятиях навыков алгоритмизации и программирования задач на языке высокого уровня C#.
курсовая работа [268,2 K], добавлен 22.03.2015Основные особенности создания работоспособных программ по решению математических задач. Рассмотрение и характеристика типовых структурных элементов схемы алгоритма: внутренний цикл, ветвление. Анализ результатов машинного тестирования программы.
контрольная работа [502,8 K], добавлен 07.01.2013Сущность и значение мониторинга и анализа локальных сетей как контроля работоспособности. Классификация средств мониторинга и анализа, сбор первичных данных о работе сети: анализаторы протоколов и сетей. Протокол SNMP: отличия, безопасность, недостатки.
контрольная работа [474,8 K], добавлен 07.12.2010Обзор технологий обнаружения атак. Модуль накопления и хранения предупреждений. Алгоритм работы подсистемы. Реализация клиент-серверной технологии. Клиентская часть программы. Реализация модуля шифрования, модуля накопления и хранения предупреждений.
дипломная работа [582,6 K], добавлен 17.11.2014Основные определения и свойства колец и полей. Принцип расширения ключа (Key Expansion) для увеличения криптостойкости. Основные процедуры AddRoundKey, SubBytes, ShiftRows, MixColumns, играющие главную роль в работе алгоритма. Общий алгоритм работы AES.
курсовая работа [569,2 K], добавлен 23.11.2013Обзор существующих методов межпроцедурного анализа. Получение входных и выходных данных подпрограмм с помощью графа алгоритма. Описание входных и выходных данных подпрограммы в терминах фактических параметров. Определение параллелизма по графу алгоритма.
учебное пособие [77,5 K], добавлен 28.06.2009Описание алгоритма работы и разработка структурной схемы МКС. Схема вывода аналогового управляющего сигнала, подключения ЖК-дисплея, клавиатуры и аварийного датчика. Разработка блок-схемы алгоритма главной программы работы МКС. Функция инициализации.
курсовая работа [5,7 M], добавлен 26.06.2016Способы формирования у учащихся знаний по информационным технологиям в математике, умения правильного выбора инструментария для решения практических задач. Разработка методики решения математических задач с использованием прикладного пакета Maple 9.
дипломная работа [2,4 M], добавлен 19.03.2012Виды биржевой торговли. Методология автоматизации биржевых операций: структура, функции и алгоритм работы. Методы анализа движения биржевых цен. Блок работы с базой данных. Тестирование результатов анализа. Алгоритм работы системы, основной функционал.
дипломная работа [942,7 K], добавлен 25.08.2017Основные принципы функционирования ПК. Определение конфигурации компьютера с требуемыми характеристиками. Характеристики основных компонентов современного ПК. Описание алгоритма решения задачи с использованием MS Excel. Блок-схема алгоритма решения задач.
курсовая работа [3,5 M], добавлен 20.12.2010Графические обозначения символов, применяемые при составлении схем алгоритмов. Оформление текстовых документов. Описание вычислительных методов алгоритмизации и программирования задач. Ручной просчет отладочного варианта. Машинное тестирование программы.
курсовая работа [178,2 K], добавлен 01.06.2014Содержательная часть языка программирования С++. Правила автоматной грамматики, классификация Хомского. Принцип построения графов, разработка проекта средствами среды программирования Builder C++. Алгоритм синтаксического анализа оператора вывода.
контрольная работа [228,4 K], добавлен 22.05.2012Сравнение результатов работы генетического алгоритма по решению "несимметричной незамкнутой задачи коммивояжера" с результатами работы алгоритма динамического программирования по параметрам - время работы, точность результата и объем используемой памяти.
курсовая работа [65,3 K], добавлен 16.04.2014Возможность оптимизации работы сотрудников отдела продаж предприятия снабжения путем внедрения современных информационных технологий. Программное обеспечение в бухгалтерии. Работа с программой Бизнес Пак, ее основные функции. Алгоритм работы с клиентом.
контрольная работа [822,5 K], добавлен 27.06.2011