Программное обеспечение для рисования графических моделей в табличных обозначениях - PullRequest
22 голосов
/ 11 августа 2010

Итак, я вижу графические модели, выраженные в табличных обозначениях, в исследовательских работах и ​​в Интернете все время (например: http://www.cs.princeton.edu/~blei/papers/BleiNgJordan2003.pdf).

Существует ли быстрый и простой способ их производства? I 'Я искал и искал, но все, что я нашел, - это решения вроде GraphViz, которые действительно намного мощнее, чем мне нужно (и, следовательно, гораздо сложнее в использовании). PGF / Tikz кажется моей лучшей ставкой, но опять же, это кажется излишним.

Может быть, лучше всего сделать их в Inkscape или прикусить пулю и изучить PGF / Tikz. Они настолько популярны, что я подумал, что будет более простой способ их выпустить, но, может быть,не ... TIA.

Ответы [ 4 ]

10 голосов
/ 06 декабря 2012

Вот более изящный форк сценариев Дитца: https://github.com/jluttine/tikz-bayesnet

9 голосов
/ 02 мая 2013

GraphViz действительно не так сложно выучить. Основной язык действительно прост для такого рода графиков. Мне потребовалось всего несколько минут, чтобы воспроизвести (более или менее) первый пример из этого PDF-файла, и самое приятное в этом то, что благодаря своей простоте довольно просто генерировать графики процедурно из какого-то другого источника данных. *

Digraph fig1 {
rankdir = LR; //order things from left to right

//define alpha and beta as existing
α [shape=circle];
β [shape=circle];
//not strictly nescessary but helps if you want to
//assign them specific shapes or colours

subgraph cluster_M //names beginning with "cluster" get a box drawn, an odd hack
{
    label = "M"

    θ [shape=circle];
    subgraph cluster_N
    {
        label = "N"
        z [shape=circle];
        w [shape=circle, style=filled]
        z->w; //quite literally z points at w
    }

    θ -> z;
}
α -> θ;
β -> w;
}

составлено с точка -Tpng input.txt -o graph.png это выглядит так. Если важно иметь метки под пузырьками, вы можете сделать это с помощью пары дополнительных строк, аналогично, если важно конкретное расположение узлов, вы также можете это отрегулировать. Фактически, если вы не укажете формат изображения, поведение точки по умолчанию - вывод версии входного файла с координатами для позиции каждого элемента.

The output image

9 голосов
/ 12 апреля 2011

Проверьте превосходную упаковку Tikz от Laura Dietz, доступную по адресу http://www.mpi -inf.mpg.de / ~ dietz / probabilistic-models-tikz.zip .PDF-файл с некоторыми примерами доступен по адресу http://www.mpi -inf.mpg.de / ~ dietz / probabilistic-models-tikz.pdf .

4 голосов
/ 11 февраля 2014

Мне очень нравится GLE (Graphics Layout Engine).Это то, что Кристофер Бишоп использовал в своей книге «Распознавание образов и машинное обучение».Он имеет простой синтаксис с переменными, циклами и функциями и поддерживает уравнения TeX.Результаты выводятся в формате pdf или eps и выглядят очень красиво.

Доступно множество примеров , включая эту байесовскую сеть из PRML .

...