В теории вероятностей и статистике категориальное распределение (также называемое обобщенным распределением Бернулли , распределением Мультинулли [1] ) — это дискретное распределение вероятностей , которое описывает возможные результаты случайной величины, которая может принимать одну из K возможных категорий, с вероятностью каждой категории указывается отдельно. Не существует изначального порядка этих результатов, но для удобства описания распределения часто прикрепляются числовые метки (например, от 1 до K ). K - мерное категориальное распределение является наиболее общим распределением K -мерного события; любое другое дискретное распределение в выборочном пространстве размера K является особым случаем. Параметры, определяющие вероятности каждого возможного результата, ограничены только тем фактом, что каждый из них должен находиться в диапазоне от 0 до 1, а сумма всех результатов должна быть равна 1.
Категориальное распределение является обобщением распределения Бернулли для категориальной случайной величины, т.е. для дискретной переменной с более чем двумя возможными результатами, например, броском игральной кости . С другой стороны, категориальное распределение является частным случаем полиномиального распределения , поскольку оно дает вероятности потенциальных результатов одного рисунка, а не нескольких рисунков.
Иногда категориальное распределение называют «дискретным распределением». Однако это, собственно, относится не к одному конкретному семейству распределений, а к общему классу распределений .
В некоторых областях, таких как машинное обучение и обработка естественного языка , категориальное и полиномиальное распределения объединяются, и принято говорить о «мультиномиальном распределении», тогда как «категорическое распределение» было бы более точным. [2] Такое неточное использование связано с тем, что иногда удобно выразить результат категориального распределения как вектор «1 из K » (вектор, в котором один элемент содержит 1, а все остальные элементы содержат 0). а не как целое число в диапазоне от 1 до K ; в этой форме категориальное распределение эквивалентно полиномиальному распределению для одного наблюдения (см. ниже).
Однако объединение категориального и полиномиального распределений может привести к проблемам. Например, в мультиномиальном распределении Дирихле , которое обычно возникает в моделях обработки естественного языка (хотя обычно не имеет такого названия) в результате свернутой выборки Гиббса, когда распределения Дирихле схлопываются из иерархической байесовской модели , очень важно отличать категориальное от многочленного. Совместное распределение одних и тех же переменных с одним и тем же мультиномиальным распределением Дирихле имеет две разные формы в зависимости от того, характеризуется ли оно как распределение, областью действия которого являются отдельные категориальные узлы или полиномиальное количество узлов в каждой конкретной категории (аналогично различие между набором узлов с распределением Бернулли и одним узлом с биномиальным распределением ). Обе формы имеют очень похожие функции вероятностной массы (PMF), которые обе относятся к подсчету узлов в категории в полиномиальном стиле. Однако PMF полиномиального стиля имеет дополнительный коэффициент, полиномиальный коэффициент , который является константой, равной 1 в PMF категориального стиля. Путаница этих двух факторов может легко привести к неправильным результатам в условиях, когда этот дополнительный фактор не является постоянным по отношению к интересующим распределениям. Коэффициент часто является постоянным в полных условных выражениях, используемых в выборке Гиббса, и в оптимальных распределениях в вариационных методах .
Категориальное распределение — это дискретное распределение вероятностей , выборочное пространство которого представляет собой набор из k индивидуально идентифицированных элементов. Это обобщение распределения Бернулли для категориальной случайной величины.
В одной из формулировок распределения выборочное пространство рассматривается как конечная последовательность целых чисел. Точные целые числа, используемые в качестве меток, не имеют значения; они могут быть {0, 1, ..., k - 1} или {1, 2, ..., k } или любым другим произвольным набором значений. В следующих описаниях мы используем {1, 2, ..., k } для удобства, хотя это противоречит соглашению о распределении Бернулли , которое использует {0, 1}. В этом случае функция массы вероятности f равна:
где представляет вероятность увидеть элементы i и .
Другая формулировка, которая кажется более сложной, но облегчает математические манипуляции, с использованием скобки Айверсона выглядит следующим образом : [3]
где оценивается как 1, если , и 0 в противном случае. Данная формулировка имеет различные преимущества, например:
Еще одна формулировка явно проясняет связь между категориальным и полиномиальным распределениями , рассматривая категориальное распределение как частный случай полиномиального распределения, в котором параметр полиномиального распределения n (количество элементов выборки) фиксирован на уровне 1. В этой формулировке , выборочное пространство можно рассматривать как набор случайных векторов x , закодированных [4] 1 из K , имеющих свойство, заключающееся в том, что ровно один элемент имеет значение 1, а остальные имеют значение 0. Конкретный элемент, имеющий значение 1 указывает, какая категория была выбрана. Функция массы вероятности f в этой формулировке равна:
где представляет вероятность увидеть элементы i и . Эту формулировку принял Бишоп . [4] [примечание 1]
В байесовской статистике распределение Дирихле является сопряженным априорным распределением категориального распределения (а также полиномиального распределения ). Это означает, что в модели, состоящей из точки данных, имеющей категориальное распределение с неизвестным вектором параметров p , и (в стандартном байесовском стиле) мы решили рассматривать этот параметр как случайную величину и дать ему априорное распределение , определенное с помощью распределения Дирихле , тогда апостериорное распределение параметра после включения знаний, полученных из наблюдаемых данных, также является Дирихле. Интуитивно понятно, что в таком случае, начиная с того, что известно о параметре до наблюдения точки данных, знания затем могут быть обновлены на основе точки данных, что дает новое распределение той же формы, что и старое. Таким образом, знания о параметре можно последовательно обновлять путем включения новых наблюдений по одному, не сталкиваясь с математическими трудностями.
Формально это можно выразить следующим образом. Учитывая модель
то имеет место следующее: [2]
Это соотношение используется в байесовской статистике для оценки основного параметра p категориального распределения по набору из N выборок. Интуитивно мы можем рассматривать гиперприорный вектор α как псевдосчетчики , то есть как представляющие количество наблюдений в каждой категории, которые мы уже видели. Затем мы просто добавляем значения всех новых наблюдений (вектор c ), чтобы получить апостериорное распределение.
Дальнейшая интуиция исходит из ожидаемого значения апостериорного распределения (см. статью о распределении Дирихле ):
Это говорит о том, что ожидаемая вероятность увидеть категорию i среди различных дискретных распределений, сгенерированных апостериорным распределением, просто равна доле вхождений этой категории, фактически наблюдаемых в данных, включая псевдосчета в априорном распределении. Это имеет большой интуитивный смысл: если, например, существуют три возможные категории и категория 1 наблюдается в наблюдаемых данных в 40% случаев, то можно было бы ожидать, что в среднем категорию 1 можно будет увидеть в 40% случаев. заднее распределение также.
(Эта интуиция игнорирует эффект априорного распределения. Более того, апостериорное распределение представляет собой распределение по распределениям . Апостериорное распределение в целом описывает рассматриваемый параметр, и в этом случае сам параметр представляет собой дискретное распределение вероятностей , т.е. фактическое категориальное распределение. Например, если в наблюдаемых данных присутствуют 3 категории в соотношении 40:5:55, то, игнорируя влияние предыдущего распределения, истинный параметр – то есть истинное, лежащее в основе распределение, которое сгенерировало наши наблюдаемые данные. - ожидается, что среднее значение будет (0,40,0,05,0,55), что действительно и показывает апостериорный график. Однако истинное распределение на самом деле может быть (0,35,0,07,0,58) или (0,42,0,04,0,54) или различные другие близлежащие возможности. Величина неопределенности здесь определяется дисперсией апостериорного показателя , которая контролируется общим количеством наблюдений – чем больше данных наблюдается, тем меньше неопределенности в отношении истинного параметра.)
(Технически априорный параметр на самом деле следует рассматривать как представляющий предыдущие наблюдения категории . Тогда обновленный апостериорный параметр представляет апостериорные наблюдения. Это отражает тот факт, что распределение Дирихле с имеет совершенно плоскую форму — по сути, равномерное распределение по симплексу возможных значений p . Логически, плоское распределение такого типа представляет собой полное невежество, соответствующее отсутствию каких-либо наблюдений. Однако математическое обновление апостериорной функции работает нормально, если мы игнорируем этот термин и просто думаем о векторе α как о непосредственном представляющий набор псевдосчетчиков. Кроме того, это позволяет избежать проблемы интерпретации значений меньше 1.)
Максимальная апостериорная оценка параметра p в приведенной выше модели представляет собой просто моду апостериорного распределения Дирихле , т.е. [2]
Во многих практических приложениях единственный способ гарантировать выполнение условия — установить его для всех i .
В приведенной выше модели предельное правдоподобие наблюдений (т.е. совместное распределение наблюдений с исключенным априорным параметром ) представляет собой мультиномиальное распределение Дирихле : [2]
Это распределение играет важную роль в иерархических байесовских моделях , поскольку при выполнении выводов по таким моделям с использованием таких методов, как выборка Гиббса или вариационный Байес , априорные распределения Дирихле часто игнорируются. Более подробную информацию можно найти в статье об этом дистрибутиве .
Апостериорное прогнозируемое распределение нового наблюдения в приведенной выше модели — это распределение, которое новое наблюдение приняло бы с учетом набора из N категориальных наблюдений. Как показано в статье о полиномиальном распределении Дирихле , оно имеет очень простую форму: [2]
Между этой формулой и предыдущими существуют различные соотношения:
Причина эквивалентности между апостериорной прогнозируемой вероятностью и ожидаемым значением апостериорного распределения p становится очевидной при повторном рассмотрении приведенной выше формулы. Как поясняется в статье о апостериорном прогнозирующем распределении , формула апостериорной прогнозируемой вероятности имеет форму ожидаемого значения, взятого относительно апостериорного распределения:
Важнейшая строка выше — третья. Второе следует непосредственно из определения ожидаемой стоимости. Третья строка характерна для категориального распределения и следует из того факта, что, в частности, в категориальном распределении ожидаемое значение наблюдения конкретного значения i напрямую задается связанным параметром p i . Четвертая строка — это просто переписывание третьей в другой записи с использованием записи, расположенной выше, для математического ожидания, принятого в отношении апостериорного распределения параметров.
Наблюдайте за точками данных одну за другой и каждый раз рассматривайте их прогнозирующую вероятность, прежде чем наблюдать за точкой данных и обновлять апостериорные данные. Для любой заданной точки данных вероятность того, что эта точка попадет в данную категорию, зависит от количества точек данных, уже входящих в эту категорию. В этом сценарии, если категория имеет высокую частоту появления, то новые точки данных с большей вероятностью присоединятся к этой категории, что еще больше обогащает ту же категорию. Этот тип сценария часто называют моделью преференциальной привязанности (или «богатые становятся богаче»). Это моделирует многие реальные процессы, и в таких случаях выбор, сделанный на основе первых нескольких точек данных, оказывает огромное влияние на остальные точки данных.
При выборке Гиббса обычно необходимо использовать условные распределения в сетях Байеса с несколькими переменными , где каждая переменная обусловлена всеми остальными. В сетях, которые включают категориальные переменные с априорами Дирихле (например, модели смеси и модели, включающие компоненты смеси), распределения Дирихле часто «схлопываются» ( маргинализируются ) из сети, что вводит зависимости между различными категориальными узлами, зависящими от заданного априора. (в частности, их совместное распределение представляет собой полиномиальное распределение Дирихле ). Одна из причин для этого заключается в том, что в таком случае распределение одного категориального узла с учетом других является в точности апостериорным прогнозируемым распределением остальных узлов.
То есть для набора узлов , если рассматриваемый узел обозначается как , а остаток как , то
где — количество узлов, имеющих категорию i, среди узлов, отличных от узла n .
Существует несколько методов , но наиболее распространенный способ выборки из категориального распределения использует тип выборки с обратным преобразованием :
Предположим, что распределение выражается как «пропорциональное» некоторому выражению с неизвестной константой нормализации . Прежде чем брать какие-либо образцы, подготавливаются некоторые значения следующим образом:
Затем каждый раз необходимо сэмплировать значение:
Если необходимо получить много значений из одного и того же категориального распределения, более эффективен следующий подход. Он рисует n выборок за время O(n) (при условии, что для извлечения значений из биномиального распределения используется приближение O(1) [6] ).
function draw_categorical(n) // где n — количество выборок из категориального распределения р = 1 с = 0 для i от 1 до k // где k — количество категорий v = извлечь из биномиального (n, p[i]/r) распределения // где p[i] — вероятность категории i для j от 1 до v z[s++] = i // где z — массив, в котором хранятся результаты п = п - v г = г - р[я] перетасовать (произвольно изменить порядок) элементы в z вернуть z
В машинном обучении типично параметризовать категориальное распределение через неограниченное представление в , компоненты которого задаются следующим образом:
где любая действительная константа. Учитывая это представление, его можно восстановить с помощью функции softmax , которую затем можно выполнить с помощью методов, описанных выше. Однако существует более прямой метод выборки, в котором используются выборки из распределения Гамбеля . [7] Пусть k независимых выборок из стандартного распределения Гамбеля, тогда
будет выборкой из желаемого категориального распределения. (Если это образец из стандартного равномерного распределения , то это образец из стандартного распределения Гамбеля.)