Текст книги "Думай «почему?». Причина и следствие как ключ к мышлению"
Автор книги: Джудиа Перл
Жанр: Зарубежная образовательная литература, Наука и Образование
Возрастные ограничения: +12
сообщить о неприемлемом содержимом
Текущая страница: 10 (всего у книги 30 страниц) [доступный отрывок для чтения: 10 страниц]
Байесовские сети в реальной жизни
Сейчас байесовские сети – зрелая технология и готовое программное обеспечение для них можно купить у нескольких компаний. Байесовские сети также встроены во многие «умные» устройства. Чтобы дать вам представление о том, как они используются на практике, давайте вернемся к программе Bonaparte для сравнения ДНК, с которой мы начали эту главу.
В Нидерландском институте судебной экспертизы эту программу используют каждый день, в основном расследуя дела о пропавших без вести, уголовные преступления и иммиграционные вопросы (желающие переехать в Нидерланды в статусе беженца должны доказать, что у них есть 15 родственников, живущих в стране). Однако байесовские сети продемонстрировали самый впечатляющий результат после катастрофы, такой как крушение рейса MH17 «Малайзия эйрлайнс».
Почти никого из жертв авиакатастрофы не удалось идентифицировать, сравнив ДНК с места катастрофы с ДНК из центральной базы данных. Следующим логичным шагом было взять у родственников образцы ДНК и искать частичные совпадения с ДНК жертв. Традиционные (небайесовские) методы позволяют это сделать, и они сыграли важнейшую роль в раскрытии нескольких давних преступлений в Нидерландах, США и других странах. Например, простая формула под названием «индекс отцовства» или «индекс сиблинга» помогает оценить вероятность того, что не идентифицированная ДНК принадлежит сыну или брату человека, чья ДНК есть у экспертов.
Однако эти индексы дают ограниченный результат, потому что они работают только для одного типа родства и только для близких родственников. Идея Bonaparte состоит в том, чтобы можно было использовать данные о ДНК более дальних родственников или от нескольких родственников сразу. Bonaparte делает это, преобразовывая родословную семьи в байесовскую сеть (рис. 18).
На рис. 19 мы видим, как Bonaparte переводит один небольшой кусочек родословной в (причинную) байесовскую сеть. Главная проблема состоит в том, что генотип индивида, который определяет генетическая экспертиза, содержит элементы, полученные и от отца, и от матери, но мы не можем определить их происхождение. Таким образом, два этих элемента (которые называются «аллели») необходимо рассматривать как скрытые, неизмеримые переменные в байесовской сети. Часть задачи состоит в том, чтобы вывести вероятность причины (ген голубых глаз был унаследован от отца) из имеющейся информации (например, есть гены голубых глаз и черных глаз; у кузенов со стороны отца голубые глаза, но у кузенов со стороны матери черные глаза).
Это задача на определение обратной вероятности, для чего и было изобретено правило Байеса.
Рис. 18. Фактическая родословная семьи с несколькими погибшими в авиакатастрофе рейса MH17 «Малайзия эйрлайнс» (источник: данные предоставлены Виллемом Бургерсом)
После того как байесовская сеть построена, финальный шаг – ввести ДНК жертвы и вычислить вероятность того, что она занимает определенное место в генеалогическом древе. Это делается путем распространения убеждений с помощью правила Байеса. Сеть начинается с определенной степени уверенности в каждом возможном утверждении об имеющихся в ней узлах, например: «отцовская аллель цвета глаз у этого человека – голубая». По мере того как в сеть вводится новая информация – неважно, в какое место, – степени уверенности в каждом узле, вверх и вниз по сети, будут меняться каскадно. Таким образом, как только мы обнаруживаем, что данный образец является вероятным совпадением для одного человека в родословной, мы распространяем эту информацию вверх и вниз по сети. В итоге Bonaparte учится не только на ДНК живых членов семьи, но и на уже полученных им результатах.
Рис. 19. От генетической экспертизы до байесовских сетей. В байесовской сети незакрашенные узлы представляют аллели, закрашенные – генотипы. Данные доступны только для закрашенных узлов, потому что генотипы не показывают, какая аллель была унаследована от отца, какая от матери. Байесовская сеть позволяет сделать выводы о ненаблюдаемых узлах, а также оценить вероятность того, что данный образец ДНК был получен от ребенка (источник: инфографика Маяна Харела)
Этот случай живо иллюстрирует преимущества байесовских сетей. Как только сеть настроена, следователю не нужно вмешиваться, чтобы сообщить ей, как оценить новые данные. Обновление происходит очень быстро (байесовские сети особенно хороши для программирования на распределенных вычислительных системах). Сеть интегративна, т. е. вся она реагирует на новую информацию. Вот почему даже ДНК тети или троюродного брата может помочь в идентификации жертвы. Байесовские сети – почти живая органическая ткань, и неслучайно именно эту картину я держал в уме, пока пытался добиться, чтобы они заработали. Я хотел, чтобы байесовские сети работали как нейроны в человеческом мозге: когда касаешься одного нейрона, реагирует вся сеть, распространяя информацию на все остальные клетки в системе.
Прозрачность байесовских сетей отделяет их от большинства других подходов к машинному обучению, которые часто производят непроницаемые «черные ящики». В байесовской сети вы можете проследить каждый шаг и понять, почему те или иные данные изменили уверенность сети.
Какой бы изящной ни была программа Bonaparte, она ничего не стоит без одной способности, которой не располагает (пока), – человеческой интуиции. Программа проводит анализ и сообщает специалистам, кому мог принадлежать каждый образец ДНК, составив рейтинг самых вероятных вариантов, а также сообщает о коэффициенте вероятности. После этого эксперты объединяют информацию о ДНК с данными о вещественных доказательствах, найденных на месте крушения, и делают окончательные выводы, не без помощи интуиции. Пока компьютер не может провести идентификацию самостоятельно. Одна из целей причинного вывода – создать более удобный интерфейс для взаимодействия человека и машины, который позволит включить интуицию следователя в процесс распространения убеждений.
Пример с генетической экспертизой дает самое поверхностное представление о том, как байесовские сети можно применять в геномике. Однако я хотел бы перейти к следующей области их применения, которая стала повсеместной в современном обществе. Более того, есть хорошие шансы, что у вас есть байесовская сеть в кармане прямо сейчас. Она называется «сотовый телефон». В каждом таком устройстве используются алгоритмы исправления ошибок, основанные на распространении степени уверенности.
Начнем с самого начала: когда вы говорите по телефону, он преобразует ваш прекрасный голос в последовательность нулей и единиц (которые называются биты) и трансформирует их, используя радиосигнал. К сожалению, ни один из них не принимается со 100 %-ной точностью. Пока он идет от башни сотовой связи и до телефона вашего друга, отдельные биты сменятся с нуля на единицу или наоборот.
Для исправления этих ошибок можно добавить избыточную информацию. Простейшая схема состоит в том, чтобы повторить каждый бит информации три раза: закодировать единицу как 111 и ноль как 000. Допустимые строки 111 и 000 называются кодовыми словами. Если приемник получит недопустимую строку, например 101, он будет искать наиболее вероятное допустимое кодовое слово, чтобы объяснить ее. Здесь, скорее всего, ошибка – ноль, а не две единицы, поэтому декодер интерпретирует это сообщение как 111 и, таким образом, заключит что бит был единицей.
К сожалению, это крайне неэффективное кодирование, потому что все наши сообщения становятся в три раза длиннее. Однако специалисты по телекоммуникациям 70 лет работают над кодами исправления ошибок, постоянно их улучшая.
Проблема декодирования аналогична другим проблемам с обратной вероятностью, которые мы обсудили, потому что мы снова хотим вывести вероятность гипотезы (послали сообщение Hello World!) из имеющихся данных (получили сообщение HXllo Wovld!). Кажется, пришло время применить распространение убеждений.
В 1993 году инженер «Франс телеком» по имени Клод Берру поразил мир программирования кодом для исправления ошибок, который позволял добиться почти идеальных результатов (другими словами, требуемый объем лишней информации был близок к теоретическому минимуму). Его идею под названием «турбокод» можно проиллюстрировать, представив ее с помощью байесовской сети.
На рис. 20a показано, как работает обычный код. Биты информации, которые поступают в телефон, когда вы говорите, показаны в первом ряду. Они кодируются любым способом – назовем его код A – в кодовые слова (второй ряд), которые потом принимаются с некоторыми ошибками. Это диаграмма – байесовская сеть, и мы можем использовать распространение убеждений, чтобы вывести из полученных битов, каковы были биты информации. Однако это никак не улучшит код А.
Рис. 20. Представление обычного процесса кодирования и турбокода в виде байесовской сети: а – информационные биты преобразуются в кодовые слова; они передаются и принимаются в пункте назначения с шумом (ошибками); б – информационные биты скремблируются и кодируются дважды. Декодирование происходит путем распространения убеждений в этой сети. Каждый процессор внизу использует информацию от другого процессора, чтобы улучшить предположение о скрытом кодовом слове в итеративном процессе
Блестящая идея Берру состояла в том, чтобы закодировать каждое сообщение дважды: один раз непосредственно и один раз уже после того, как сообщение скремблировано (преобразовано в случайную последовательность). Это приводит к созданию двух отдельных кодовых слов и получению двух шумных сообщений (рис. 20б). Нам неизвестна формула, которая позволяет напрямую декодировать такое двойное сообщение. Но Берру на опыте показал, что, если неоднократно примерить формулы распространения убеждений к байесовским сетям, происходят две потрясающие вещи. В большинстве случаев (и здесь я имею в виду около 99,999 % случаев) вы получаете верные информационные биты. Более того, можно использовать гораздо более короткие кодовые слова. Проще говоря, две копии кода А гораздо лучше одной.
Эта небольшая история верна, за исключением одного: Берру не знал, что работает с байесовскими сетями! Он просто сам открыл алгоритм распространения убеждений. И только пять лет спустя Дэвид Маккей из Кембриджа понял, что это тот же алгоритм, с которым он развлекался в конце 1980-х, рассматривая байесовские сети. Это поместило алгоритм Берру в знакомый теоретический контекст и позволило информатикам-теоретикам лучше понять его работу.
Вообще-то, другой инженер, Роберт Галлагер из Массачусетского технологического института, открыл код, в котором использовалось распространение убеждений (хотя его тогда не называли этим термином), еще в 1960 году, так давно, что Маккей описывает его код как «почти ясновидение». В любом случае он слишком опережал свое время. Галлагеру требовались тысячи процессоров на чипе, которые передавали туда и обратно сообщения о степени уверенности в том, что конкретный информационный бит равен единице или нулю. В 1960 году это было невозможно, и его код был практически забыт, пока Маккей не открыл его заново в 1998 году. Сегодня он есть в каждом сотовом телефоне.
Как бы то ни было, турбокоды имели ошеломляющий успех. До турбореволюции сотовые сети 2G использовали «мягкое декодирование» (т. е. вероятности), а не распространение убеждений. В сетях 3G применили турбокоды Берроу, а в 4G – турбокоды Галлагера. С точки зрения потребителя это означает, что ваш телефон потребляет меньше энергии, а аккумулятор работает дольше, потому что кодирование и декодирование – самые энергоемкие процессы. Кроме того, более совершенные коды означают, что не нужно находиться как можно ближе к вышке сотовой связи, чтобы получить высококачественную передачу. Другими словами, байесовские сети позволили производителям телефонов выполнить обещание: больше полосок в больше мест.
От байесовских сетей к диаграммам причинности
Возможно, после главы, посвященной байесовским сетям, у вас возник вопрос: как они относятся к остальному в этой книге, в частности к диаграммам причинности вроде тех, что приведены в главе 1? Конечно, я обсудил их так подробно отчасти потому, что они привели к причинности лично меня. Но, что еще важнее как с теоретической, так и с практической точки зрения, байесовские сети – ключ, который позволяет диаграммам причинности взаимодействовать с данными. Все вероятностные свойства байесовских сетей (включая связки, которые мы обсуждали выше в этой главе) и разработанные для них алгоритмы распространения убеждений подходят и для диаграмм причинности. Более того, они необходимы для понимания причинного вывода.
Основные различия между байесовскими сетями и диаграммами причинности заключаются в том, как они построены и в каких целях используются. Байесовская сеть – это всего лишь компактное представление огромной таблицы вероятностей. Стрелки означают, что вероятности дочерних узлов связаны со значениями родительских узлов определенной формулой (таблицы условных вероятностей) и что этого отношения достаточно, т. е. знание дополнительных родителей не изменит формулу. Точно так же отсутствие стрелки между любыми двумя узлами означает, что они независимы, если нам известны значения их родителей. Мы видели простую версию этого утверждения выше, когда обсуждали эффект экранирования в цепях и звеньях. В цепочке A → B → C отсутствующая стрелка между A и C означает, что A и C независимы, если мы знаем значения их родителей. Поскольку у A нет родителей, а единственный родитель C – это B, отсюда следует, что A и C независимы, если мы знаем значение B, что согласуется со сказанным выше.
Однако если бы та же диаграмма была сделана как диаграмма причинности, то и замысел, который лежал бы в ее основе, и пути интерпретации изменились бы. На этапе создания нужно рассмотреть каждую переменную, скажем С, и спросить себя, какие другие переменные она «слушает», прежде чем выбрать значение. Цепочка A → B → C означает, что B слушает только A, C слушает только B и A не слушает; т. е. она определяется внешними силами, которые не входят в нашу модель.
Эта метафора слушания обобщает все знания, которые передает причинная сеть; остальные можно вывести, иногда для этого понадобятся данные. Обратите внимание, что, если мы изменим порядок стрелок в цепочке, таким образом получив A ← B ← C, причинное прочтение структуры резко изменится, но условия независимости останутся прежними. Отсутствие стрелки между A и C по-прежнему будет означать, что A и C независимы, если нам известно значение B, как в исходной цепочке. Из этого вытекают два чрезвычайно важных следствия. Во-первых, причинные допущения не изобретаются по нашей прихоти; они подвергаются тщательной проверке данными и могут быть сфальсифицированы. Например, если наблюдаемые данные не показывают, что A и C являются независимыми при наличии B, то мы вправе с уверенностью сделать вывод, что модель цепочки несовместима с данными и ее необходимо отбросить (или исправить). Во-вторых, графические свойства диаграммы определяют, какие модели причинно-следственных связей различают по данным, а какие навсегда останутся неразличимыми, независимо от объема данных. Так, мы не в состоянии отличить вилку A ← B → C от цепочки A ← B ← C только по данным, потому что две диаграммы подразумевают одинаковые условия независимости.
Еще один удобный способ осмыслить каузальные модели – представить их в виде гипотетических экспериментов. Каждую стрелку можно считать утверждением об итоге гипотетического эксперимента. Стрелка от А к С означает, что если мы в силах повлиять только на А, то будем ожидать, что вероятность С изменится. Отсутствующая стрелка от А к С означает, что в том же эксперименте мы не увидим изменений в С, если сохраним родителей С неизменными (другими словами, В в примере выше). Обратите внимание на то, что в первом случае мы рассуждали в терминах вероятности («если нам известно значение В»), а теперь в терминах причинно-следственных связей («если мы сохраним В неизменным»), а это подразумевает, что мы физически оградим В от изменений и отключим стрелку от А к В.
Причинные рассуждения, необходимые для создания каузальной сети, конечно же, дадут результат, расширив группу вопросов, на которые она может ответить. В то время как байесовская сеть способна всего лишь рассказать, насколько вероятно одно событие, если мы наблюдаем другое (информация первого уровня), диаграммы причинности в состоянии ответить на вопросы об интервенции и контрфактивные вопросы. Например, вилка A ← B → C однозначно сообщает нам, что, если «пошевелить» А, это не окажет никакого эффекта на С, каким бы интенсивным ни было шевеление. Однако байесовская сеть не рассчитана на учет шевелений и не позволяет увидеть разницу между наблюдением и действием или в самом деле отличить вилку от цепочки. Другими словами, и вилка, и цепочка показали бы, что наблюдаемые изменения в А ассоциируются с изменениями в С, не давая предсказаний об эффекте воздействия на А.
Теперь мы переходим ко второму, возможно, более важному эффекту байесовских сетей на причинный вывод. Открытые нами отношения между графической структурой диаграммы и данными, которые она представляет, теперь помогают нам моделировать шевеления, не делая этого физически. В частности, последовательно используя обусловливание, мы предскажем эффект действий или интервенций, не проводя собственно эксперимент. Чтобы это продемонстрировать, снова рассмотрим причинную вилку A ← B → C, для которой мы сочли корреляцию A и C ложной. Это реально подтвердить экспериментом, в котором мы шевелим A и не находим корреляции A и C. Но можно все сделать лучше. Для этого нужно попросить диаграмму эмулировать эксперимент и сказать нам, способно ли ограничение по определенному параметру воспроизвести корреляцию, которая будет преобладать в эксперименте. Ответ последует положительный: «Корреляция между А и С, измеренная после ограничения по В, окажется равной корреляции, которую мы увидим в эксперименте». Эту корреляцию можно оценить, использовав данные, и в приведенном случае она будет нулевой, что адекватно подтверждает наш интуитивный вывод: пошевелив А, мы не окажем никакого воздействия на C.
Эта способность эмулировать интервенции с помощью умных наблюдений не была бы достигнута, если бы не статистические свойства байесовских сетей, которые были обнаружены между 1980 и 1988 годами. Теперь мы решаем, какой набор переменных необходимо измерить, дабы предсказать эффект интервенций на базе наблюдений. Также мы в состоянии ответить на вопрос «Почему?». Например, кто-то спросит: почему воздействие на А заставляет С меняться? Действительно ли это прямой эффект А или это эффект медиации от переменной В? Если это и то и другое, можем ли мы оценить, какая доля этого эффекта обусловлена В?
Чтобы ответить на такие вопросы о медиации, надо предвидеть две одновременные интервенции: когда мы изменяем А и сохраняем В постоянным (чтобы отличить от обусловливания по В). Если нам удастся осуществить эту интервенцию физически, то мы получим ответ на наш вопрос. Но, будучи зависимыми от наблюдательных исследований, мы должны имитировать два эти действия с помощью ряда осознанных наблюдений. И вновь графическая структура диаграммы подскажет нам, возможно ли это.
Все это еще не было открыто в 1988 году, когда я начал размышлять, как объединить причинность с диаграммами. Я знал только, что байесовские сети в существовавшей тогда форме не могли ответить на вопросы, которые я задавал. Осознание того, что на основании одних лишь данных нельзя даже отличить A ← B → C от A → B → C, было источником боли и фрустрации.
Я знаю, что вам, читатель, уже не терпится узнать, как диаграммы причинности позволяют нам делать вычисления вроде тех, которые я только что описал. И мы туда доберемся – в главах с седьмой по девятую. Но пока мы не готовы, потому, начиная говорить о наблюдательных и экспериментальных исследованиях, мы тут же покидаем мирные воды – сферу искусственного интеллекта – и сразу погружаемся в бурные воды статистики, которые вспенились после несчастливого расставания с причинностью. В ретроспективе оказалось, что борьба за принятие байесовских сетей в сфере ИИ была приятной прогулкой – да нет, роскошным круизом! – по сравнению с боем за диаграммы причинности, который мне пришлось вынести потом. И эта битва идет до сих пор – еще остались островки сопротивления.
Чтобы ориентироваться в этих новых водах, нужно будет понять способы, которыми традиционные статистики научились справляться с причинно-следственные связями, и ограничения этих способов. Поднятые выше вопросы о результатах интервенции, включая прямые и косвенные эффекты, не рассматриваются в традиционной статистике прежде всего потому, что отцы-основатели этой науки очистили ее от языка причин и следствий. Но статистики тем не менее считают допустимым говорить о причинах и следствиях в ситуации рандомизированного контролируемого исследования, в котором препарат A случайным образом назначается одним людям, а не другим, а затем сравниваются наблюдаемые изменения в B. Здесь и традиционная статистика, и наука о причинном выводе воспринимают предложение «А вызывает В» в одном и том же смысле.
Прежде чем мы обратимся к новой науке причин и следствий, проиллюстрированной каузальными моделями, сначала надо попытаться понять сильные стороны и ограничения старой, слепой к моделям науке. Чтобы прийти к выводу «А является причиной В», необходима рандомизация, и РКИ важны для нейтрализации «осложнителей» – вмешивающихся факторов (причины этого и природу обозначенной угрозы мы рассмотрим в следующей главе). По моему опыту, для большинста статистиков, а также для современных специалистов по анализу данных это не самые удобные вопросы, потому что их нельзя сформулировать, используя ориентированный на данные словарь. Более того, они часто не соглашаются по поводу того, что такое осложнение.
Исследовав эти вопросы в свете диаграмм причинности, мы можем поместить РКИ в соответствующий контекст. Целесообразно или рассматривать их как особый случай причинного вывода, или считать причинный вывод сильным расширением РКИ. Любой подход из этих двух имеет право на существование, и не исключено, что люди, которых приучили видеть в РКИ способ определить причинность, найдут второй более подходящим.
Внимание! Это не конец книги.
Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?