Мнение редакции может не совпадать с мнением автора
Сегодня хочется рассказать сказочную историю про эпигенетику, статистику, машинное обучение и современные практики публикации научных результатов. Ну и еще, раз уж так получилось, про гомосексуальность.
Сказочной историю я называю в буквальном смысле. Ведь со времен Проппа известно, что сюжет, где главного героя многажды предупреждают что-то не делать, а он это все равно делает и попадает в беду — один из центральных сюжетов сказок.
Наш герой, постдок из Университета Калифорнии в Лос-Анджелесе Так Нгунь (Tuck Ngun, заранее прошу у читателя прощения за возможные ошибки в транслитерации фамилии), не пил, конечно, из копытца, но совершил нечто вполне сопоставимое в мире машинного обучения. Драматизма этой истории придает тот факт, что точно так же поступали многие и многие до нашего героя, но фортуна изменила именно ему — Нгуню (не)повезло сделать работу на очень уж скандальную тему.
Молекулярный биолог по образованию, он занимается исследованиями на стыке нейробиологии и эпигенетики («над-генетики», области биологии, которая занимается исследованием тех маркеров, которые контролируют работу ДНК). Нгунь пытается разобраться в тех сложных взаимоотношениях, которые существуют между эпигенетическими метками, половыми гормонами и половым поведением. Центральной темой его работ является роль эпигенетики в определении половой ориентации. До сих пор немногочисленные работы постдока не привлекали особого внимания (с их полным списком можно ознакомиться здесь). Однако все изменилось, когда наш герой перешел с мышиных моделей на человека. Тут-то слава и пришла.
Восьмого октября редакторы новостного отдела Nature опубликовали заметку с заголовком «Эпигенетические метки связали с мужской гомосексуальностью» по последней работе Нгуня. В ней говорится о том, что биологу удалось найти несколько эпигенетических маркеров, которые позволяют с 67-процентной вероятностью угадать ориентацию мужчины: является ли он гомосексуалом или нет. Уже потом, когда заметку подхватили чуть ли не все крупные западные СМИ («Скандал! Ученые нашли ген геев!») появились весьма удивленные комментарии от других ученых и стала в общих чертах понятна стратегия, которую наш герой использовал в своей работе — и о которой, собственно, и пойдет речь.
Заметка опиралась на пресс-релиз конференции, на которой Нгун должен был впервые представить свою работу. Ни самой публикации, ни даже препринта к тому моменту не было. Однако редакторов Nature это не смутило, что уж говорить о тех журналистах, что и в первоисточник не полезли, а положились на авторитет «одного из двух главных научных журналов мира» (заметим в скобках, что журнал Nature и одноименный сайт делаются разными редакциями, автору этого блога приходилось встречать на последнем исключительно забавные ляпы).
Но история эта вовсе не про «глупых журналистов, снова перевравших слова ученого в погоне за сенсацией». Она про то, что не надо пить из копытца, даже если кто-то так делает постоянно. Доклад новых результатов на конференции до публикации статьи — это совершенно нормальная практика. Как и написание новости по пресс-релизу, если кроме этого пресс-релиза никакого другого источника нет в природе. Ненормально не обратить внимание на то, что именно в этом пресс-релизе написано.
А написано там то, что эпигенетические маркеры гомосексуальности были найдены автором при анализе 47 близнецов: в 37 парах близнецы были разной ориентации (гомо- и гетеросексуальной), в еще 10 — только гомосексуальной. И на этой-то выборке якобы и удалось найти семь пресловутых маркеров гомосексуальности, предсказывающих с 70-процентной вероятностью ориентацию человека (в скобках заметим, что маркеры шизофрении, которая не в пример гомосексуальности прекрасно наследуется, ищут всем миром и находят с большим трудом, а тут сразу аж 70 процентов предсказательной силы).
Любой эрудированный редактор должен был вспомнить, что только в геноме любого человека содержатся миллионы отличающих его генетических особенностей (полиморфизмов, вариантов, SNP). А уж различных эпи-генетических маркеров у разных людей может быть еще больше. Поэтому в выборке из 50 человек можно найти сколько угодно маркеров чего угодно, в том числе и гомосексуальности. Значимость работы должна оцениваться не по наличию ассоциаций, а по предсказательной силе модели. Но как оценить ее правильно?
Вспомним, как работает машинное обучение «с учителем». Мы берем набор m неких примеров (добровольцев, фотоснимков) обладающих некоторыми особенностями (индивидуальный набор SNP, данные яркости пикселей — все это представляется в форме n-мерного вектора). Каждому из примеров у нас сопоставлен ответ (гомо/гетеросексуальность, фото кота/фото собаки). Задача машины — предсказать по данным особенностям правильный ответ. Точнее говоря, найти такую формулу перемножения особенностей, которая позволяет вычислить правильный ответ для любого нового примера. Все имеющиеся данные делятся на две группы: обучающую и тестовую выборку. Эффективность машинного обучения, то есть его предсказательная сила, измеряется именно на тестовой выборке — это данные, которые система «не видит» при обучении, это ее «экзаменационный билет».
Штука в том, что при малом количестве примеров (низком m) и большом наборе признаков (высоком n) любая система машинного обучения склонна к оверфиттингу, то есть к подгонке «формулы» к существующим данным. Эта подгонка позволяет добиться прекрасного предсказания ответа на известных примерах, но стоит опробовать ее на новом примере (который не учитывался при обучении), как полученная «формула» безбожно ошибается. В этом, собственно, и состоит основная проблема ученых, которые занимаются полногеномными анализами ассоциаций — в таких исследованиях n (здесь — число потенциально важных SNP) может достигать миллионов, а m (то есть число участников эксперимента), исчисляется тысячами, если не сотнями.
Против оверфиттинга существует множество сложных стратегий, однако есть простое и понятное правило: что бы вы ни делали с моделью, вы не можете использовать тестовую выборку для изменения модели. Тестовую выборку можно использовать только в самом конце работы — чтобы узнать, как справляется итоговая модель с совершенно новыми данными.
Если же вы хотите попробовать разные варианты машинного обучения, поиграться со стратегиями и тактиками архитектуры модели — будьте любезны, поделите все данные как минимум на три группы: обучающую, тестовую и подгоночную (cross-validation set) выборки. И ни в коем случае не используйте тестовую выборку как подгоночную. Не пейте из копытца.
Это правило известно всем, кто практиковал машинное обучение. Эндрю Ын в своем популярном курсе на Coursera рассказывает о нем очень подробно, с примерами. И, тем не менее, многие игнорируют это правило, пытаясь сделать модель «более лучше» уже после тестирования. Часто это оправдывают тем, что модель по-прежнему видит только обучающую выборку, просто старую модель заменяют на модель получше. А это, якобы, не так страшно, и позволяет получить бóльшую предсказательную силу на той же тестовой выборке.
Это исключительно сильный соблазн в тех работах, когда увеличение выборки стоит очень дорого — и в смысле времени, и в смысле денег. То есть как раз в подобных генетических работах. Только вот когда вы меняете модель выборка перестает быть тестовой — но это, конечно, штука, которую человеческому мозгу, не приспособленному эволюцией к тонкостям статистики, прочувствовать очень сложно.
Именно так пытается ответить на критику своей статьи Нгунь, заявляя, что подгонка модели это нормальная практика. При этом он небезосновательно показывает пальцем на других нехороших мальчиков («If this approach is wrong, someone needs to tell Amazon, Netflix, Google, and just about everyone doing statistical modeling and machine learning»). Вот только наш герой забывает, что машинное обучение в коммерческих рекомендательных системах и в генетике — две большие разницы. В первом случае вы, возможно, покажете неподходящую рекламу не тому человеку, во втором — вы поверите в то, что действительно нашли «ген геев».