Условное случайное поле

редактировать

Условные случайные поля (CRF ) - это класс метода статистического моделирования часто применяется в распознавании образов и машинном обучении и используется для структурированного прогнозирования. В то время как классификатор предсказывает метку для одиночной выборки без учета «соседних» выборок, CRF может учитывать контекст. Для этого прогноз моделируется как графическая модель , которая реализует зависимости между прогнозами. Какой вид графика используется, зависит от приложения. Например, в обработке естественного языка популярны линейные цепные CRF, которые реализуют последовательные зависимости в предсказаниях. При обработке изображений граф обычно связывает местоположения с соседними и / или аналогичными местоположениями, чтобы обеспечить получение аналогичных прогнозов.

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

Содержание
  • 1 Описание
    • 1.1 Вывод
    • 1.2 Изучение параметров
    • 1.3 Примеры
  • 2 Варианта
    • 2.1 Высшего порядка CRF и полумарковские CRF
    • 2.2 Латентно-динамическое условное случайное поле
  • 3 Программное обеспечение
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
Описание

CRF тип дискриминационной ненаправленной вероятностной графической модели.

Лафферти, МакКаллум и Перейра определяют CRF на наблюдения X {\ displaystyle {\ boldsymbol {X}}}{\ boldsymbol {X}} и случайные величины Y {\ displaystyle {\ boldsymbo l {Y}}}{\ boldsymbol {Y}} следующим образом:

Пусть G = (V, E) {\ displaystyle G = (V, E)}G = (V, E) будет графом, таким что

Y = (Y v) v ∈ V {\ displaystyle {\ boldsymbol {Y}} = ({\ boldsymbol {Y}} _ {v}) _ {v \ in V}}\ boldsymbol {Y} = (\ boldsymbol {Y} _v) _ { v \ in V} , так что Y {\ displaystyle {\ boldsymbol {Y}}}{\ boldsymbol {Y}} индексируется по вершинам G {\ displaystyle G}G . Тогда (X, Y) {\ displaystyle ({\ boldsymbol {X}}, {\ boldsymbol {Y}})}(\ boldsymbol {X}, \ boldsymbol {Y }) является условным случайным полем, когда случайные величины Y v {\ displaystyle {\ boldsymbol {Y}} _ {v}}\ boldsymbol {Y} _v , при условии X {\ displaystyle {\ boldsymbol {X}}}{\ boldsymbol {X}} , подчиняться Марковское свойство по отношению к графу: p (Y v | X, Y w, w ≠ v) = p (Y v | X, Y w, w ∼ v) {\ displaystyle p ({ \ boldsymbol {Y}} _ {v} | {\ boldsymbol {X}}, {\ boldsymbol {Y}} _ {w}, w \ neq v) = p ({\ boldsymbol {Y}} _ {v} | {\ boldsymbol {X}}, {\ boldsymbol {Y}} _ {w}, w \ sim v)}p (\ boldsymbol {Y} _v | \ boldsymbol {X}, \ boldsymbol {Y} _w, w \ neq v) = p (\ boldsymbol {Y} _v | \ boldsymbol {X}, \ boldsymbol {Y} _w, w \ sim v) , где w ∼ v {\ displaystyle {\ mathit {w} } \ sim v}\ mathit {w} \ sim v означает, что w {\ displaystyle w}w и v {\ displaystyle v}vявляются соседями в G {\ displaystyle G}G .

Это означает, что CRF - это неориентированная графическая модель, узлы которой можно разделить ровно на два непересекающихся набора X {\ displaystyle {\ boldsymbol {X}}}{\ boldsymbol {X}} и Y {\ displaystyle {\ boldsymbol {Y}}}{\ boldsymbol {Y}} , наблюдаемые и выходные переменные соответственно; затем моделируется условное распределение p (Y | X) {\ displaystyle p ({\ boldsymbol {Y}} | {\ boldsymbol {X}})}p (\ boldsymbol {Y} | \ boldsymbol {X}) .

Вывод

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

  • Если граф представляет собой цепочку или дерево, алгоритмы передачи сообщений дают точные решения. Алгоритмы, используемые в этих случаях, аналогичны вперед-назад и алгоритму Витерби для случая HMM.
  • Если CRF содержит только парные потенциалы и энергия субмодульная, комбинаторные алгоритмы минимального отсечения / максимального расхода дают точные решения.

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

Изучение параметров

