Сегодня мы поговорим о компрессии и биологии. Я представлю вам новую основу для машинного обучения, которая заключается в том, что обучение — это сжатие. Мы вместе изучим, как мы можем решить реальную проблему, просто заархивировав содержимое. Да! Вы слышали меня, мы будем архивировать данные так же, как мы делаем это, когда отправляем электронное письмо. Это позволит нам классифицировать белки.

🧠 Обучение — это сжатие

Понимание — это сжатие. (Грегори Чайтин, 2004 г.)

Не знаю, слышали ли вы когда-нибудь эти утверждения. Давайте объясним, что они имеют в виду, рассматривая кластеризацию. В этой задаче мы рассматриваем набор данных X из N точек xj. Предполагается, что каждый xj принадлежит к классу, обозначенному как yj (например, синий/красный/темный). Задача состоит в том, чтобы узнать, какая метка yj была взята из множества меток Y, соответствующих xj.

Наша модель кластеризации будет выводить метки всех точек из меток ее K центра кластера {pk} в надежде, что f(xi)=yi

Функция принятия решений f просто возвращает метку ближайшего центра. Например, если точка находится ближе к центру 3 (обозначенному как «синий»), чем к любому другому центру, функция принятия решения вернет «синий».

Теперь нам просто нужно запомнить центры и их метки, чтобы получить все метки, отсюда и сжатие 😎.

🤯 Используйте молнию для измерения расстояния

Я хочу познакомить вас с новой метрикой расстояния, которая называется Normalized Compression Distance (NCD). НИЗ — это способ измерения сходства между двумя объектами, будь то два документа, два письма, два электронных письма, два музыкальных произведения, два языка, две программы, две картинки, две системы, два генома и многие другие. Он измеряет, насколько сложно сжать только seq1, чем его сжатие в сочетании с seq2. Мы измерим, насколько близки две белковые последовательности.

🧬 Приложение к классификации белков

Белки могут быть получены из 20 различных видов аминокислот, а структура и функция каждого белка определяются видами аминокислот, используемых для его производства, и их расположением. Понимание этой взаимосвязи между аминокислотной последовательностью и функцией белка является давней проблемой молекулярной биологии с далеко идущими научными последствиями. Применение ML в биологии заключается в том, чтобы классифицировать аминокислотную последовательность белка к одному из белковых семейств. Другими словами, задача такова: по аминокислотной последовательности белкового домена предсказать, к какому классу он принадлежит.

Вот как выглядит выровненная последовательность белка: ....HWLQMRDSMNTYNNMVNRCFATCI...........RS.F....QEKKVNAEE

Мы используем это расстояние сжатия, чтобы посмотреть, насколько белки в пределах одного семейства далеки друг от друга (вариации внутри семейства):

И насколько они далеки от последовательностей, происходящих из другого семейства (дополнительная семейная вариация):

Как мы видим, последовательности из одного семейства очень классные, в то время как последовательности из других семейств далеки. Мы получаем этот классный результат, используя только zip. Теперь мы можем обучить kNN с этим расстоянием и классифицировать последовательности белков.