биоинформатика.pptx
- Количество слайдов: 87
Распознавание образов и биоинформатика к. б. н. Пятницкий М. А. лаб. анализа постгеномных данных ИБМХ РАМН www. bioinformatics. ru
Задача: научиться распознавать объекты различных классов. Machine Learning, Pattern Recognition
Задача: научить компьютер решать когнитивные задачи. Дано: - набор объектов - признаки, характеризующие объект - класс объекта (может быть неизвестен) Вход: новый объект Выход: предсказание класса для этого объекта Ключевые слова: - методы распознавания образов, машинное обучение, кластерный анализ, нейронные сети, дискриминантный анализ - pattern recognition, machine learning, cluster analysis, neural networks, discriminant analysis
Примеры задач по распознаванию образов • Распознавание рукописных букв (Fine. Reader) • Отпечатки пальцев, распознавание речи • Распознавание лиц на фотографиях • Постановка диагноза, анализ ЭКГ (медицина) • Определение свой/чужой (армия) • Робототехника • Защита от спама … NB: полная автоматизация процесса распознавания!
Пример: автоматическое выявление диагноза “рак яичника” по данным ИФА и масс-спектрометрии Выборка образцов плазмы: 38 здоровых 67 больных
Пример: автоматическое предсказание сорта по электрофорезу зерен пшеницы 40 сортов ~ 80 дорожек каждого сорта
Пример: Microarrays (биочипы)
Microarray – общий принцип Одновременное измерение уровня экспрессии десятков тысяч генов Cy 3 Cy 5
Гены (или белки) Дискретные состояния, например: - время после введения химического соединения в организм - время суток - доза введенного препарата - степень (например, продолжительность) стрессового воздействия - введение различных химических веществ (например, безвредных и заведомо токсичных) Состояние 0 Состояние 1 0. 32+0. 08 … Состояние N Ген 1 Уровень экспрессии гена 1 в состоянии 0 Ген 2 1. 52+0. 1 17. 72+0. 7 3. 14+1. 2 ПРОФИЛЬ ЭКСПРЕССИИ … Ген N ВЕКТОР
Выделение признаков Цель: выделить признаки, удобные для классификации в идеале: • объекты из одного класса должны иметь схожие значения • объекты из разных классов должны иметь разные значения признак 2 признак 1 Хорошие признаки признак 1 Плохие признаки
Примеры признаков Классификация рака яичника: • интенсивность и положение пиков масс-спектра • пол, возраст пациента • результаты ИФА Определение сортов пшеницы • профиль оптической плотности вдоль дорожки Данные биочипов (microarray) • профиль экспрессии каждого гена
Данные протеомного или геномного эксперимента: • многомерные • имеются сложные взаимосвязи • число переменных много больше числа образцов. Это очень затрудняет работу многих статистических методов Типичные задачи эксперимента: • Сравнение профилей экспрессии генов/белков между разными группами (ex: рак/норма) • Изучение взаимосвязей между генами/`белками. Типичные проблемы: • Наличие пропущенных значений • Наличие выбросов
Важно: сперва провести разведочный анализ Задача: получить общее представление о данных - распределение каждого признака (по возможности), “ящики-с-усами”, описательная статистика - визуализация на плоскости (PCA, MDS) - определение необходимости трансформаций. часто: логарифмирование, z-score: - По возможности – зависимости между всеми парами признаков - Поиск “интересных” признаков (ex: бимодальных) и пар признаков
Анализ каждой переменной – гистограмма для каждого класса + boxplot (“ящик-с-усами”)
Пример: применение логарифмического преобразования log данные С. А. Мошковского
Пример: применение многомерного шкалирования для разведочного анализа данные С. А. Мошковского
Пример: использование цвета для кодирования плотности совместного распределения
Пропаганда: Anscombe’s quartet • Среднее: для x = 9, для y=7. 5 • Дисперсия: x =11, для y = 4. 1 • Коэффициент корреляции: 0. 816 • Линейная регрессия: y = 3 + 0. 5 x
Проблема пропущенных значений Часто встречается в протеомных экспериментах (2 -DE) Многие методы (особенно многомерные) требуют полных данных Способы борьбы: • убрать строки/столбцы с пропущенными значениями • генерировать новые данные (заменять на среднее, получать из оцененного распределения) • использовать методы нечувствительные к пропущенным данным • поставить эксперимент еще раз!
Проблема выбросов Выброс – образец с резко отличающимися показателями от основной группы • может существенным образом повлиять на работу многих статистических процедур. • трудно заметен в многомерных данных Поиск выбросов • вручную – анализ графиков рассеяния, PCA, • критерии для обнаружения (Yang, Mardia, Schjwager, …) Средства борьбы с выбросами • удаление выбросов • Гигиена: применять устойчивые к выбросам (робастные) статистически (ex: медиана вместо среднего, корреляция Спирмена вместо Пирсона)
Типы выбросов сдвиг среднего и уменьшение корреляции сдвиг среднего
Проблема выбросов: иллюстрация на примере коэффициентов корреляций
Пример: обнаружение выбросов с помощью PCA данные С. А. Мошковского
Два типа задач (важно!) 1)Есть набор объектов. Нужно сгруппировать похожие объекты между собой. (если группировка осмысленна!) Это обучение без учителя (кластерный анализ) 2) Дополнительно есть информация о классах объектов. Нужно “обучиться” на этой информации Это обучение с учителем: нейронные сети, теорема Байеса, … решающее правило
Кластеризация разделяющая (обучение без учителя) иерархическая напрямую возвращает состав кластеров. последовательное объединение (или Число кластеров нужно разделение) объектов на различных задавать заранее. уровнях сходства Метод k-средних (kmeans), PAM, … метод ближней связи, метод полной связи, метод Уорда, …
Задача: найти кластеры
Разделяющая кластеризация k-means Заранее задаем число кластеров (k). В примере k=3 1. Случайным образом выбираем k точек из имеющихся. Это “центры притяжения” кластеров.
Исходные данные
Инициализация
Разделяющая кластеризация k-means Заранее задаем число кластеров (k). В примере k=3 1. Случайным образом выбираем k точек из имеющихся. Это “центры притяжения” кластеров. 2. Присваиваем каждую точку к тому кластеру, к центру которого она ближе всего
Инициализация
Первый шаг
Разделяющая кластеризация k-means Заранее задаем число кластеров (k). В примере k=3 1. Случайным образом выбираем k точек из имеющихся. Это “центры притяжения” кластеров. 2. Присваиваем каждую точку к тому кластеру, к центру которого она ближе всего 3. Пересчитываем новые положения центров кластеров. Заново определяем принадлежность каждой точки
Первый шаг
Второй шаг
Разделяющая кластеризация k-means Заранее задаем число кластеров (k). В примере k=3 1. Случайным образом выбираем k точек из имеющихся. Это “центры притяжения” кластеров. 2. Присваиваем каждую точку к тому кластеру, к центру которого она ближе всего 3. Пересчитываем новые положения центров кластеров. Заново определяем принадлежность каждой точки 4. Повторяем шаг 3 пока либо: 1) не меняется принадлежность каждой точки 2) мало меняется положение центров кластеров 3) сделали заданное количество итераций
Второй шаг
Третий шаг
Разделяющая кластеризация k-means Заранее задаем число кластеров (k). В примере k=3 1. Случайным образом выбираем k точек из имеющихся. Это “центры притяжения” кластеров. 2. Присваиваем каждую точку к тому кластеру, к центру которого она ближе всего 3. Пересчитываем новые положения центров кластеров. Заново определяем принадлежность каждой точки 4. Повторяем шаг 3 пока либо: 1) не меняется принадлежность каждой точки 2) мало меняется положение центров кластеров 3) сделали заданное количество итераций
Третий шаг
Четвертый шаг: алгоритм сошелся!
K-means: не все так просто Минимизируем (задача NP-полная) Хорошо находятся “сферические” кластеры (изотропно во всех измерениях) Проблема выбора k. Лучше брать побольше Вариант: PAM – medoid вместо среднего Зависимость от начального выбора центров кластеров. Правильно делать много итераций
Шаг 1 Шаг 2 Шаг 3 Зависимость от начального выбора центров кластеров
Другая инициализация приводит к иному выбору кластеров: Шаг 1 Шаг 2
Кластеризация разделяющая (обучение без учителя) иерархическая напрямую возвращает состав кластеров. последовательное объединение (или Число кластеров нужно разделение) объектов на различных задавать заранее. уровнях сходства Метод k-средних (kmeans), PAM, … метод ближней связи, метод полной связи, метод Уорда, …
Построение иерархической кластеризации признак 2 (метод ближней связи) объект 2 объект 3 объект 6 объект 4 объект 7 объект 5 объект 1 объект 8 признак 1
признак 2 Инициализация: каждый объект – отдельный кластер 2 кластер 3 кластер 4 кластер 6 кластер 7 кластер 5 кластер1 кластер 8 признак 1
признак 2 Первый шаг: объединяем два ближайших кластера кластер 2 кластер 3 кластер 4 X 6 кластер 6 -7 X 7 кластер 5 кластер1 кластер 8 признак 1
Уровень 2, k = 7 кластеров
признак 2 Второй шаг: объединяем два ближайших кластера X 2 кластер 2 -3 кластер 4 X 6 X 3 кластер 6 -7 X 7 кластер 5 кластер 1 кпастер 8 признак 1
Уровень 3, k = 6 кластеров.
признак 2 Третий шаг: объединяем два ближайших кластера X 2 кластер 2 -3 X 3 кластер 4 -5 X 4 X 6 кластер 6 -7 X 5 кластер 1 кпастер 8 признак 1
Уровень 4, k = 5 кластеров.
признак 2 Четвертый шаг: объединяем два ближайших кластера кластер 4 -5 -6 -7 X 2 кластер 2 -3 X 4 X 6 X 7 X 5 кластер 1 кпастер 8 признак 1
Уровень 5, k = 4 кластера
Уровень 6, k = 3 кластера.
Уровень 7, k = 2 кластера
Уровень 8, k = 1 кластер
2 3 4 7 5 1 дендрограмма 6 8
Пример кластерного анализа данных биочипов (heatmap)
Обучение с учителем Задача – построить решающее правило, которое позволит относить вновь обработанный образец в тот или иной класс. ключевые слова: нейронные сети, SVM, decision trees • Основное отличие от кластерного анализа: требуется большая выборка с заранее отклассифицированными объектами. • Обычно работает лучше чем обучение без учителя. • Кросс-валидация – при отсутствии тестовой выборки. • Проблема переобучения (overfitting) решающее правило
Обучение с учителем обучающее множество вектор измерений (признаки объекта) метки (класс каждого объекта) Задача: построить решающее правило , которое хорошо описывает данные, т. е. найти отображение Построение решающего правила – решение сложной оптимизационной задачи (min числа ошибок) Различные подходы к ее решению
Проблема: обобщение и переобучение
Какое решающее правило является наилучшим?
Объекты первого типа я ща яю сть ел ко аз д ос р л рп е ип г Объекты второго типа максимальная ширина разделяющей полосы
Обучающая и тестовая выборки Обучающая выборка (много!) Проверка правила на обучающей выборке (обычно хорошо) Обучение (построение решающего правила) ага, ошибка = 0. 1 (1/10) Тестовая выборка Проверка (сравниваем с истинными классами) Применение правила к тестовой выборке (не должна включать объекты из обучающей!)
Разделение может быть лучше в пространствах высокой размерности (SVM) функция (ядро) гиперплоскость Трудно при малой размерности пространства Легко при большой размерности
Обобщение: несколько классов Один-против-всех Один-против-одного
Кросс-валидация: проверка классификации • Главное - не тестироваться на том, на чем обучались! При этом оптимистическая оценка ошибки • Применяется при малом объеме выборки (почти всегда) • Разделить всю выборку на k частей, Xi, i=1, . . . , K • Каждая k-я часть – для тестирования, остальное – на обучение -- средняя ошибка
Оценка классификатора • Точность = (TP+TN) / (TP+FP+FN+TN) • Чувствительность = TP / (TP+FN) • Специфичность = TN / (TN+FP)
Сравнительный анализ классификаторов • Сross-validation • Confidence intervals for acc, spec, sens
ROC – кривая Receiver-Operating Characteristic curve Значение дискриминирующей функции Модель Золотой стандарт Чувствительность = (ошибка на “положительных”) Специфичность = (ошибка на “отрицательных”)
ROC – кривая - summary • Используется для представления результатов классификации на 2 класса • Параметр классификатора (порог), варьируя который получается то или иное разбиение Что является “положительным” событием – зависит от условий задачи. Если прогнозируется вероятность наличия заболевания, то положительный исход – класс “больной пациент”, отрицательный исход – класс “здоровый пациент”
• Удобно для сравнения эффективности двух классификаторов • Чем ближе кривая к левому верхнему углу, тем выше предсказательная способность модели • Диагональ - “бесполезный классификатор” - полная неразличимость классов • AUC – Area Under Curve - число, позволяющее сравнивать кривые ROC, [0; 1]
ROC-кривая: пример 1
ROC-кривая: пример 1
ROC-кривая: пример 1
ROC-кривая: классы хорошо разделяются
ROC-кривая: классы плохо разделяются
Важно: уменьшение числа признаков
Уменьшение размерности пространства (dimensionality reduction) Filter не используют алгоритм классификации • PCA • методы теории информации • отбор “интересных переменных” (ex: бимодальных) Wrapper используют классификацию как способ оценки качества переменной • Кросс-валидация • Оптимально – полный перебор • Backward, forward selection • Генетические алгоритмы NB: выбор “правильных” признаков важнее выбора “правильного” классификатора
Корреляционный анализ пиков (filter)
Этапы решения практических задач § формализация предметной области (определение признаков и набора классов) § формирование обучающей выборки § снижение размерности пространства признаков § обучение ( «с учителем» , «без учителя» ) § распознавание § адаптация (если качество обучения признано неудовлетворительным) § обратная задача распознавания: определение набора признаков наиболее характерных для объектов заданного класса
Другие типы данных (не только числа) Сети взаимодействий (белок-белковые, регуляторные, pathways, etc) Онтология Последовательности Текст
Распознавание образов в биологии (биоинформатика) Экспериментальные технологии: - транскриптомные ДНК микрочипы (биомаркеры!) - протеомика: масс-спектрометрия, электрофорез - экспресс-методы ДНК секвенирования - системы детекции метаболитов (ЯМР, МС) - флуоресцентная микроскопия клеток - автоматизированный анализ тканевых срезов Вычислительные технологии: - предсказание 3 D структуры, локализации и функций белков - разметка экзон/интронной структуры -методы анализа количественного соотношения структура-активность, предсказание фармакокинетики, побочных эффектов - молекулярное моделирование и докинг
Распознавание образов в биологии Априорные знания Гипотезы Эксперименты КЛАССИФИКАТОР Данные литературы Реальный мир Дизайн эксперимента
Ура!
биоинформатика.pptx