Изучение параметров θ {\ displaystyle \ theta}\ theta обычно выполняется с помощью обучения с максимальной вероятностью для p (Y i | X i; θ) {\ displaystyle p (Y_ {i} | X_ {i} ; \ theta)}p ( Y_i | X_i; \ theta) . Если все узлы имеют экспоненциальное распределение семейств и все узлы наблюдаются во время обучения, эта оптимизация будет выпуклой. Это может быть решено, например, с использованием алгоритмов градиентного спуска или квазиньютоновских методов, таких как алгоритм L-BFGS. С другой стороны, если некоторые переменные не наблюдаются, проблема вывода должна быть решена для этих переменных. Точный вывод на общих графиках невозможен, поэтому необходимо использовать приближения.

Примеры

При моделировании последовательности интересующий граф обычно представляет собой цепной граф. Входная последовательность наблюдаемых переменных X {\ displaystyle X}X представляет последовательность наблюдений, а Y {\ displaystyle Y}Y представляет скрытое (или неизвестное) состояние. переменная, которую необходимо вывести с учетом наблюдений. Y i {\ displaystyle Y_ {i}}Y_ {i} структурированы так, чтобы образовать цепочку с ребром между каждым Y i - 1 {\ displaystyle Y_ {i-1}}Y_ {i-1} и Y i {\ displaystyle Y_ {i}}Y_ {i} . Помимо простой интерпретации Y i {\ displaystyle Y_ {i}}Y_ {i} как «меток» для каждого элемента во входной последовательности, этот макет допускает эффективные алгоритмы для:

  • обучение модели, изучение условных распределений между Y i {\ displaystyle Y_ {i}}Y_ {i} и функциями функций на основе некоторого корпуса обучающих данных.
  • декодирование, определение вероятности заданная последовательность меток Y {\ displaystyle Y}Y с учетом X {\ displaystyle X}X .
  • вывод, определяющий наиболее вероятную последовательность меток Y {\ displaystyle Y}Y задано X {\ displaystyle X}X .

Условная зависимость каждого Y i {\ displaystyle Y_ {i}}Y_ {i} от X {\ displaystyle X}X определяется через фиксированный набор функций функций вида f (i, Y i - 1, Y i, X) {\ displaystyle f (i, Y_ {i-1}), Y_ {i}, X)}f (i, Y_ {i-1}, Y_ {i}, X) , которые можно рассматривать как измерения входной последовательности, которые частично определяют вероятность каждого возможное значение для Y i {\ displaystyle Y_ {i}}Y_ {i} . Модель присваивает каждой характеристике числовой вес и объединяет их для определения вероятности определенного значения для Y i {\ displaystyle Y_ {i}}Y_ {i} .

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

Примечательно, что в отличие от HMM, CRF могут содержать любое количество функций функций, функции функций могут проверять всю входную последовательность X {\ displaystyle X}X в любой момент в течение логического вывода, и диапазон функций функций не обязательно должен иметь вероятностную интерпретацию.

Варианты

CRF высшего порядка и полумарковские CRF

CRF могут быть расширены до моделей более высокого порядка, сделав каждый Y i {\ displaystyle Y_ {i }}Y_ {i} зависит от фиксированного числа k {\ displaystyle k}k предыдущих переменных Y i - k,..., Y я - 1 {\ displaystyle Y_ {i-k},..., Y_ {i-1}}{\ displaystyle Y_ {ik},..., Y_ {i-1}} . В традиционных формулировках CRF более высокого порядка обучение и логический вывод практичны только для небольших значений k {\ displaystyle k}k (например, k ≤ 5), поскольку их вычислительные затраты возрастают экспоненциально с k {\ displaystyle k}k .

Однако еще одно недавнее достижение помогло решить эти проблемы за счет использования концепций и инструментов из области байесовской непараметрики. В частности, подход CRF-бесконечности составляет модель типа CRF, которая способна изучать бесконечно длительную временную динамику масштабируемым образом. Это достигается за счет введения новой потенциальной функции для CRF, которая основана на Sequence Memoizer (SM), непараметрической байесовской модели для изучения бесконечно длинной динамики в последовательных наблюдениях. Чтобы сделать такую ​​модель доступной для вычислений, CRF-infinity использует приближение среднего поля постулированных новых потенциальных функций (которые управляются SM). Это позволяет разрабатывать эффективные алгоритмы приближенного обучения и вывода для модели, не подрывая ее способность фиксировать и моделировать временные зависимости произвольной длины.

Существует еще одно обобщение CRF, полумарковское условное случайное поле (semi-CRF), которое моделирует сегментирование переменной длины последовательности меток Y {\ displaystyle Y }Y . Это обеспечивает большую часть возможностей CRF более высокого порядка для моделирования дальнодействующих зависимостей Y i {\ displaystyle Y_ {i}}Y_ {i} при разумных вычислительных затратах.

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

