Что такое «Факторные графики» и для чего они нужны? - PullRequest
11 голосов
/ 19 апреля 2011

Друг использует Факторные графики для анализа текста (выявляя ссылки на людей в тексте), и он заинтересовал меня этим инструментом, но мне трудно найти интуитивное объяснение того, что такое Факторные графики и какиспользовать их.

Может ли кто-нибудь дать объяснение факторных графов, которые не являются математически сложными и которые сосредоточены на практических приложениях, а не на абстрактной теории?

Ответы [ 3 ]

21 голосов
/ 19 апреля 2011

Они широко используются для разбивки задачи на части.Одним из очень интересных приложений факторных графов (и передачи сообщений на них) является алгоритм XBox Live TrueSkill.Я много писал об этом в своем блоге, где я пытался найти вводное объяснение, а не слишком академическое объяснение.

4 голосов
/ 19 апреля 2011

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

Предположим, у вас есть функция f(x_1,x_2,...,x_n), и вы хотитевычислить маргинализацию этой функции для некоторого аргумента x_i, суммируя таким образом все присваивания оставшейся формуле.Далее f можно разбить на факторы, например,

f(x_1,x_2,...,x_n)=f_1(x_1,x_2)f_2(x_5,x_8,x_9)...f_k(x_1,x_10,x_11)

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

A факторный граф - это двудольный граф с обоими факторными узлами и переменными узлами.И есть грань между фактором и узлом переменной, если переменная появляется в качестве аргумента фактора.В нашем примере будет существовать грань между фактором f_2 и переменной x_5, но не между f_2 и x_1.

Существует замечательная статья: Факторные графики иалгоритм суммирования .

3 голосов
/ 20 апреля 2011

Факторный график является математической моделью и может быть объяснен только математическими уравнениями.В двух словах, это способ объяснить сложные отношения между переменными интереса в вашей модели.Пример: A - это температура, B - давление, компоненты C, D, E в некотором роде зависят от B, A, а компонент K - от B, A.И вы хотите предсказать значение K на основе A и B. Таким образом, вы знаете только видимые состояния.Базовые библиотеки ML не позволяют моделировать такую ​​структуру.Нейронные сети делают это лучше.И Factor Graph точно решит эту проблему.Факторный график является примером глубокого обучения.Когда невозможно представить модель с особенностями и выходными данными, факторные модели позволяют создавать скрытые состояния, слои и сложную структуру переменных для соответствия поведению в реальном мире.Примерами являются выравнивание машинного перевода, распознавание отпечатков пальцев, совместная ссылка и т. Д.

...