Почему вывод в марковских случайных полях сложен?
Я изучаю марковские случайные поля, и, по-видимому, вывод в MRF труден / требует больших вычислительных ресурсов. В частности, книга Кевина Мерфи "Машинное обучение: вероятностная перспектива" гласит следующее:
"В первом слагаемом мы фиксируем y для его наблюдаемых значений; это иногда называют ограниченным слагаемым. Во втором слагаемом y является свободным; это иногда называют незакрепленным или сравнивающим слагаемым. Обратите внимание, что для вычисления незакрепленного слагаемого требуется вывод в модели, и это должно быть сделано один раз за шаг градиента. Это делает обучение неориентированных графических моделей сложнее, чем обучение направленных графических моделей ".
Почему мы делаем вывод здесь? Я понимаю, что мы суммируем по всем y, что кажется дорогим, но я не вижу, где мы на самом деле оцениваем какие-либо параметры. В Википедии также говорится о логическом выводе, но только о вычислении условного распределения и необходимости суммирования по всем неуказанным узлам... но... это не то, что мы здесь делаем, не так ли?
В качестве альтернативы, у любого есть хорошая интуиция, почему вывод в MRF труден?
Источники: Глава 19 ML: PP: https://www.cs.ubc.ca/~murphyk/MLbook/pml-print3-ch19.pdf
Конкретный раздел видно ниже
1 ответ
При обучении вашей CRF, вы хотите оценить свои параметры, \theta
,
Для этого вы можете дифференцировать свою функцию потерь (уравнение 19.38) по отношению к \theta
, установите его в 0 и решите для \theta
,
Вы не можете аналитически решить уравнение для \theta
если вы сделаете это, хотя. Вы можете, однако, минимизировать Уравнение 19.38 путем градиентного спуска. Поскольку функция потерь является выпуклой, гарантируется, что градиентный спуск даст вам глобально оптимальное решение, когда оно сходится.
Уравнение 19.41 - это фактический градиент, который вам нужно вычислить, чтобы иметь возможность сделать градиентный спуск. Первое слагаемое легко (и вычислительно дешево) вычислить, когда вы суммируете полученные значения y
, Тем не менее, второй термин требует от вас сделать вывод. В этом термине вы не суммируете по наблюдаемому значению y, как в первом семестре. Вместо этого вам нужно вычислить конфигурацию y
(логический вывод), а затем рассчитать значение потенциальной функции в этой конфигурации.