0

加速度計シーケンスの分類には Jahmm ライブラリを使用します。

モデルを作成しましたが、次の方法でモデルのテスト シーケンスの確率を計算しようとすると:

ForwardBackwardScaledCalculator fbsc = new ForwardBackwardScaledCalculator(test_pair.getValue(),model_pair.getValue().get_hmm());
                System.out.println(fbsc.lnProbability());

-1278.0926336276573 のような負の値を取得します。

ライブラリのコードのコメントには、lnProbability メソッドが次のように記述されています。

このオブジェクトを生成したシーケンスの確率のネイピア対数を返します。

戻り値: 対象のシーケンスのネイピア対数の確率

しかし、そのような対数のうちの 2 つを比較するにはどうすればよいでしょうか。2 つのテスト シーケンスを使用して 2 つの異なるモデルでメソッドを呼び出すので、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% ですか?)

ありがとうございました

4

1 に答える 1

2

ネイピア対数」が自然対数を意味する場合、たとえば を使用してexに累乗することにより、戻り値xから確率を取得できます。ただし、対数が返される理由は、確率値が小さすぎて a で表すことができないためです。単にゼロを返します。ログ確率に関するウィキペディアの記事を参照してください。Math.expdoubleMath.exp(-1278.0926336276573)

ゼロに近づくほど、テストシーケンスがモデルに似ているということですか?

exp(0) == 1そしてlog(1) == 0、実際、確率が低いほど、その対数は小さくなります (より負になります)。したがって、ゼロに近づくほど、文がモデルの下にある可能性が高くなります。

ただし、これは「モデルへの類似性」に直接関係する必要はなく、「分類精度」は言うまでもなく、HMM (生成モデル) はより長いシーケンスに低い確率を帰するためです。お気に入りの教科書で HMM を読んでください。完全な説明は、この回答ボックスには長すぎますし、数学の問題であるため、この Web サイトのトピックとは関係ありません。

于 2012-07-20T10:05:57.690 に答える