2个不稳定版本

使用旧的Rust 2015

0.2.0 2017年3月10日
0.1.0 2017年3月9日

#674 in 机器学习

MIT/Apache

17KB
275

隐马尔可夫模型

Crates.io Crates.io docs.rs

hmm是一个早期开源项目。这意味着API可以随时更改。如果您认为这个库可以帮助您,请告诉我。我们可以讨论未来的方向并尝试稳定API。

特性

  • Viterbi MAP估计

示例

假设我们有两枚硬币

  • 公平硬币,以1/2的概率生成H(正面)和T(反面)
  • 有偏硬币 - H: 1/4,T: 3/4的概率

我们还知道,每次投掷后,我们可以以以下概率切换硬币

  • 使用同一枚硬币:3/4
  • 切换硬币:1/4

第一次投掷硬币的概率为1/2

使用这个库,我们可以回答以下问题

给定观察结果'H H T T T',每次投掷使用了哪些硬币?

让我们构建HMM模型并检查答案

extern crate hmm;

use hmm::models::{HiddenMarkov};


fn main() {
    let initials = vec![0.5, 0.5];
    let st = vec![ vec![0.75, 0.25],
                   vec![0.25, 0.75]];
    let obs = vec![ vec![0.5, 0.5],
                    vec![0.25, 0.75]];
    let hmm = HiddenMarkov::new(initials, st, obs).unwrap();
    let coins = hmm.map_estimate(vec![0, 0, 1, 1, 1]);
    println!("Coins used: {:?}", coins);
}

更多示例请查看 示例

许可证

根据您的选择,许可如下

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交的工作,都应按上述方式双许可,不附加任何额外条款或条件。

无运行时依赖项