Диагностическая система по выявлению степени дисбактериоза желудочно-кишечного тракта на базе алгоритма нечеткой кластеризации

Нижегородский государственный университет им. Р.Е. Алексеева

Разработана программная диагностическая система, предназначенная для определения у пациентов степени дисбактериоза желудочно-кишечного тракта с помощью заложенного в нее FCM-алгоритма нечеткой кластеризации.

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

Целью данной работы является описание разработанной программной диагностической системы на базе алгоритма нечеткой кластеризации Fuzzy C-Means (FCM), предназначенной для определения степени дисбактериоза у пациентов на основе априорных многомерных данных по состоянию микрофлоры желудочно-кишечного тракта (ЖКТ).

Постановка задачи. Пусть нам дано множество U, состоящее из N пациентов (U = {u1, u2,…,uN}), каждый из которых характеризуется вектором в N-мерном Евклидовом пространстве. Необходимо разбить данное множество на два кластера (больных и здоровых пациентов) путём определения степени принадлежности каждому из них для каждого пациента [1]. По результатам проведённого разбиения необходимо для каждого пациента в зависимости от степени его принадлежности кластеру больных определить степень дисбактериоза.

Описание алгоритма. Пусть нечеткие кластеры задаются матрицей нечеткого разбиения, имеющей следующий вид [2,3]:

Матрица нечеткого разбиения

 где μki – степень принадлежности k-ого объекта i-му кластеру; k – номер объекта; i – номер кластера; N – количество объектов; С – количество кластеров.

При этом должно выполняться следующее условие:

Условие

На первом этапе алгоритма задаются следующие параметры алгоритма:

  • С – количество кластеров;
  • q – экспоненциальный вес, определяющий нечеткость кластеров (), который, как правило, принимают равным двум (q = 2), так как не существует теоретически обоснованного правила выбора его значения [2];
  • ε – параметр останова алгоритма.

На втором этапе выполняется генерация начальной матрицы нечеткого разбиения (1), путем полного отнесения всех пациентов кластеру больных людей (μk1 = 1, μk2 = 0).

На третьем этапе осуществляется расчет центров кластеров по следующей формуле [3]:

Формула расчета центров кластеров

где ci – центр i-го кластера; uk – вектор параметров k-ого объекта.

На четвертом этапе для каждого объекта рассчитывается расстояние, равное Евклидовой метрике, до центра каждого кластера, согласно следующей формуле [3]:

Формула рассчета расстояния, равное Евклидовой метрике, до центра каждого кластера

Таким образом, формируется матрица расстояний, имеющая ту же размерность, что и матрица разбиения.

На пятом этапе осуществляется пересчет элементов матрицы разбиения с учетом следующих условий [3]:

Условия пересчета элементов матрицы разбиения

На шестом этапе проверяется следующее условие:

Условие

Если условие (6) истинно для каждой пары, алгоритм завершает свою работу, предоставляя результат в наглядном виде. Иначе осуществляется переход на третий этап [3]. Более наглядно данный алгоритм представлен на рисунке 1 в виде блок схемы.

Модель оценки и визуализации результата разбиения. По результатам кластеризации каждому пациенту ставится в соответствие балльная оценка состояния здоровья в диапазоне от 0 до 3 и цвет для визуализации результата в соответствии с табл. 1 [1].

Таблица 1. Оценка состояния пациента

Таблица 1. Оценка состояния пациента

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

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

Номер пациента;

  • Степень принадлежности объекта кластеру больных людей;
  • Степень принадлежности объекта кластеру здоровых людей;
  • Экспертная оценка состояния пациента в интервале [0;3];
  • Программная оценка состояния пациента в интервале [0;3].

   

Рис. 1. Блок-схема алгоритма

Методика оценки качества разбиения. Для оценки качества полученного разбиения предложена следующая идея [1]:

  • Если программная оценка совпадает с экспертной, то мы считаем такой результат положительным;
  • Если программная оценка превосходит экспертную, такой результат мы считаем улучшенным;
  • Если программная оценка ниже экспертной, такой результат мы считаем промахом.

Расчет качества разбиения производится по следующей формуле:

Формула расчета качества разбиения

где E – количество промахов, N – общее число пациентов в выборке.

Результаты кластеризации. Для проверки работоспособности данной диагностической системы Нижегородским научно-исследовательским институтом эпидемиологии и микробиологии им. И.Н. Блохиной (ННИИЭМ) была предоставлена экспериментальная выборка, состоящая из 170 пациентов, принадлежащих одной возрастной группе (33–34 года). Состояние каждого пациента охарактеризовано априорными данными в виде набора из 29 проб на предмет анализа состояния микробиоты ЖКТ у пациента. Каждый параметр данного набора представляет собой нормированное значение в интервале [0;12]. В результате кластеризации экспериментальной выборки было получено разбиение, представленное на рисунке 2.

Разбиение, полученное в результате кластеризации экспериментальной выборки

Рис. 2. Разбиение, полученное в результате кластеризации экспериментальной выборки

На графике вдоль оси абсцисс откладываются номера пациентов (k), а вдоль оси ординат откладываются значения степени принадлежности k-ого пациента кластеру больных людей (μk1).

Качество разбиения для данной выборки составило примерно 96%.

Также сотрудниками ННИИЭМ был проведен ряд тестов по исследованию зависимости качества разбиения от размера выборки для различных возрастных групп, результаты которых представлены в табл. 2.

Таблица 2. Результаты исследования зависимости качества разбиения от размера выборки для различных возрастных групп

Таблица 2. Результаты исследования зависимости качества разбиения от размера выборки для различных возрастных групп

По полученным результатам было установлено, что в среднем качество разбиения составляет примерно 95,55%.

Заключение. В виду того, что разработанная диагностическая система показала достаточно высокие результаты, были поставлены следующие цели по ее развитию:

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

Список использованных источников:

1. Kanev O.K. Diagnostic system based on FCM-algorithm of fuzzy clustering // Modern informatization problems in simulation and social technologies: Proc. of the XX-th Int. Open Science Conf. – Yelm, WA, USA 2015. – P. 154-159.

2. Штовба С.Д. Введение в теорию нечетких множеств и нечеткую логику. Винница: Континент-Прим. – 2003. – 198 с.

3. Jantzen J. Neurofuzzy Modelling. – http://goo.gl/8PnwLn.