PRISM:统计建模中的编程

目录

发行说明
更新历史记录
以前的版本
许可证

简介-什么是PRISM?

(关于PRISM的理论细节和我们最近的研究,看见棱镜.pdf[411KB]中,这是过去幻灯片的汇编。)

PRISM是一种用于符号统计的通用编程语言建模。它是一种新的、前所未有的编程语言程序中嵌入的统计参数的学习能力。它的编程系统,这里简称为“PRISM系统”,是构建复杂统计模型的强大工具。PRISM系统的理论背景是分布语义对于参数化逻辑程序EM学习它们的参数[佐藤95佐藤01c].PRISM系统由两个子系统组成,一个子系统用于学习另一个是执行死刑,就像人有动脉和静脉。执行子系统支持各种概率符合分布语义和makes的内置谓词可以将程序用作随机采样器。学习另一方面,子系统支持诱因推理,即搜索通过程序和学习对观察结果进行逻辑解释与它们相关联的参数,用于程序。

从数学上讲,PRISM程序是一个逻辑程序,其中事实具有参数化的概率分布,因此程序可以看作是一个参数化的统计模型。这个程序定义概率分布(概率度量)赫布兰德可能的解释。在执行过程中,中各种概率结构的概率或样本程序将根据定义的分布进行计算。学习后,我们对EM不完整数据中的程序参数(期望最大化)算法,以便定义的分布更接近观察到的分布。因为PRISM程序可以任意复杂,我们的模型也可以是任意复杂的,这意味着我们有机会建造大型但可以理解的建筑超越传统统计的符号统计模型模型。[佐藤01c]和[佐藤08a]全面了解PRISM的理论背景。

在这一点上,为了公平起见,我们不得不说,对PRISM的理解编程可能需要用户进行一些学习你必须注意不要违反某些统计条件编写代码时。然而,PRISM程序看起来就像一个Prolog带有两个新内置谓词的程序。因此,PRISM编程对于任何人来说都不难已经熟悉Prolog和统计。

目录

PRISM编程的优点

我们在此列出了PRISM编程的(预期)优点;

目录

当前研究课题

放松建模假设

当前的编程系统在PRISM中做了几个建模假设用于有效概率推断的程序。另一方面,这些假设有时会成为对用户的严重限制。我们已经展示了一种放松唯一性条件的方法(所有可观察的进球模式是相互排斥的,它们的概率加起来统一)通过考虑可能的生成过程中的失败观察。除此之外,现在我们正在考虑探索放松其他假设以增强表现力和PRISM语言的灵活性。

目录

下载PRISM系统

PRISM建立在B-序言并在Windows、带有x86处理器的Linux和Mac OS X上运行。自2.0版以来,PRISM特定部分的源代码对公众开放。访问发行说明有关详细信息,以及在这里用于早期版本。截至2016年3月30日,最新软件包为2.2版。该包包含可执行二进制文件,即特定于PRISM的源代码部件和程序示例。基于2.x版的许可协议用户可以免费将此软件包用于学术用途下的源代码修改后的BSD许可证.

2.3的亮点:

平台注意事项:

目录

PRISM上的选定出版物

PRISM综合说明

首先[佐藤01c]包括以下内容的完整描述分布语义与概率的有效体系结构推论。另一方面[佐藤08a]添加最近的几个结果。那就是[佐藤08a]讨论弥合离散贝叶斯网络和概率上下文无关文法,以及一些性能报告。它还详细描述了我们处理生成模型。[佐藤08b]给另一个PRISM概述,探索概率无上下文图文法。[卡梅亚07]是PRISM指南适用于日本用户。

分布语义和作为建模语言的PRISM

[佐藤95]引入了分布语义,这是PRISM程序的理论(语义)基础,也是提出了一种特定类的参数学习算法逻辑程序,称为BS程序。[佐藤97]描述了PRISM语言的设计和PRISM系统,并显示了编写隐马尔可夫模型的示例(HMM)、贝叶斯网络(BN)等。在[佐藤98],我们为基因遗传与部落社会的复杂互动卡里埃拉部落发现的系统。[佐藤03]和[周六05b]展示我们的通用方法可以减少建模者的工作量,并且[佐藤05b]给出了表示概率版本的PRISM程序两种不同类型的无上下文图文法。

PRISM的有效概率推断

在提出PRISM之后,我们解决了PRISM项目的EM学习。While期间[卡梅亚99]只能说明唯一性条件的必要性目标模式是排他性的,其概率总和为一)和一些紧凑的数据结构[卡梅亚00]和[佐藤00]建议使用OLDT搜索和基于动态规划的概率计算有效的EM学习并找到最可能的解释。[周02], [周03a],和[卡米亚04]描述系统的进一步发展。最近,我们提出了一项见解,弥合了BN和PCFG之间的差距从概率推理算法的角度[佐藤07],并提出了一个数据并行版本我们的EM算法[伊祖米06].

从失败中学习

基于Cussens的FAM(故障调整最大化)算法[库森01]和程序转换技术[佐藤89],我们提出了一种新的学习方案,用户可以在其中添加PRISM程序的约束(导致失败)学习效率。

