Что общего между раком крови, лазерами и нейронными сетями?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Доброго времени суток, дорогой Habr, надеюсь вы успели заскучать после 3-х месяцев паузы (ссылка на прошлую статью). На связи снова Николай Иванов и сегодня вы узнаете, что общего между раком крови, лазерами и машинным обучением.  В этой статье мы поговорим с вами о методе проточной цитофлуориметрии, как он работает и как врачи определяют рак костного мозга и крови. Далее обсудим причём тут машинное обучение, как его можно использовать для ускорения работы врачей, а также чего мы достигли и есть ли смысл этим вообще заниматься? Рассказ я буду вести именно в том порядке, в котором мы двигались, при решении данной задачи. Приятного чтения!

Начнём с проточной цитофлуориметрии

Проточная цитометрия (проточная цитофлуориметрия) – метод исследования дисперсных сред в режиме поштучного анализа элементов дисперсной фазы по сигналам светорассеяния и флуоресценции. На картинке выше схематично изображен принцип работы проточной цитометрии: как движутся клетки, зеркала, лазеры и АЦП. Если просто и кратко: мы помечаем клетки специальными красителями и, пока они движутся в потоке, облучаем лазером. В зависимость от красителя, светофильтра и положения клетки – получаем разные картинки на детекторе. Подробнее тут (ссылка).

Данные метод является стандартным для детекции различных видов лейкозов. Есть определенный набор каналов, которых хорошо изучен и позволяет определять группы раковых клеток. Врачи обычно строят попарные графики либо с различными красителями, либо с различными положениями клеток, попавших на детектор (например, FSC (Forward scatter) – рассеивание под прямым углом, SSC (Side scatter) – рассеивание под углом 90). Вот примеры картинок (взято отсюда), которые анализируют врачи:

Типичные картинки, которые анализируют врачи
Типичные картинки, которые анализируют врачи

Видно, что клетки формируют различные группы, которые можно отделять друг от друга визуально, чем и занимаются врачи. 

А зачем что-то менять? Метод рабочий, куча исследований и статей по тому, как правильно работать с этими изображениями, точность врачей высока, зачем тут машинное обучение? А я вам отвечу!)

  1. Время. На поиск кластеров и просмотр таких попарных взаимодействий, врач тратит достаточно много времени.

  2. Размерность. Врач смотрит на двумерные графики. Да он может достаточно точно найти информацию по двумерному графику, но такие данные изначально представлены в многомерном пространстве, где больше информации. Посмотреть на картинку из 10-мерного пространства трудновато)))

  3. Точность. А вдруг у нас получится улучшить точность и сделать этот процесс автоматизированным? 

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

Как минимум эти 4 причины заставили нас заняться этой сложной, но интересной задачей. Приступим!

Какие данные у нас есть?

Источником данных является один из крупнейших центров детской гематологии и онкологии, который любезно предоставила нам обезличенные данные для исследования. Данные хранятся в специальных форматах “.fcs” (подробнее тут). Этот формат данных используется для хранения большого массива информации которые внутри себя содержать коэффициенты компенсации (о них я расскажу ниже), коэффициенты для различных преобразований, сами детектированные точки, наборы флуоресцентов, а также некоторую разметку врачей, которую они использовали для постановки диагнозов. Для каждого пациента также имеется поставленный диагноз (Т-Лимфобластный лейкоз – это злокачественное заболевание крови и костного мозга. Оно характеризуется накоплением в лимфатических узлах, костном мозге и периферической крови опухолевых лимфоцитов. Другое название – лимфолейкоз. Свое развитие это заболевание начинает в костном мозге, своеобразной «фабрике» клеток крови </p>" data-abbr="лимфобластный лейкоз">лимфобластный лейкоз, Лейкоз В-2 и т.д.) и доля бластных клеток в крови. В данных имеется естественный для профиля данной клиники перекос в плане количества больных и здоровых пациентов, так как больница являются ведущим федеральным центром по диагностики детских онкогематологических заболеваний.

В целом, в выборке 150 здоровых пациентов, больных – 906. Количество бластных клеток от 0 до 100%. У здоровых 0% бластных клеток, чем тяжелее болен человек тем больше процент. Распределение пациентов по количеству бластных клеток показано на диаграмме. Такой дисбаланс здоровых и больных будет достаточно сложно победить, но мы пытались). Тут сразу и задачу, и метрику можно выбрать. Если задача регрессии, тогда метрики RMSE или MAE. Можно решать также задачу классификации, есть рак или нет, тогда подходящие метрики ROC AUC, Precision, Recall для обоих классов.

