УДК 004.825:616-074
A. В. Антоненко, канд. техн. наук,
B. Н. Локтюхин, д-р техн. наук, профессор, А. А. Михеев, д-р техн. наук, профессор,
ФГБОУ ВПО «Рязанский государственный радиотехнический университет»
Формирование кардиоритмограммы на основе нечетких правил анализа электрокардиосигнала1
Ключевые слова: кардиоритмограмма, лингвистическая переменная, нечеткий логический вывод, электрокардио-сигнал.
Key words: rhythmocardiograms, linguistic variable, fuzzy inference, electrocardiograms.
Рассмотрен подход к формированию кардиоритмограммы на основе математического аппарата теории нечетких множеств и нечеткого логического вывода. Описана последовательность этапов построения системы нечеткого логического вывода, в том числе задание лингвистических переменных и их лингвистических высказываний, определение функций принадлежности, описание базы правил нечетких продукций.
Введение
Кардиоритмографическое исследование является одним из эффективных методов оценки функциональных регуляторов организма и его адаптационных возможностей. Следует отметить, что электрокардиосигнал (ЭКС) подвержен влиянию множества факторов, которые зачастую невозможно учесть полностью. Это вносит элемент неопределенности в исходные данные, необходимые для формирования кардиоритмограммы. Предлагается использовать математический аппарат нечетких множеств, который учитывает неопределенный характер входных данных и может обеспечить более достоверное формирование кардиоритмограммы.
Аппарат нечетких множеств и нечеткой логики успешно применяется для решения задач, в которых исходные данные являются ненадежными и слабо формализованными. Успех применения предлагаемого подхода на основе теории нечеткого
1 Статья подготовлена при финансовой поддержке Министерства образования и науки Российской Федерации. Госзадание Минобрнауки на 2012 г. Проект «Мобильные медицинские измерительно-информационные системы на основе нейробио-нических технологий для оценки адаптационных резервов организма и диагностики донозологических изменений индивидуального здоровья человека в условиях его повседневной жизнедеятельности». Рег. № 7.5521.2011.
вывода связан с его достоинствами: описанием условий и метода решения задачи на языке, близком к естественному; прозрачностью алгоритма вывода для анализа, а также возможностью управлять им, меняя систему правил нечеткой продукции (ПНП). Аппарат нечеткого вывода эффективно применяется для работы с качественными данными, например в медицинской диагностике [1].
При обработке и анализе ЭКС (рис. 1) можно представить в виде последовательно выстроенных во времени качественных элементов, таких как зубцы Р, Q, Я, Б, Т, а также сегменты между ними. При этом качественные элементы могут характеризоваться количественными параметрами: длительностью того или иного элемента, амплитудой, временем положительного и отрицательного фронтов. Такое представление ЭКС предопределяет возможность применения системы нечеткого вывода, оперирующей понятием «лингвистическая переменная» (ЛП). В рассматриваемом случае ЛП отражает качественные характеристики ЭКС как исследуемого объекта.
Я Я-Я интервал Я
' P-R ■ интервал
Рис. 1
Структура электрокардиосигнала. В качестве примера далее представлена задача, в которой требуется определить одну опорную точку, принадлежащую интервалу между зубцами Т и Р на ЭКС, в условиях дрейфа изолинии сигнала
В качестве примера далее рассматривается задача, согласно которой требуется определить одну опорную точку, принадлежащую интервалу между Т и Р зубцами на ЭКС, в условиях дрейфа изолинии сигнала.
Система нечеткого логического вывода для формирования кардиоритмограммы
В предлагаемом методе анализа ЭКС система нечеткого логического вывода (СНЛВ) [2] представлена в виде трех функциональных единиц (рис. 2): блока СНЛВ и блока решающих правил, а также элемента задержки в обратной связи.
В настоящее время построение большинства СНЛВ осуществляется в соответствии с алгоритмами Мамдани и Ларсена на основе шести этапов:
Входы
х1
Выходы
> У1 У2
> Ут
1 ЭЗ 1
Рис. 2
Обобщенная структура системы нечеткого логического вывода
• формирование базы правил логического вывода;
• фаззификация (приведение к нечеткости) входных переменных;
• агрегирование подусловий;
• активация подзаключений;
• аккумулирование заключений;
• дефаззификация (при необходимости) [3, 4].
Описание системы нечеткого логического вывода
Для реализации алгоритма нечеткого вывода необходимо произвести ряд предварительных действий [5] для структурирования и конкретизации исходных и итоговых данных. Рассмотрим СНЛВ в виде модели «черный ящик».
Описание входных лингвистических переменных (ВхЛП). В данной системе ВхЛП могут представлять собой совокупность значений производных от исходного ЭКС, который имеет вид последовательности дискретных отсчетов. Для исходного ЭКС (рис. 3, а) могут быть рассмотрены функции первой (рис. 3, б) или второй производных, а также переменные, искусственно созданные путем комбинации функций скользящего среднего, среднеквад-ратического отклонения и др.
Значения переменных могут быть либо количественными (изначально числовые переменные, которыми выступают значения отсчетов анализируемых функций), приводимые к лингвистическим переменным посредством фаззификации, либо качественными (изначально ЛП), например в случае подачи на вход значения выходной ЛП.
Описание выходных лингвистических переменных. Выходные лингвистические переменные (ВыхЛП) данной СНЛВ представляют собой ка-
а)
0,8 0,6 0,4 0,2 0
-0,2 -0,4
б)
0,2 0,15 0,1 0,05 0
-0,05 -0,1 -0,15 -0,2 -0,25
50
100 150 200 250 300 350 400 450 500 550 600 650 700 750
50 100 150 200 250 300 350 400 450 500 550 600 650 700 750
Рис. 3
Пример реального исходного ЭКС (а) и его первой производной (б)
0
0
чественные характеристики анализируемого сигнала. Они содержат качественные сведения о том, какому элементу ЭКС принадлежит данный отсчет, как давно был тот или иной элемент ЭКС. В данной СНЛВ в качестве ВыхЛП могут быть использованы следующие ЛП: зубцы Р, Q, Я, Б, Т, Сегмент (Пауза), которые соответствуют элементам ЭКС.
Формирование совокупности правил нечетких продукций. Результат объединения входных переменных для вычисления выходных в системе с четкой логикой может быть задан в виде аналитической, графической или табличной зависимости. Однако преимуществом нечеткой логики является возможность описывать функционирование системы с помощью ПНП. Совокупность ПНП может быть разделена на группы в соответствии с входящими в них ВхЛП и ВыхЛП. ПНП могут иметь вид:
Если: «условие! = истина» И «условие2 = истина»
а)
в)
х
Ь
Ь
Рис. 4
Виды функций принадлежности:
а — г-образная; б — треугольная; в — трапециевидная; г — в-образная
Тогда для к-го правила нечеткой продукции (ПНЩ.) можно записать для истинности условия У^-
¡У
п
= А I = 1
. I V ПУИ = mi.nl тах (¡;;)
1 и=1 11) ; У 1 11'
И «условиеп = истина», то «вывод = истина».
После определения системы ПНП и входящих в нее ЛП необходимо привести к лингвистическому типу изначально четкие числовые переменные. Для этого надо поставить в соответствие четкому множеству значений совокупность терм-множеств ЛП в процессе фаззификации.
Фаззификация ВхЛП. Функцию принадлежности ¡л четкой величины нечеткому терм-множеству, соответствующему одному из значений ВхЛП, эксперт определяет путем оценки диапазонов значений отсчетов этого множества. Функция принадлежности (ФП) терма в наиболее простом случае может иметь вид одной из функций, представленных на рис. 4. По оси х откладываются значения четкой фаззифицируемой переменной. По вертикальной оси л откладывается степень истинности данного лингвистического значения ЛП.
Агрегирование. Данный этап позволяет определить степень истинности условия на основе известных степеней истинности подусловий. Результатом его агрегирования будет значение функции принадлежности ВхЛП как степень истинности условия.
Каждое из п условий «ВхЛП; = Зн^» или «ВхЛП; = Зн;2» или ... или «ВхЛП; = Зн;1» состоит из т подусловий «ВхЛП; = Зн^», где Зн^ — 1-е значение ;-й ЛП в подусловии. Пусть его номер определяется номером 1 значения входной ЛП. Обозначим степени истинности подусловий (ПУ) с номером 1 как ¡ц. Для всех подусловий данного ПНП получим матрицу М:
(
М =
¡11 ¡21
¡12 ¡22
¡1т ¡2т
А
¡п1 ¡п2
где I = 1, п; 1 = 1, т; к = 1, 2, ..., I; I — общее количество ПНП.
Таким образом, получаем функцию принадлежности для условной части каждого ПНП путем реализации операций дизъюнкции и конъюнкции нечеткой логики над функциями принадлежности ¡ согласно алгоритму вывода.
Активация. Далее на этапе активации вычисляется степень истинности выводов (В), исходя из степеней истинности условий. Для этого сначала необходимо определить значимость каждого правила, которая для ПНПк выражается весовым коэффициентом Рк.
Предположим, что известны коэффициенты весов правил Рк, к = 1, q, где q — количество ПНП. Тогда функция принадлежности для заключения к-го правила может быть получена из следующего выражения: ¡р = Рк • ¡у = Рк • т^тах^^)), где
Рк е[0;1]. к к ; 1
Однако фактически необходимо вычислить функции принадлежности термов выходных ЛП для каждого ПНП. Для термов ВыхЛП ФП V -го терма и-й ВыхЛП, измененная, исходя из к -го правила ¡¡го (Уи), находится с помощью правил нечеткой комкпозиции:
¡V (Уи ) = ¡иV (Уи )- Р
• тт | тах
; V 1
(1(х;))),
пт У
где (X^ (уи) — ФП v-го терма и-й ВыхЛП; уи — переменная, соответствующая и-й ВыхЛП, значения этой переменной уи — рациональные числа.
Аккумуляция. Целью данного этапа является нахождение единой ФП для каждой ВыхЛП. Необходимость аккумуляции возникает в связи с тем, что подзаключения, относящиеся к одной и той же ВыхЛП, принадлежат различным ПНП.
а
с х
а
х
Пусть Сии — нечеткое множество, соответствующее и-му терму и-й ВыхЛП. Рассматривая далее последовательно каждую ВыхЛП юи е Ж, где ти — и-я выходная лингвистическая переменная; Ж — множество возможных переменных юи, и относящиеся к ней нечеткие множества Си1, Си2, ..., Сии,..., получаем ФП для выходных переменных. Аналитически результат аккумуляции определяется как объединение ФП термов Кии (Уи) для каждой ВыхЛП:
(Уи )) =
= max| (Xи
v
(Уи )• F
• min I max
i V j
Ы
Обозначим через quv число правил нечетких продукций, которые содержат в подзаключениях и-й терм и-й ВыхЛП. Тогда в случае quv > 1 можно вычислить ФП следующим образом:
f
т,
(Уи ) =
max
v
X Fk
(Уи)•^
mini max
i V j
ax (Xij (xi J
A
%v k=l
Дефаззификация. Далее, согласно выбранному алгоритму, следует этап дефаззификации. В СНЛВ с его помощью выполняется процедура нахождения четкого значения для каждой из выходных ЛП множества W = {1, ^2, ■••, ros} ,где s — общее количество ВыхЛП в базе СНЛВ.
Для осуществления дефаззификации выберем метод центра тяжести:
Max
J Уи 'М(Уи)аУи
-, (1)
J М(Уи )аУи Min
х = Min Xu Max
где %u — результат дефаззификации; yu — переменная с рациональными значениями, соответствующая ВыхЛП ти; p(yu) — ФП, соответствующая ВыхЛП ти после этапа аккумуляции; Min, Max — левая и правая границы интервала носителя НМ, где НМ — нечеткое множество, включающее множество всех четких значений, на которое отображаются нечеткие значения лингвистической переменной, рассматриваемой ВыхЛП юи.
Программа, реализующая СНВ (описание модулей)
Разработано и отлажено в среде разработки C++ Builder прикладное программное обеспечение (ПО), осуществляющее моделирование СНЛВ. С помощью диалогового окна (рис. 5) ПО позволяет
создавать СНЛВ с произвольным количеством входных и выходных ЛП, задавать ПНП, функции принадлежности лингвистических высказываний (ЛВ, это одно из значений лингвистической переменной; термов). При этом поддерживается возможность сохранения созданной системы в виде файла с расширением .fuzsys и загрузки системы из файла.
Разработанное ПО состоит из четырех отдельных модулей: UnitView, UnitFuzzyNet, UnitRule, UnitLingVar. Модуль UnitView обеспечивает отображение разработанной системы и данных на экране компьютера с представлением результатов ее работы. Модуль UnitFuzzyNet описывает проектируемую модель СНЛВ и данные, используемые для тестирования, настройки и функционирования модели. Данный модуль содержит два объекта описанных в виде классов (под термином «класс» подразумевается понятие объектно-ориентированного программирования): MassiveData — класс массив данных, FuzzyNet — класс СНЛВ. Модуль UnitRule описывает ПНП. Модуль содержит один класс: Rule — класс ПНП. Модуль UnitLingVar описывает понятия ЛП и ЛВ. Данный модуль содержит два класса: LingVar — класс ЛП, Term — класс ЛВ (терм).
Для выделения сегмента между зубцами Т и Р построена СНЛВ, состоящая из пяти входных ЛП (Уровень ЭКС, Производная ЭКС, зубец Т, Разрешение паузы, Пауза), три выходные ЛП (Пауза, Т-зубец, Разрешение паузы) и семь правил нечетких продукций:
• Правило 1: Если Уровень = Около нуля И Производная = Около нуля И Разрешение паузы = = Разрешено, то Пауза = Да;
• Правило 2: Если Уровень = Среднее положительное И Производная = Среднее положительное, то Т-зубец = Есть;
• Правило 3: Если Уровень = Не Около нуля И Производная = Не Около нуля, то Пауза = Нет;
• Правило 4: Если Уровень = Среднее положительное И Производная = Среднее отрицательное И Т-зубец = Есть, то Т-зубец = Был;
• Правило 5: Если Т-зубец = Был ИЛИ Разрешение паузы = Разрешено, то Разрешение паузы = = Разрешено;
• Правило 6: Если Уровень = Не Около нуля И Производная = Не Около нуля И Пауза = Да, то Разрешение паузы = Не разрешено;
• Правило 7: Если Уровень = Не Около нуля И Производная = Не Около нуля И Пауза = Да, то Т-зубец = Не был.
На рис. 6 представлен пример выделения паузы между зубцами Т и Р для ЭКГ сигнала и его производной, представленных на рис. 3. Выделяя в каждом цикле сердечных сокращения моменты окончания пауз и измеряя интервалы времени между ними, получим временной ряд длительностей циклов сердечных сокращений, то есть кардиоритмограмму.
Рис. 5 Диалоговое окно программы для моделирования СНВ
1
0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 -0,1 -0,2 -0,3 -0,4 -0,5
I ;
1
•
т\
....../А Г1 1 1
.-....¡Л / !
- / / . \ - -
Л ] / к. / \ . У и.....Д, / V .. . ________1 \ /
а \ (
и ; ; ;
г; ! 1 1
________1________¡.________
50
100
150
200
250
300
350
400
450
500
550
Рис. 6 Выделение паузы между зубцами Т и Р с помощью системы нечеткого вывода
0
Следует отметить, что при настройке функций принадлежности ЛП необходимо учитывать особенности конкретного сигнала, которые могут не проявить себя в других условиях или при другом сигнале.
Достижение универсальности СНЛВ и обеспечение более достоверного формирования кардио-
ритмограммы предположительно могут быть достигнуты двумя способами:
• наращиванием ПНП, которые будут учитывать больше параметров сигнала и их вариаций;
• введением в систему элементов обучения, например с помощью аппарата нейронных сетей.
Заключение
| Литература
Предложена и описана система нечеткого логического вывода для формирования кардиорит-мограммы на основе ЭКС. Система описывает последовательность этапов нечеткого логического вывода, включающих задание входных и выходных лингвистических переменных, формирование совокупности правил нечетких продукций, фаззи-фикацию, агрегирование, активацию, аккумуляцию и дефаззификацию. Предложенный подход к формированию кардиоритмограммы позволяет учитывать неопределенность (нечеткость) входных данных, характерную для ЭКС, с помощью понятий теории нечетких множеств как ЛП и ЛВ, а также с помощью операций фаззификации и дефаззификации.
1. Локтюхин В. Н., Черепнин А. А. Поддержка принятия решений на основе нейронечеткой технологии при диагностике патологий желудочно-кишечного тракта // Биотехносфера. 2009. № 2. С. 20-23.
2. Круглов В. В., Дли М. И. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода. М.: Изд-во физ.-мат. литер., 2002. 256 с.
3. Демидова Л. А., Кираковский В. В., Пылькин А. Н. Алгоритмы и системы нечеткого вывода при решении задач диагностики городских инженерных коммуникаций в среде МАТЬАБ. М.: Радио и связь; Горячая линия — Телеком, 2005. 365 с.
4. Трахтенгерц Э. А. Компьютерная поддержка принятия решений. М.: Синтег, 1998. 252 с.
5. Ярушкина Н. Г. Основы теории нечетких и гибридных систем. М.: Финансы и статистика, 2009. 320 с.
УДК 612.822.3.08; 612.821.2 С. И. Артемов, аспирант,
ФГБОУ ВПО «Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В. И. Ульянова (Ленина)» В. А. Дюк, д-р техн. наук, ведущий научный сотрудник, Е. А. Попова, канд. физ.-мат. наук, научный сотрудник, Ю. И. Сенкевич, д-р техн. наук, ведущий научный сотрудник,
ФГБУН «Санкт-Петербургский институт информатики и автоматизации» Российской академии наук
Поиск устойчивых паттернов в электроэнцефалограмме человека в ответ на предъявление ему коротких подпороговых визуальных стимулов
Ключевые слова: нейрокомпьютерный интерфейс, обработка и анализ электроэнцефалограмм, сублиминальное восприятие.
Key words: brain-computer interface, processing and analysis of the electroencephalogram, subliminal perception.
Представлены исследования в целях обнаружения признаков сублиминалъного восприятия человеком визуалъных стимулов по данным обработки и анализа электроэнцефалограмм специ-алъными методами, разработанными авторами.
Исследования в области нейрокомпьютерных интерфейсов получили признание как отдельное направление развития технологий. Об этом свидетельствует анализ достаточно большого числа научных статей на страницах специализированных изданий [1, 2] и сайтов [3, 4]. Устойчивые результаты
в практических разработках интерфейсов «мозг — компьютер» (ИМК) показывают интерфейсы, использующие волну Р300 вызванных потенциалов в ответ на зрительно представляемый пользователем стимул (образ). Тем не менее эффективность подобных систем ограничивается особенностью методики обнаружения волны Р300 в электроэнцефалографическом (ЭЭГ) сигнале, основу которой составляет процедура накопления фрагментов этого сигнала, синхронизированных с многократным предъявлением того или иного стимула. При этом нередко умалчивается тот факт, что подобные реакции вызываются предъявлением и других