贝叶斯学习

在工程背景下,贝叶斯学习为我们提供了一种系统化的方法来增强预测和模型选择。变分贝叶斯(VB)被认为是一种高效的贝叶斯学习的近似方法,与我们的基于表搜索的动态规划方法。在[佐藤09a],我们为PRISM程序提出了一种VB-EM算法,并证实了其有效性以自然语言处理和生物信息学为例。此外,在[佐藤11],M.Johnson的PCFG MCMC算法被推广为PRISM项目。

生成定义的判别模型

众所周知,区分模型往往比生成模型表现更好在分类等有区别的任务中。[佐藤13]提出了一种在PRISM之上构造判别模型的方法,作为生成判别对,包括朴素贝叶斯分类和逻辑回归。与传统的PRISM和线性链条件随机场(CRF)一样,这个新框架配备了基于动态规划的高效推理算法。

放松建模假设

如上所述,目前我们正在寻求放松建模的方法可能成为构建有用模型障碍的假设。以下[德雷德07]和[米纳托07],英寸[石黑田08a]和[石黑田08b],我们建议使用(零抑制)二进制决策图((Z)BDD)作为EM算法。这将是消除排他性条件的线索在PRISM中假定。在[石黑田10],在BDD上的EM学习中,有效地处理了多值随机变量。最近[佐藤14a]提议的维特比培训,基于维特比计算的参数学习框架。维特比训练很有趣,因为它不一定需要排他性条件,而且看起来适用于我们最终只需要对每个目标进行一个解释的应用程序(例如,统计分析)。最近的另一项工作是[佐藤14b],[小岛14]和[小岛15],其中提出了一种通用的前缀概率计算算法。这种推理算法可以放松非循环条件。此外,在[佐藤13]以上既不需要独占条件,也不需要唯一条件。
目录

相关出版物和参考文献

应用

到目前为止,PRISM已应用于生物序列分析(得益于Henning Christiansen和迷路的项目),音乐分析(感谢Jon Sneyers及其同事)、概率规划、,等等[克里斯蒂安森09]优化实验受基因组序列分析启发的PRISM模型(例如基因发现在大肠杆菌中)。作者引入隐马尔可夫模型来区分编码/非编码部分和随机上下文无关文法捕捉次级结构中的嵌套发夹结构RNA[克里斯蒂安森10]集成与用PRISM编写的HMM并行约束,并将此类约束HMM应用于全球两两比对,一个生物学问题序列分析。[默克12]充分利用PRISM系统潜在HMM结构统计评估的学习设施在细菌基因发现任务中。[狙击手06]建议音乐的概率逻辑模型,其中综合方面和分析方面音乐是同时融合的。后来,Abdallah等人也使用PRISM建造用于音乐结构分析的概率文法[阿卜杜拉15].

扩展

我们认为,PRISM还可以进一步扩展。[斯涅尔斯10]在PRISM系统之上构建了概率约束处理规则(CHR)系统。

高级逻辑编程技术

如上所述,[Tamaki和Sato佐藤86],[周03b], [周04]和[周08]提出了逻辑程序的表搜索技术在PRISM项目的高效EM学习中发挥核心作用。建立了失效生成模型的学习算法基于中提出的程序转换[佐藤89].

高级统计学习技术

[库森01]提议FAM(故障调整最大化)算法,在编程系统中实现(自1.8版起)处理生成模型中的失败。[Kurihara谷原06]提供了一个变分贝叶斯(VB)概率上下文无关文法的学习方法,它是编程系统(自1.11版起)的VB学习例程的基础。确定性退火EM算法,用于避免不必要的EM学习中的局部极大值及其对变分贝叶斯学习的扩展提议于[上田98]和[卡塔希拉08]分别是。

与BDD集成

二进制决策图(BDD)被称为布尔(命题)公式,并在最近的研究中使用统计关系学习或概率逻辑学习(PLL)。ProbLog(问题日志)[德雷德07]是第一个概率逻辑框架(据我们所知)将BDD作为概率计算的基本数据结构。[米纳托07]提出有效的贝叶斯网络的概率推理零抑制BDD。

概率CFG的快速EM学习

作为PRISM学习框架的一个实例[卡梅亚01],我们专注于参数(EM)学习概率CFG或具有上下文敏感概率的CFG。对于这些模型类,高效的CFG解析器(例如CYK、Earley、Tomita解析器、,等)可以代替OLDT解释器。使用两个实际的语料库和中等大小的手工文法,具有不同的字符,我们在实验中证实[佐藤01a]我们的EM每次迭代学习方法的加速量使用内外侧算法的传统方法。[佐藤01b]处理概率通过我们的方法进行Earley解析。

目录

联系方式

系统正在开发中,我们保留最新版本可从此页面下载。请发送有关许可证和问题的请求或错误报告(请更换[]具有@):

棱镜[]ccml.meijo-uac.jp

目录

致谢

PRISM 2.3得到了新能源和工业技术发展组织(NEDO)委托的一个项目的部分支持。

目录

链接

目录

上次更新:2017年8月5日