Распределение пациентов, по количеству бластных клеток
Распределение пациентов, по количеству бластных клеток

Для каждого пациента имеется своя таблица данных. Она представляет из себя точки и то как они детектировались в зависимости от красителей. Размер впечатляет – около 28 тысяч точек на 13 колонок (это те самые красители и различные углы измерения, под которыми клетки попадают на детектор). Пример: 

Пример таблицы данных
Пример таблицы данных

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

Нужно сказать пару слов про разбиение данных. Пациенты были разделены по в соотношении 70/15/15. 70% – Данные для тренировки, 15% –  валидация, 15% – тест, их модель не видела и под них не настраивались параметры. Важно отметить, что данные были отобраны по принципу <a href="https://docs.datarobot.com/en/docs/modeling/special-workflows/otv.html">https://docs.datarobot.com/en/docs/modeling/special-workflows/otv.html</a></p>" data-image="https://habrastorage.org/getpro/habr/upload_files/c91/418/48c/c9141848c246d39e05ddbd98442142c8.png" data-abbr="out-of-time" data-image-width="346" data-image-height="146">out-of-time – стандартный прием при работе с данными, зависящими от времени. Отметим также что наши данные могут немного варьироваться, в более новых образцах могут быть удалены некоторые каналы; может использоваться более современное и точное оборудование. Также мы фиксировали сиды и считали все метрики на 10 сидах, для более справедливого сравнения моделей. Очень важно отметить, что для нашего алгоритма мы использовали лишь скрининговые данные.

Как их анализировать?

Когда мы впервые увидели данные и решили посмотреть на них в 2D, увидели вот это. 

WTF??
WTF??

Стоп, что? У врачей такие красивые картинки были, а где кластеры??? Что происходит - первая моя реакция. Немного заспойлерю: более 80% данных оказались выбросами). 

Почему это именно выбросы? Если посмотреть на картинки, на которые смотрит врач, по ним явно определяются различные группы клеток, такие как лимфоциты (ссылка), <strong>Моноци́ты</strong>&nbsp;(от&nbsp;<a href="https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B5%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA">греч.</a>&nbsp;μονος&nbsp;— «один» и&nbsp;κύτος&nbsp;— «вместилище», «клетка»)&nbsp;— крупные&nbsp;<a href="https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D0%B9%D0%BA%D0%BE%D1%86%D0%B8%D1%82%D1%8B">лейкоциты</a>&nbsp;системы мононуклеарных&nbsp;<a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BA%D1%80%D0%BE%D1%84%D0%B0%D0%B3">макрофагов</a>, их&nbsp;<a href="https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%BC%D0%B5%D1%82%D1%80">диаметр</a>&nbsp;в мазке&nbsp;<a href="https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%BE%D0%B2%D1%8C">крови</a>&nbsp;достигает 18—20&nbsp;<a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%BA%D0%BC">мкм</a><a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D0%BE%D1%86%D0%B8%D1%82%D1%8B#cite_note-_92a0c318d4251689-1"><sup>[1]</sup></a> </p>" data-abbr="моноциты ">моноциты (ссылка) и другие. Тут мы видим полный хаос. Хотя сначала мы пробовали обучать и без удаления выбросов

Источник: https://habr.com/ru/articles/777476/


Интересные статьи

Интересные статьи

И почему вас это должно волновать.При компонентном тестировании вы тестируете более ранние этапы процесса разработки, и вместо тестирования всего приложения (или его большого фрагмента) вы тестируете ...
Это вторая статья из серии статей о релокации. Первая была здесь. В этой статье я расскажу как получить международную карту MasterCard и наладить перевод денег из России.
Всем доброго времени суток!Захотелось поделиться реализацией Hun-and-Spoke VPN между Cisco ISR (в качестве споков) и Linux+StrongSwan swanctl (в качестве хабов).Небольшая предыстория.На данный момент,...
Приветствую, коллеги! Меня зовут Женя и я менеджер по развитию продукта в Digital Design. По долгу службы я часто посещаю зарубежные онлайн-конференции, посвященные корпоративному управлению и актуаль...
Продолжение темы современных двигателей в формате comparing incomparable. После прочтения статьи «Apple в 2019 году — это Linux в 2000 году» я подумал что по такому же принципу можно сравн...