Python中的隐马尔可夫模型

hmmp的Python项目详细描述


Python包hmmpy实现了三个不同的类,这些类是打算向用户公开的。课程包括:

  • HiddenMarkovModel
  • DiscreteHiddenMarkovModel
  • GaussianHiddenMarkovModel

各班对观察结果的假设各不相同。类HiddenMarkovModel支持任何发射概率,但没有用于估计与发射概率相关的参数的任何程序。接下来的两个类通过分别假设观测值的高斯分布或离散分布来解决这个问题。Baum-Welch算法现在可以估计离散发射概率或与状态相关的平均值和协方差。这三个对象的构造函数的输入略有不同。这三种方法都要求以状态列表的形式提供状态空间。它们还需要表示转移概率和初始概率的函数。提供的转移概率函数应该从状态空间中获取两个对象,并返回从第一个对象到第二个对象的转换概率。函数不需要规范化,即在所有状态上求和为1,因为这是在内部处理的,而不管如何。初始概率函数应返回其唯一参数的初始概率,该参数应为所提供状态的状态。最后一个参数取决于调用的对象。对象HiddenMarkovModel需要一个函数,该函数返回给定观测值和状态时某个观测值的发射概率。对象GaussianHiddenMarkovModel需要各种状态的平均值和协方差的初始值数组。对象DiscreteHiddenMarkovModel需要一个“符号”列表(即观察空间)和一个函数,该函数在给定状态时返回所提供“符号”的概率。在

在一个对象被实例化之后,一个人可以访问诸如decode这样的方法,它返回估计的隐藏状态序列,reestimate,后者运行Baum Welch一定次数以学习模型参数。在此过程中,可学习参数的内部表示在每次迭代后都会更新。在

将提供活页夹笔记本和使用示例。在

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

推荐PyPI第三方库


热门话题
使用JNI在Java中调用C#代码的基本(实用)教程   java获取列表的最小和最大字符串   Java Spring异常中的延迟加载   安卓的java LWJGL端口   安卓上的java按下音量按钮?   C#相当于Java的线程。设置守护进程?   java Android Studio未能解析:com。github。Udhayarajan:liquidswipe安卓:1.0.1   Spring引导集成中MQTTPAHomeMessageHandler和MQTTPAHomeMessageDrivenChannelAdapter之间共享相同MQTT客户端实例的java   环境中的Android Studio错误。java无法解析符号com。谷歌。安卓   java Godaddy JNDI问题无法为连接URL“null”创建类“”的JDBC驱动程序   javascript无法打开到同一SockJS端点的多个连接   如何从JAVA中现有的XML节点生成新的XML   java SectionsPagerAdapter找不到片段id的视图   java通过列表一次打印出一个字符