Мотивация

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

Мотивация для этого метода была установлена ​​при исследовании различий в сигналах ЭЭГ у младенцев, у которых разовьется аутизм, и у типично развивающихся младенцев (Bosl 2014). Исследование включало несколько измерений ЭЭГ у каждого пациента в возрасте от 3 до 36 месяцев. Проблема с данными заключается в том, что у каждого пациента было нерегулярное количество и последовательность наблюдений. Одного пациента можно было измерить в возрасте 3, 18, 21 и 24 месяцев, другого можно было измерить только в возрасте 9 и 18 месяцев. Каждое наблюдение содержало значимые данные, и кажется разумным ожидать более точных прогнозов, чем больше наблюдений было у пациента.

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

Метод

Разработанный нами метод использует два очень хорошо изученных метода в статистике и машинном обучении: K-ближайших соседей и биномиальное бета-распределение. В этом методе мы имеем дело только с бинарными классификациями.

Алгоритм:

  1. Особенности каждого обучения/помеченного наблюдения распределяются по соответствующему возрасту (3, 6, 9 месяцев и т. д.).
  2. Первое наблюдение классифицируемого пациента измеряется с помощью обучающих данных для его возраста наблюдения. Записываются метки k ближайших соседей к наблюдению.
  3. Затем записанные метки обрабатываются как успешные или неудачные и используются для обновления биномиальной бета-версии ранее. Обновленная апостериорная бета теперь рассматривается как априорная для следующего наблюдения.
  4. Шаги 2 и 3 повторяются для каждого наблюдения останков классифицируемого пациента.
  5. Аналитическое среднее окончательной апостериорной бета-версии — это вероятность класса, помеченного как «успех».

Этот метод очень прост и понятен читателям, знакомым с k-ближайшими соседями и биномиально-бета-байесовскими моделями. Краткое описание этих способов будет пояснено в контексте этого способа.

КНН

K-ближайшие соседи — очень распространенный метод контролируемой классификации. Этот метод использует наблюдения в помеченном обучающем наборе, наиболее близкие к рассматриваемому наблюдению (x), для создания прогноза. Мерой «близости» обычно является евклидово расстояние. В большинстве классификационных приложений KNN предсказание Y просто присваивается метке большинства k ближайших к x точек.

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

Байесовская биномиальная бета

В байесовском выводе априорное распределение формируется с использованием априорных знаний о системе (если априорных знаний нет, можно использовать неинформативные априорные). Затем данные используются для обновления этого предыдущего распределения для формирования апостериорного распределения. Это апостериорное распределение можно использовать, чтобы сделать вывод о каком-то интересующем нас параметре. В нашем случае нас интересует вероятность того, что младенец подвергается риску развития аутизма. Мы можем использовать эти данные (успех/неудача) из биномиального испытания, чтобы сформировать апостериорное распределение для этой вероятности. Вывод следующий:

Этот вывод показывает апостериорную, которая происходит от неинформативного априорного. Мы бы использовали неинформативный априорный анализ первого наблюдения пациента. После этого мы можем теперь использовать это апостериорное распределение в качестве априорного для следующего наблюдения. Этот апостериор для следующего наблюдения будет бета (a + y +1, b + n — y +1), где a — это альфа-параметр из предыдущего, а b — бета-параметр из предыдущего. y — успехи для этого наблюдения, а n — количество следов, в нашем случае n равно k, которое мы решили использовать.

Пример

Чтобы продемонстрировать эту технику, я создал простой пример с двумерным набором данных. В этом примере у нас есть пациент, у которого есть наблюдения в возрасте 3, 6, 9, 15, 21, 24 месяца. Первые k ближайших соседей запускаются для определения подсчетов «успех»/«неудача».

Счетчики для каждого возраста используются для обновления предыдущего бета-распределения. Бета-распределения для каждого возраста представлены ниже.

Среднее значение окончательного апостериорного распределения равно 0,66. Это можно интерпретировать как общую вероятность того, что у пациента аутизм.

Данные

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

X ~ равномерный (-2,2)

Типичный ~ Нормальный (X, 1)

Аутизм ~ Нормальный(X+𝜹, 1)

Где 𝜹 - константа

