向量空间马尔可夫随机场

vsmrfs的Python项目详细描述


向量空间马尔可夫随机场[学习的VS-MRF示例](https://raw.githubusercontent.com/tansey/vs mrfs/master/data/mfp_top.png)


此软件包为学习MRF提供支持,其中每个节点条件可以是任何一般指数族分布。当前支持的节点条件有bernoulli、gamma、gaussian、dirichlet和点膨胀模型。有关如何添加自定义节点条件分布的指导,请参见"exponential戋families.py"。


/>
"vsmrfs"包非常固执己见。它假设您有一个具有非常特定结构的实验目录。如果您的实验目录是"exp",那么您需要以下结构:

````
exp/
args/
data/
nodes.csv
足够的数据。csv
edges/
metrics/
plots/
weights/
``

首先是"exp/data/"结构和两个文件。如果您从合成数据集生成器生成数据,则将为您创建结构。


\1a)生成合成数据(可选)

为您安装所有的实验结构。例如,假设您想要运行一个包含两个bernoulli节点和一个三维dirichlet节点的实验,并且您想要使用"foo/"作为实验目录:

`vsmrf gen foo--nodes b d3`

g稀疏性和样本量的一些默认参数。您可以使用"vsmrf gen--help"查看选项的完整列表。


假设您知道数据类型,并且实验目录是"foo",则需要生成两个文件:

`foo/data/nodes.csv`:这是一个包含所有节点条件的数据类型的单行csv文件。当前支持的选项:

-`b`:bernoulli node
-`n`:normal或gaussian node
-`g`:gamma node
-`d`:dirichlet node,其中用dirichlet的维数替换,例如,对于3参数dirichlet
-`zix`:zero-explated或generic point explated node,其中"x"替换为膨胀分布。这是一个递归定义,因此可以有多个膨胀点,例如,"zizig"将是一个两点膨胀的gamma分布。

"foo/data/enough-statistics.csv":所有节点条件的充分统计的csv矩阵。第一行应该是列到节点的id映射。例如,如果您有一个包含两个bernoulli节点和一个三维dirichlet的数据集,那么您的头看起来像"0,1,2,2,2",因为"node0"和"node1"都是bernoulli(即单变量充分统计),而"node2"是您的dirichlet,有3个充分统计。然后,文件中的每一行对应一个数据样本。


这使得问题具有凸性和可分离性,使得我们能够独立地学习每个节点。如果您可以访问群集或分布式计算环境,这将使过程非常快速,因为您可以在不同的计算机上学习每个节点,然后在步骤3中将整个图缝合在一起。

如果您想从步骤2学习dirichlet节点,请使用解决方案路径approa这样可以避免超参数设置:

`vsmrf learn foo--target 2--solution\u path`

您可以使用"vsmrf learn--help"查看选项的完整列表。


由于我们正在学习近似模型,因此有时会存在"nodea nodea"的伪边,但"nodeb nodea"不存在。在这种情况下,我们必须决定是否将边包含在最终的图中,也就是说,我们应该将边放在一起,还是将边放在一起?这个包将同时创建这两个节点,但从经验上看,使用"and"图的性能稍好一些。


继续我们的示例,将我们的三节点mrf缝合在一起:

`vsmrf stitch foo--nodes b b d3`

根据模型的真实性,您可以计算得到的图形:

`vsmrf stitch foo--nodes b d3--evaluate`


请参见"vsmrf stitch--help"以获取完整的选项列表。

reference
--
```
@inproceedings{tansey:etal:2015,
title={vector space markov random f指数族雅思,
作者{tansey,wesley和马德里padilla,oscar h和suggala,arun和ravikumar,pradeep},
书名{第32届国际机器学习会议(icml-15)论文集,
年份{2015}
```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我们应该在测试java代码时模拟黄瓜测试吗。我们应该在多大程度上使用黄瓜?   Hibernate Weblogic 10.3.4 java。lang.NoSuchMethodError:javax/persistence/spi/PersistenceUnitInfo。getValidationMode()Ljavax/persistence/ValidationMode;   java如何在main()中访问私有静态实例变量   java JMockit无法模拟类的公共final字段   java是否可以返回特定控制器操作的输出(html)?   java如何返回正确类型的列表?   rest-OpenUI/Swagger-java-to-API   java组织。springframework。豆。工厂NoSuchBeanDefinitionException或加载ApplicationContext失败   java使用POST将参数从JSP发送到Servlet   java如何监听特定的按钮按下和主视图用户交互?   java如何让gradle在本地maven repo中覆盖库?   如何在Java中“合并”两个URI?   java如何制作一个方法来移动数组中的字符?   使用来自java的命令启动powershell窗口   java垃圾收集器和匿名类   java如何为CellTable(GWT 2.4)中的ImageResourceCell创建PanelPopup?