сходство между двумя векторами, представляющими звездные графы - PullRequest
4 голосов
/ 26 февраля 2012

это немного алгоритмически, и я не уверен, правильно ли он подходит под SO, дайте мне знать, если нет.

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

A = [3 -1   0;
     4  1   0;
     2  0   1;
     2  0  -1]

и

B = [3 -0.8   1
     4  1.4   0.4;
     2  0.1   1.9]

Моя идея (которая на самом деле основана главным образом на бумаге , которую я читаю) состоит в том, чтобы выполнить какое-то распространение убеждения: допустим, что A - наблюдаемый граф - каждая строка является соседом центральный узел, первый столбец - метка, второй - позиция x, а третий - позиция y (позиции относительно центрального узла). B - это график в нашей базе данных, и я хочу увидеть, насколько они близки или похожи.

В статье они вычисляют вероятность для наблюдаемого графа A, заданного B как произведение вероятностей для всех узлов. Как бы вы эффективно реализовали это в matlab?

Буду признателен за любые мысли или вдохновение, я не ищу код для его решения, я просто хочу узнать от мастеров, как бы вы подошли к этой проблеме.

Спасибо

J

1 Ответ

1 голос
/ 26 февраля 2012

Имея лишь беглый взгляд на эту статью, я думаю, что вам нужен алгоритм вывода в байесовских сетях.Они общеизвестно дороги и сложны в реализации, поэтому я рекомендую искать готовые решения.Google возвращает множество обращений к «графическим моделям matlab»

- РЕДАКТИРОВАТЬ -

Сайт, размещенный в одном из комментариев, выглядит довольно подробным, но может быть несколько устаревшим (2005 г.)Я бы хотел порекомендовать другой программный продукт.Я уже некоторое время пользуюсь MALLET и считаю, что все в порядке.Авторы действительно хорошо известны в сообществе НЛП.Оказывается, есть расширение, которое допускает произвольную графическую структуру - GRMM .Написано на Java, с открытым исходным кодом.Я сам этим не пользовался.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...