我使用 Jahmm 库对加速度计序列进行分类。
我已经创建了模型,但是当我尝试通过以下方式计算模型上测试序列的概率时:
ForwardBackwardScaledCalculator fbsc = new ForwardBackwardScaledCalculator(test_pair.getValue(),model_pair.getValue().get_hmm());
System.out.println(fbsc.lnProbability());
我得到负值,例如-1278.0926336276573。
库代码中的注释指出 lnProbability 方法:
返回生成此对象的序列概率的纳皮尔对数。
返回:感兴趣的序列的napierian对数的概率
但是如何比较两个这样的对数呢?我用两个测试序列在两个不同的模型上调用该方法,所以我得到 4 个概率:
The test sequence: fast_test.seq on fast_model yields a Napierian log from -1278.0926336276573
The test sequence: fast_test.seq on slow_model yields a Napierian log from -1862.6947488370433
The test sequence: slow_test.seq on fast_model yields a Napierian log from -4433.949818774553
The test sequence: slow_test.seq on slow_model yields a Napierian log from -4208.071445499895
但是在这种情况下,这是否意味着我们越接近零,测试序列与模型越相似(所以在这个例子中分类准确率 = 100%?)
谢谢