Что такое частичное декомпозиция информации и как взаимодействуют характеристики

Частичная декомпозиция информации понятие и взаимодействие характеристик

Как информация о целевой переменной распределена среди ее множественных признаков

Фото от Alina Grubnyak через Unsplash.

Когда целевая переменная подвержена влиянию нескольких источников информации, крайне важно (но не тривиально) понять, как каждый источник вносит свой вклад в общую предоставленную информацию.

В этой статье я начну с основного понятия удивления, затем объясню, что энтропия состоит из среднего количества удивления, распределенного по случайной величине, и это дает нам условия для определения взаимной информации. После этого я расскажу о частичной декомпозиции информации для случаев, когда у нас есть несколько источников информации.

Удивление и энтропия

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

Мы видим по графику на Рисунке 1, что это определение довольно связано с обсуждаемыми свойствами. Когда событие имеет высокий шанс произойти (p ближе к 1), то удивление близко к нулю. С другой стороны, если событие имеет очень низкую вероятность, его удивление становится произвольно большим.

Рисунок 1: График удивления. Изображение автора.

Теперь, что связано с удивлением? Ну, энтропия – это среднее удивление по всем значениям случайной величины. Поэтому, если у нас есть некоторая случайная величина X, и множество всех возможных исходов X называется A_X (мы называем его “алфавитом X”), то энтропия H определяется следующим образом:

Отлично. Теперь, связав энтропию с удивлением, мы можем понять одну полезную интерпретацию энтропии:

Энтропия – это мера незнания.

Как так получается? Я объясню это с глупым примером. Представьте, что вам предстоит сдать финальный экзамен по физике. В рамках языка, который мы разработали до сих пор, мы можем рассматривать этот тест как случайную величину с некоторым алфавитом возможных вопросов. Предположим теперь два сценария:

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

Таким образом, когда ваше среднее удивление больше, это совпадает с ситуацией, когда у вас не так много информации.

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

Энтропия и (Взаимная) Информация

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

Поскольку энтропия является мерой незнания системы, ее отсутствие представляет… информацию. В этом смысле довольно естественно создать меру, называемую взаимной информацией: она измеряет информацию, которую вы получаете, когда знаете некоторую информацию о системе:

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

Вернемся к нашему глупому примеру: предположим, вы не знаете, какие вопросы будут заданы в вашем тесте, и это X. Теперь предположим, что ваш друг сделал тест от того же учителя, по тому же предмету, за неделю до вашего теста. Он рассказывает вам все, что включал его тест (который оказывается другой случайной величиной Y). Самое правдоподобное сказать, что ваше незнание относительно вашего теста уменьшилось, что означает, что ваш тест X и тест вашего друга Y разделяют информацию.

На рисунке 2 показана ясная, понятная диаграмма Венна, показывающая связь между энтропиями и информацией, которую разделяют пара переменных X и Y.

Рисунок 2: Схема взаимной информации. Изображение автора, вдохновленное многими другими.

А что, если у нас есть несколько источников информации?

До сих пор мы только говорили о случаях, когда у нас есть одна характеристика X и одна целевая переменная Y, но очевидно, что это не обобщается хорошо. Представьте теперь, что у нас есть случайная величина Y (скажем, целевая переменная модели классификации), и мы хотим узнать количество информации, предоставляемое каждой из n характеристик модели X_1, X_2, …, X_n. Можно сказать, что достаточно вычислить взаимную информацию, которую разделяют X_1 и Y, затем X_2 и Y, и так далее. Однако, в реальном мире наши характеристики могут взаимодействовать между собой и создавать нетривиальные связи, поэтому, если мы хотим иметь последовательную систему, мы должны учитывать эти взаимодействия.