Латентно-динамическое условное случайное поле

Латентно-динамическое условное случайное поле (LDCRF ) или дискриминантные вероятностные модели скрытых переменных (DPLVM ) - это тип CRF для задач маркировки последовательностей. Это модели скрытых переменных, которые обучаются дискриминационным образом.

В LDCRF, как и в любой задаче тегирования последовательности, для данной последовательности наблюдений x= x 1,…, xn {\ displaystyle x_ {1}, \ dots, x_ {n}}x_1, \ dots, x_n , основная проблема, которую должна решить модель, заключается в том, как назначить последовательность меток y= y 1,…, yn {\ displaystyle y_ {1}, \ dots, y_ {n}}y_ { 1}, \ точки, y_ {n} из одного конечного набора меток Y. Вместо прямого моделирования P (y|x), как это делала бы обычная CRF с линейной цепочкой, набор скрытых переменных h «вставляется» между x и y с использованием цепного правила вероятности :

P (y | x) = ∑ h P (y | h, x) P (h | x) {\ displaystyle P ( \ mathbf {y} | \ mathbf {x}) = \ sum _ {\ mathbf {h}} P (\ mathbf {y} | \ mathbf {h}, \ mathbf {x}) P (\ mathbf {h} | \ mathbf {x})}P (\ mathbf {y} | \ mathbf {x}) = \ sum_ \ mathbf {h} P (\ mathbf {y} | \ mathbf {h}, \ mathbf {x}) P (\ mathbf {h} | \ mathbf {x})

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

Программное обеспечение

Это неполный список программного обеспечения, которое реализовать общие инструменты CRF.

  • RNNSharp CRF на основе рекуррентных нейронных сетей (C#, .NET )
  • CRF-ADF CRF с линейной цепочкой с быстрым онлайн-обучением ADF (C#, .NET )
  • CRFSharp CRF с линейной цепью (C#, .NET )
  • GCO CRF с субмодульными функциями энергии (C ++, Matlab )
  • DGM General CRFs (C ++ )
  • GRMM общие CRF (Java )
  • factorie General CRFs (Scala )
  • CRFall General CRFs (Matlab )
  • Sarawagi's CRF Linear CRF-цепочки (Java )
  • HCRF library CRF со скрытым состоянием (C ++, Matlab )
  • Accord.NET CRF с линейной цепочкой, HCRF и HMM) (C#, .NET )
  • Wapiti Быстрые CRF с линейной цепью (C )
  • CRFSuite Быстрые CRF с линейной цепочкой с ограничениями (C )
  • CRF ++ CRF с линейной цепью (C ++ )
  • FlexCRF Марковские CRF первого и второго порядка (C ++ )
  • crf-chain1 CRF первого порядка с линейной цепочкой (Haskell )
  • imageCRF CRF для сегментирования изображений и объемов изображений (C ++ )
  • MALLET Линейная цепочка для маркировки последовательностей (Java )
  • PyStruct Структурированное обучение на Python (Python )
  • Pycrfsuite Привязка python для crfsuite (Python )
  • Figaro Вероятностный язык программирования, способный определять CRF и другие графические модели ( Scala )
  • CRF Моделирование и вычислительные инструменты для CRF и других неориентированных графических моделей (R )
  • OpenGM Библиотека для дискретных моделей факторного графа и распределительных операций над этими моделями (C ++ )
  • UPGMpp Библиотека для построения, обучения и выполнения логического вывода с помощью неориентированных графических моделей (C ++ )
  • KEG_CRF Fast Linear CRFs (C ++ )

Это частичный список программного обеспечения, реализующего инструменты, связанные с CRF.

См. Также
Литература
Дополнительная литература
  • McCallum, A.: Эффективное индуцирование свойств условных случайных полей. In: Proc. 19 Conference on Uncertainty in Artificial Intelligence. (2003)
  • Wallach, HM: Условные случайные поля: введение. Технический отчет MS-CIS-04-21, Пенсильванский университет (2004)
  • Саттон, К., МакКаллум, A: Введение в условные случайные поля для реляционного обучения. В «Введение в статистическое реляционное обучение». Под редакцией Лиз Гетур и Бен Таскар. MIT Press. (2006) Online PDF
  • Клингер, Р., Томанек, К.: Классические вероятностные модели и C условные случайные поля. Отчет по разработке алгоритмов TR07-2-013, Департамент компьютерных наук, Технологический университет Дортмунда, декабрь 2007 г. ISSN 1864-4503. Интернет-PDF
Последняя правка сделана 2021-05-15 09:04:04
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте