Машины опорных векторов для точной медицины и геномики на основе ИИ

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

Под прецизионной медициной понимается целенаправленное назначение лекарственного средства пациенту в зависимости от индивидуальных особенностей. Согласно Инициативе точной медицины, точная медицина — это «развивающийся подход к лечению и профилактике заболеваний, который учитывает индивидуальную изменчивость генов, окружающей среды и образа жизни каждого человека.

Некоторые распространенные коммерческие примеры точной медицины были связаны с раком молочной железы и меланомой. Около 30% пациентов с раком молочной железы имеют форму со сверхэкспрессией белка (HER2), которая не поддается стандартной терапии. Трастузумаб был одобрен для лечения пациентов с HER2-положительными опухолями, и дальнейшие исследования показали, что он снижает частоту рецидивов более чем на 50% в сочетании с химиотерапией.

В качестве другого примера, BRAF представляет собой ген, ответственный за выработку белка (B-Raf), участвующего в передаче сигналов внутри клеток для направления клеточного роста. Этот ген мутирует в некоторых меланомах. В результате этого открытия вемурафениб, ингибитор белка B-Raf, и сопутствующий тест на мутацию BRAF V600E были одобрены для лечения меланомы на поздних стадиях. Около 60% пациентов с меланомой имеют мутацию BRAF, и примерно 90% из них являются мутацией BRAF V600E. Сегодня использование ИИ может значительно сократить время на эти открытия и выявить новые области, изучая клинические данные.

Может ли алгоритм искусственного интеллекта на основе SVM помочь ускорить прецизионную медицину?

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

Так что же такое SVM и как он работает?

SVM — это алгоритм, который работает, максимизируя разницу между классифицированными данными. Учитывая помеченные обучающие данные (обучение с учителем), алгоритм выводит оптимальную гиперплоскость (линейную функцию в n-мерном пространстве), которая классифицирует новые примеры. Для линейных моделей классификации граница решения является линейной функцией входных данных. Бинарный линейный классификатор — это классификатор, который разделяет два класса с помощью линии, плоскости или гиперплоскости.

На рисунке 1 показаны граница решения и опорные векторы в классификации. Во время обучения SVM изучает важность каждой точки данных для представления границы между классами. Точки, лежащие на границе между классами, имеют значение и называются опорными векторами. Для предсказания классификации важную роль играют расстояние до опорных векторов и важность опорных векторов (узнанные при обучении).

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

Наиболее распространенным алгоритмом линейной классификации являются линейные машины опорных векторов, реализованные в svm.LinearSVC. Напомним, что модель SVM представляет собой представление данных в виде точек в пространстве, отображаемых таким образом, что примеры отдельных категорий разделены четким промежутком как можно большего размера. Затем новые объекты сопоставляются с тем же пространством, и их принадлежность к категории определяется в зависимости от того, на какую сторону разрыва они попадают. Затем SVM выполняет классификацию, находя гиперплоскость, которая максимизирует разницу между двумя классами. Изучение SVM можно сформулировать как задачу оптимизации:

максимальная маржа: 2/||w|| при условии

wT.xi+b ≥1, если yi=+1 для I = 1…N и

wT.xi+b ≤−1 if yi=−1

или эквивалентно min ||w||**2 при условии yi(wTxi+b) ≥1 для i=1…N. Значения x представляют собой набор функций, y — результат, w — веса/коэффициенты, а b — смещение. Это задача квадратичной оптимизации с линейными ограничениями, и существует уникальный минимум.

В SVM с жестким полем данные полностью отделимы без каких-либо данных в поле. SVM с жестким запасом будет хорошо работать, когда данные полностью линейно разделимы без каких-либо ошибок (шума или выбросов), в то время как во многих практических приложениях у нас может быть несбалансированный набор данных, и мы хотели бы, чтобы ошибки распределялись поровну между положительными и отрицательными классами. SVM с мягкой маржой, в которых точки данных могут находиться в пределах поля, наиболее распространены и реализованы программно. Маржа должна быть максимизирована, а ошибка сведена к минимуму. Поскольку в случае ошибок либо маржа меньше, либо SVM с жесткой маржой терпит неудачу, SVM с мягкой маржой решает эту проблему, вводя резервные переменные (ξi =1−yi(w⊤xi +b)›0, где ξi — резерв, для весов w , смещение b, независимый x и зависимая цель y). Мягкая маржа SVM обеспечивает возможность хорошего масштабирования между точностью и обобщением.

Общая задача оптимизации, определенная выше, по существу состоит в следующем:

C — параметр регуляризации. Очень высокое значение C означает, что вклад переменной резерва высок, и, следовательно, маржа ниже. Это может привести к переоснащению. Это случай жесткого поля, и данные могут быть полностью линейно разделимы. Если используется ядро ​​Гаусса, гамма является еще одним параметром, который управляет шириной ядра Гаусса. Низкая гамма подразумевает большое воздействие, а высокая гамма — ограниченный охват одного обучающего примера. И C, и гамма являются гиперпараметрами, которые будут проверяться во время реализации модели.

Теперь рассмотрим нелинейный случай.

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

Машины ядерных опорных векторов (SVM), которые являются расширением машин линейных опорных векторов для классификации, хорошо работают, когда данные, которые не являются линейно разделимыми в нашем n-мерном пространстве, могут быть линейно разделимы в пространстве более высокой размерности, как показано на рисунке 4. , Линейная модель становится более гибкой за счет добавления дополнительных функций — например, путем добавления взаимодействий или полиномов входных функций, а трюк с ядром работает путем вычисления расстояния (скалярного произведения) точек данных для расширенного представления функций без вычисления расширения. . Реализация классификатора машины опорных векторов (SVM) по сути является алгоритмом ядра, который основывает свой анализ на данных, полученных только с помощью скалярных произведений.

Реализация SVM на Python относительно проста, и ниже я воспроизвел документацию по методу SVC (классификации) из библиотеки scikit-learn.

class sklearn.svm.LinearSVC(penalty='l2', loss='squared_hinge', dual=True, tol=0,0001, C=1,0, multi_class='ovr', fit_intercept=True, intercept_scaling=1, class_weight= Нет, подробный=0, random_state=Нет, max_iter=1000)

класс sklearn.svm.SVC(C=1.0, ядро='rbf', степень=3, гамма='auto_deprecated', coef0=0.0, сжатие=Истина, вероятность=Ложь, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, solution_function_shape='ovr', random_state=None)

Однако, если набор данных больше, я бы использовал для реализации стохастический градиентный спуск и не полагался на SVM.

Таким образом, SVM является важным алгоритмом для получения ценной информации. ИИ можно использовать для создания персонализированных прогностических моделей комбинаций лекарств. Дополнительные переменные, такие как диета, микробиом и генетический состав, также могут быть введены для определения сравнительного ответа на лечение. Эта технология значительно продвинет процесс коммерциализации лекарств.