Читать «Максимальный репост. Как соцсети заставляют нас верить фейковым новостям» онлайн - страница 77

Борислав Козловский

Еще простые линейные модели не умеют видеть смысл в комбинациях признаков. Если на «Титанике» выжили все мужчины из второго класса, которые сели на лайнер в Саутгемптоне (потому что, скажем, всех их разместили в удачных каютах рядом со спасательной шлюпкой), то модель выдаст только скромную порцию баллов за Саутгемптон и за второй класс, а более тонких закономерностей не увидит – и ошибется в прогнозе.

Консилиум врачей: решающие деревья

Ситуация: врач скорой зашел в дом и, чтобы решить, надо ли везти пациента в больницу, начинает с вопроса «на что жалуемся?». С точки зрения математики это по-прежнему все та же задача про «Титаник»: есть люди, у них много характеристик (медики называют их словом «симптомы»), и в конце нужно ответить «да» или «нет».

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

Такие ветвящиеся деревья в мире алгоритмов – проверенный способ искать и находить то, что вам нужно, в огромных множествах. В 2007 году появилась интернет-игра «Акинатор», где ее главный персонаж – одноименный джин – предлагал угадать какого угодно персонажа (реального человека, героя мультфильма, историческую личность) за 15–20 вопросов, на которые можно ответить «да», «нет» или «не знаю». «Ваш персонаж существовал в реальности?» «Ваш персонаж женского пола?» «Ваш персонаж старше сорока лет?» «Ваш персонаж умер?» «У вашего персонажа больше одной головы?»

Каждый правильно заданный вопрос сужает поле вариантов – миллионы имен, упомянутых в кино и книгах, – примерно вдвое, следующий – еще вдвое, пока в итоге, на конце одной из ветвей дерева поиска, не остается один наиболее реальный кандидат. На десятом или двадцатом ходу (как повезет) Акинатор выдает ответ: царь обезьян Хануман, Емельян Пугачев, Человек-Паук. Хотя иногда и промахивается – вместо контрреволюционера и живого монгольского бога барона Унгерна предлагает революционера Григория Котовского.

Дерево решений в голове у врача точно так же позволяет проделать путь от общей ситуации к конкретной гипотезе. Подозрение на инфаркт: надо срочно вызывать скорую. Подозрение на ОРЗ: пусть пациент сидит дома и пьет чай под одеялом.

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

Простой выход из положения: созвать консилиум из многих врачей, пусть даже мегаэрудированного доктора Хауса среди них и нет. Каждый врач знает все про три-четыре случайных симптома и делает все выводы только на их основе. Потом врачи голосуют, и консилиум записывает мнение большинства. Если, скажем, шесть из десяти говорят «везти в больницу» – больного везут в больницу. В машинном обучении это называют «ансамбль случайных деревьев».