В теории вероятностей и статистике категориальное распределение (также называемое обобщенным распределением Бернулли , мультиноуллиевым распределением [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. В этой формулировке выборочное пространство можно рассматривать как набор 1-из- K кодированных [4] случайных векторов x размерности 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] ).
функция 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 — массив, в котором хранятся результаты н = н - в г = г - р[я] перетасовать (случайным образом переупорядочить) элементы в z возвращение z
В машинном обучении обычно параметризуют категориальное распределение с помощью неограниченного представления в , компоненты которого задаются следующим образом:
где — любая действительная константа. При таком представлении можно восстановить с помощью функции softmax , которую затем можно отобрать с помощью описанных выше методов. Однако существует более прямой метод выборки, который использует выборки из распределения Гумбеля . [7] Пусть k независимых выборок из стандартного распределения Гумбеля, тогда
будет выборкой из желаемого категориального распределения. (Если — выборка из стандартного равномерного распределения , то — выборка из стандартного распределения Гумбеля.)