Возьмем случай, когда у нас есть два входных сигнала X_1 и X_2, и мы хотим количественно оценить взаимную информацию между этими двумя характеристиками и целевой характеристикой Y. То есть, мы хотим вычислить I(Y; {X_1, X_2}). Фреймворк Частичного разложения информации утверждает, что эта информация может быть разделена на четыре неотрицательных компонента:

  1. Syn(Y; {X_1, X_2}): Синергия двух характеристик. Это количество информации о Y, предоставленное только двумя характеристиками вместе.
  2. Rdn(Y; {X_1, X_2}): Редундантность двух характеристик. Это количество информации о Y, которую можно объяснить либо X_1, либо X_2 отдельно.
  3. Unq(Y; X_1) и Unq(Y; X_2): Уникальная информация, которая измеряет информацию о Y, которую может объяснить только X_1 для Unq(Y; X_1), или только X_2 для Unq(Y; X_2).

Обратите внимание, что только Unq(Y; X_1) и Unq(Y; X_2) соответствуют ситуации без взаимодействия между характеристиками. Таким образом, взаимная информация I(Y; {X_1, X_2}) может быть разложена на четыре компонента:

I(Y; {X_1, X_2}) = Syn(Y; {X_1, X_2}) + Rdn(Y; {X_1, X_2}) + Unq(Y; X_1) + Unq(Y; X_2)

Как и прежде, мы можем нарисовать понятную диаграмму Венна, которая подводит итог зависимости этих величин.

Рисунок 3: Диаграмма Венна частичного разложения информации. Изображение автора, вдохновленное [1].

Каждый из этих терминов называется атомом информации. Любая неатомарная информация может быть разложена на атомарные части, которые не могут быть разложены дальше.

Именно Уильямс и Бир [1] впервые предложили эту концепцию (и разработали способ вычисления частичной информации). Оказывается, вычисление этих величин не является тривиальной задачей и заслуживает отдельной статьи. Существует несколько показателей частичного разложения информации, и все они следуют одному процессу: они предполагают меру, которая удовлетворяет ряду полезных характеристик и соответствует нашим ожиданиям относительно величины, называемой “информацией”. Все эти измерения имеют свои сильные и слабые стороны, и они отлично реализуются в библиотеке dit, которая будет кратко представлена и использована для приведения примеров в следующем разделе.

Примеры разложения частичной информации и библиотека dit

Чтобы объединить эти концепции, рассмотрим несколько примеров. Библиотека dit является отличным инструментом для проведения экспериментов в области теории информации. Она представляет собой библиотеку, состоящую в создании настраиваемых распределений вероятностей, а затем проведении измерений над ними. В этой библиотеке доступно несколько функций, и информацию о них можно найти на Github или на официальной странице документации.

Во всех представленных примерах мы можем представить две функции X_1 и X_2, обе из которых бинарные, и целевая переменная Y является некоторой булевой операцией с этими функциями. Все формы измерения частичной информации предложены Уильямсом и Биром [1], но другие формы, предложенные другими авторами, также реализованы в dit.

Уникальная информация

Для этого примера предположим, что целевая переменная Y представляет собой порт операции AND. Обратите внимание, согласно рис. 4, что выходной сигнал всегда равен значению функции X_1, что делает функцию X_2 полностью нерелевантной.

Рис. 4: Диаграмма порта AND и уникального источника информации.

По этой причине информация, которую X_1 и X_2 предоставляют о переменной Y, полностью сосредоточена в X_1. В формализм, который мы разработали до сих пор, можно сказать, что информация о Y уникальна для X_1.

В библиотеке dit мы можем создать это следующим образом:

import dit                    # импортируем библиотеку ditfrom dit.pid import PID_WB    # импортируем измерение PID, которое хотим использовать# создаем распределение вероятностей для порта ANDdist_unique = dit.Distribution(["000", "010", "101", "111"], [1/4, 1/4, 1/4, 1/4])print(PID_WB(dist_unique))"""Out:+--------+--------+--------+| I_min  |  I_r   |   pi   |+--------+--------+--------+| {0:1}  | 1.0000 | 0.0000 ||  {0}   | 1.0000 | 1.0000 ||  {1}   | 0.0000 | 0.0000 || {0}{1} | 0.0000 | 0.0000 |+--------+--------+--------+"""

