加权自动机谱学习的python模块

scikit-splearn的Python项目详细描述


scikit splearn包是用于光谱学习算法的python scikit工具箱。

这些算法旨在利用hankel矩阵学习加权自动机(wa)。因此,工具箱还为wa提供了一个类(有许多有用的方法),为hankel matrix提供了另一个类,以及一个用于加载数据的类。由于wa是经典概率自动机(因此是hmm)的一个推广,所以一切都适用于这些简单的模型。

学习算法的核心是计算hankel矩阵的奇异值分解,然后根据分解的元素构造加权自动机。这是在课堂学习中完成的。

在经典版本中,hankel矩阵的行是前缀,列是后缀。每个单元格包含序列以相应前缀开始并以相应后缀结束的概率。在学习的情况下,细胞包含观察到的频率。scikit splearn提供了其他版本,其中每个单元格包含相应序列是前缀、后缀或因子的概率。

形式上,hankel矩阵是双无限的。因此,在学习的情况下,一个人必须集中于有限的部分。lrows和lcolumn参数允许指定将哪些子序列作为有限矩阵的行和列来考虑。如果不提供列表,而是提供整数,则有限矩阵将具有与这些给定长度的子序列相对应的所有行和列。

学习方法还需要矩阵的秩信息。这个秩对应于计算矩阵的最小wa的状态数(在学习的情况下,这是目标自动机的估计状态数)。没有简单的方法来评估排名,通常使用交叉验证方法来寻找可能的最佳值。

最后,scikit splearn提供了两种存储hankel矩阵的方法:一种是将经典的hankel矩阵存储为数组,另一种是使用scipy.sparse的稀疏版本。

最初的scikit splearn工具箱是用python在LabEx Archimède作为LIS项目开发的。

这个软件包以及scikit splearn工具箱是根据bsd许可证发布的免费软件。

最新版本的scikit splearn可以从下面下载 PyPI page

文档是可用的here

还有一个gitlab repository,它提供了管理源代码和报告问题的git存储库。

历史记录

1.0.0(2016-06-30)

  • 第一个版本

1.0.1(2016-10-07)

  • 错误设置更正

1.1.0(2018-15-02)

  • 添加IO函数
  • 折让
  • 点显示方法

1.2.0(2018-22-02)

  • 为automata添加点导出
  • 为automata和hankel添加yalm和json导入和导出
  • 增加随机svd作为稠密hankel矩阵计算的一种选择。
  • Rebase:删除学习类+一些新功能
  • 更新文档。

作者

  • François Denis
  • Rémi Eyraud
  • Denis Arrivault
  • Dominique Benielli

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

推荐PyPI第三方库


热门话题
java根据两个数组的值对数组进行排序   具有自签名证书和NTLM代理的java Maven SSL repo错误   java自定义字体按钮不工作AndroidStudio   java通过Spring MVC web应用程序向客户端发送文本文件   Java Spring Web服务SOAP身份验证   ANT property environment=“env”无法在JAVA中检索它,但如果作为ANT命令运行,则可以正常工作   java是为spring mvc rest api或spring boot api对应用服务器的每个新请求创建的服务、存储库和组件的新实例吗?   java私有静态最终字符串未完成其工作   PKCS12的安全Java密钥重新处理   java JPA继承表每类SQLSyntaxErrorException