Мы хотели изучить, как модель работала, влияя на три фактора:

  • Различные уровни разделения. Имеются в виду разные уровни 𝜹. Изменив 𝜹, мы смогли проверить чувствительность нашей модели.
  • Полное наблюдение в сравнении с наблюдением в произвольном возрасте. Это означает, что за каждым пациентом ведется наблюдение в каждом возрасте (3–36 лет) или в случайном подмножестве этих возрастов. На практике кажется, что случайные наблюдения были бы более распространены. Нам было интересно узнать, улучшаются ли результаты при «полной траектории» и насколько.
  • Включая возрасты, которые неинформативны. Это означает, что 𝜹 уменьшается. Мы хотели посмотреть, как наша модель сможет оправиться от неинформативных эпох. Если между «типичным» и «аутизмом» в возрасте 9 лет очень мало различий, насколько хорошо модель может использовать следующие более информативные наблюдения для восстановления результатов.

Каждый набор данных состоит из 2000 пациентов. Пациенты с аутизмом были выбраны из расчета 1 к 5. Таким образом, в каждом наборе данных данные примерно 80:20 разделены между двумя классами. Был создан и изучен следующий список из 12 наборов данных:

Каждое наблюдение состоит из 9 чисел, которые генерируются случайным образом ранее упомянутым методом. Вот пример данных с 𝜹=1,5, случайным возрастом и отсутствием неинформативного возраста:

Результаты

Чтобы оценить эту модель, мы случайным образом разделили данные на 80% данных обучения и 20% данных тестирования. Итак, для обучения моделей использовались данные от 1600 пациентов, а те модели были протестированы на данных от 400 пациентов. Помните, что у каждого пациента может быть несколько наблюдений. Каждый набор данных был случайным образом разделен и оценен 100 раз. На приведенных ниже графиках показаны 95% доверительные интервалы вокруг средней точности классификации для этих испытаний.

Результаты точности моделей для каждого возраста нанесены на график рядом с эффективностью классификатора повышения градиента. Классификатор градиентного усиления оценивал каждый возраст так, как если бы наблюдения в этом возрасте были полностью независимы от всех других возрастов. Модель обновления использует все наблюдения, которые были сделаны до нее, чтобы сделать прогноз. Таким образом, прогноз возраста 12 лет для пациента с наблюдениями в возрасте 3, 6, 12, 18 лет использует только возраст 3, 6 и 12 лет. Это означает, что если модель работает должным образом, точность классификации должна увеличиваться по мере добавления большего количества наблюдений.

Участки 1–6 | Все возрасты с равным разделением (𝜹)

Как и следовало ожидать, результаты классификатора повышения градиента кажутся постоянными для каждого возраста. Это имеет смысл, потому что средний объем данных и среднее разделение между классами для каждого возраста примерно одинаково для каждого возраста. Точность модели обновления улучшается в каждом возрасте для уровней разделения 𝜹=1,5 и 𝜹=2. Однако его точность для 𝜹=1, по-видимому, примерно эквивалентна точности результатов повышения градиента. Интересно, что обе модели превзошли точность 80%, которая была бы получена в результате предсказания всех «типичных» значений, что означает, что имеется достаточно сигнала для точности классификации, которая немного лучше, чем при выборе класса большинства. Однако модель обновления не улучшает свои результаты с течением времени.

Для 𝜹= 1,5 и 𝜹= 2 точность модели обновления со временем явно улучшается. При первом наблюдении точность существенно не отличается от результата повышения градиента. Однако с каждым наблюдением точность явно улучшается. Это указывает на то, что алгоритм работает должным образом.

Участки 7–12 | Несколько менее информативных возрастов

Графики в левом столбце имеют меньшее разделение (𝜹=1) для детей в возрасте 6, 9 и 12 лет. Первое наблюдение в возрасте 3 лет имеет нормальное разделение. Похоже, что информация, собранная из первого наблюдения, переносится в следующие 3 менее информативных возраста, поскольку точность остается выше, чем результаты повышения градиента. В возрасте 15 лет, когда разделение возвращается к норме, точность обоих алгоритмов оказывается примерно одинаковой. После этого точность обновленных моделей начинает увеличиваться с каждым новым наблюдением.

Заключение

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

Пара приложений, в которых, по нашему мнению, этот алгоритм актуален:

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

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