Библиотека dit кодирует тип информации следующим образом:

  • {0:1}: синергетическая информация между X_1 и X_2
  • {0}: уникальная информация, предоставляемая X_1
  • {1}: уникальная информация, предоставляемая X_2
  • {0}{1}: избыточная информация, предоставляемая X_1 и X_2

Можно видеть по выводу, что единственная частичная информация (столбец “pi”) предоставляется X_1.

Избыточная информация

Следующий пример служит для демонстрации избыточной информации. В этом случае и X_1, и X_2, и Y равны, как показано на рис. 5, поэтому избыточная информация о переменной Y, предоставляемая X_1 и X_2, максимальна.

Рисунок 5: Полностью избыточная информация

Используя dit, код выглядит следующим образом:

import dit                    # импорт библиотеки ditfrom dit.pid import PID_WB    # импорт использованной меры PID# создаем вероятностное распределениеdist_redundant = dit.Distribution(["000", "111"], [1/2, 1/2])print(PID_WB(d_redundant))"""Out: +--------+--------+--------+| I_min  |  I_r   |   pi   |+--------+--------+--------+| {0:1}  | 1.0000 | 0.0000 ||  {0}   | 1.0000 | 0.0000 ||  {1}   | 1.0000 | 0.0000 || {0}{1} | 1.0000 | 1.0000 |+--------+--------+--------+"""

Как видно, единственная информация об Y, предоставляемая X_1 и X_2, является избыточной, другими словами, предоставляемой обоими.

Синергетическая информация

Классическим примером синергетической информации является логический элемент XOR. Диаграмма для XOR-элемента показана на рисунке 6.

Рисунок 6: XOR-элемент с полностью синергетической информацией

Обратите внимание на это распределение – мы можем знать целевую переменную Y только после того, как знаем и X_1, и X_2. Невозможно знать Y без X_1 и X_2, просто потому, что для каждого значения X_1 у нас есть два значения Y, и то же самое справедливо для X_2. Код в dit выглядит следующим образом:

import dit                    # импорт библиотеки ditfrom dit.pid import PID_WB    # импорт использованной меры PID# создаем вероятностное распределение для XOR-элементадist_syn = dit.Distribution(["000", "011", "101", "110"], [1/4]*4)print(dist_syn)"""Out:+--------+--------+--------+| I_min  |  I_r   |   pi   |+--------+--------+--------+| {0:1}  | 1.0000 | 1.0000 ||  {0}   | 0.0000 | 0.0000 ||  {1}   | 0.0000 | 0.0000 || {0}{1} | 0.0000 | 0.0000 |+--------+--------+--------+"""

Как и ожидалось, единственная информация о Y, которую передают X_1 и X_2, – это {0:1}, которая является синергетической информацией.

Комментарии и выводы

Наконец, мы видим, что взаимодействие между переменными может представлять сложную задачу, если у нас есть только взаимная информация. Необходимо существование инструмента для измерения информации, поступающей из нескольких источников (и, возможно, взаимодействия между этими источниками информации). Это идеальное поле для фреймворка Частичного Разложения Информации (PID).

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

Ссылки

[1] P. L. Williams и R. D. Beer, Nonnegative decomposition of multivariate information, arXiv preprint arXiv:1004.2515, 2010

[2] Shujian Yu, и др., Understanding Convolutional Neural Networks with Information Theory: An Initial Exploration, arXiv preprint arXiv:1804.06537v5, 2020

[3] A. J. Гуткнехт, М. Вибрал и А. Маккех, Мелочи и частички: понимание разложения информации отношениями целое-часть и формальной логикой, arXiv предварительная публикация arXiv:2008.09535v2, 2022

[4] Джеймс, Р. Г., Эллисон, К. Дж. и Кратчфилд, Дж. П., dit: Пакет на Python для дискретной информационной теории, Журнал открытого программного обеспечения, 2018