どの統計分類アルゴリズムが入力シーケンスの真/偽を予測できますか?


14

入力シーケンスが与えられたら、このシーケンスに特定の望ましい特性があるかどうかを判断する必要があります。プロパティはtrueまたはfalseのみです。つまり、シーケンスが属することができるクラスは2つだけです。

シーケンスとプロパティの正確な関係は不明ですが、非常に一貫性があり、統計的な分類に役立つはずです。分類器をトレーニングするケースは多数ありますが、このトレーニングセットではシーケンスに間違ったクラスが割り当てられる可能性がわずかにあるという意味で、少しうるさいかもしれません。

トレーニングデータの例:

Sequence 1: (7 5 21 3 3) -> true
Sequence 2: (21 7 5 1) -> true
Sequence 3: (12 21 7 5 11 1) -> false
Sequence 4: (21 5 7 1) -> false
...

大まかに言うと、プロパティはシーケンス内の値のセット(たとえば、「11」の存在はプロパティがほぼ確実にfalseであることを意味します)、および値の順序(「21 7 5 「プロパティがtrueである可能性が大幅に増加します)。

トレーニング後、分類器にのように以前は見えなかったシーケンスを与えることができ(1 21 7 5 3)、プロパティがtrueであるという確信を出力する必要があります。この種の入力/出力で分類器をトレーニングするための有名なアルゴリズムはありますか?

私は、単純なベイズ分類器(少なくとも入力が独立しているという仮定をひどく壊すことなく、順序が重要であるという事実に実際には適応できない)を検討しました。また、隠れマルコフモデルのアプローチについても調査しました。これは、入力ごとに1つの出力ではなく、1つの出力しか利用できないため、適用できないようです。私は何を取りこぼしたか?


シーケンスのペア間の距離を測定する方法はありますか?最小および/または最大シーケンス長はわかっていますか?
クレイグライト

@CraigWright考えられる適用可能な距離測定はありません。12程度の最大長と4程度の最小長が想定されます。また、約30の異なる値があります(それらは無制限の自然ではなく、かなり小さな可能性のセットです)
ローマンスターコフ

あなたが言及する多重応答変数は何ですか?これはバイナリ出力であり、おそらくダミー変数Var1.1、Var1.12、...、Var12.12
B_Miner

@B_Miner HMMの仕組みを誤解しているかもしれませんが、次のように機能しているようです:入力シーケンス(abcde)を入力し、それに最も一致する隠しシーケンスを出力します。 )。ダミー変数がこれを解決するとは思わない。シーケンス全体に対して真/偽の分類が必要です。
ローマンスターコフ

@romkyns、それはHMMの仕組みではありません。HMMは確率的なプロセスです。シーケンスとHMM Mが与えられた場合、Msを出力する確率を計算できます(動的プログラミングを使用して、フォワードアルゴリズム)。また、トレーニングシーケンスのセットが与えられると、それらのトレーニングシーケンスを生成する可能性が最も高いHMM Mを見つけることができます(Baum-Welchアルゴリズムを使用)。したがって、HMMはここで試してみることもできます。ただし、入力する詳細がいくつかあります。sMMsM
DW

回答:


9

単純なベイズ分類器と同様の確率的アプローチを試すことができますが、仮定はより弱くなります。たとえば、強力な独立性の仮定を行う代わりに、マルコフの仮定を行います。

p(xc)=p(x0ctpバツtバツt1c

はクラスラベル、 xはシーケンスです。2つの条件付き分布を推定する必要があります。1つは c = 1、もう1つは c = 0です。cバツc=1c=0

ベイズの規則により:

p(c=1x)=p(xc=1)p(c=1pバツc=1pc=1+pバツc=0pc=0

に対してどの分布を選択するかは、シーケンスについてどのような他の仮定を立てるか、利用可能なデータ量に依存します。p(xtxt1,c)

たとえば、次を使用できます。

p(xtxt1,c)=π(xt,xt1,c)iπ(xi,xt1,c)

このようなディストリビューションでは、あなたの順序で発生した21種類の数字がある場合、あなたは推定しなければならないパラメータπ X TX TC を加えた21 2 = 42のパラメータP xと0c )に加えて、p c )の2つのパラメーター。21212=882π(xt,xt,c)212=42pバツ0c2pc

モデルの仮定が満たされない場合、たとえば平均ログ損失を最小化することにより、分類パフォーマンスに関してパラメーターを直接微調整するのに役立ちます。

1#D(x,c)Dlogp(cx)

勾配降下を使用します。


(+1)私はこれが好きです。ただし、すべてのp(xt|xt1,c)
steffen

関係する分布についてより多くの仮定を立てることができれば、はるかに少ないパラメーターで済ますことができます。たとえば、が二項であり、E [ x tp(xtxt1,c)であることが2つのパラメーターのみを推定する必要があります。 cの値ごとに1つ。もちろん、仮定を立てることができず、十分なデータがない場合、できることはあまりありません。無料のランチはありません。E[xtxt1,c]=xt1c
ルーカス

6

いくつかの機能を定義してから、それらの機能に適用する機械学習アルゴリズムを選択することをお勧めします。

機能:基本的に、各機能は特定のシーケンスから計算できるものである必要があり、シーケンスにプロパティがあるかどうかに関係があると思われます。説明に基づいて、次のような機能を検討できます。

  • ii(7 5 21 3 3)

  • 「ダイグラムの袋。」(7 5 21 3 3)7 55 2121 33 3302302

  • 「三gramの袋。」また、元のシーケンスからの3つの連続した数字のサブシーケンスであるトライグラムを考慮することもできます。上記と同じことができます。

上記の機能を使用する場合、dを抽出できますd=30+302+303d

ii

d


私が実際に実装した最初の試みは、単純なベイジアン分類を持つ「トライグラムの袋」でした。結果は有望ですが、素晴らしいものではありません。これは、トライグラムがまったく独立していないという事実に関連している可能性があると考えました。「1 2 3」がある場合、「2 3 *」トライグラムもある可能性が非常に高くなります。おそらく、私はもう少し正確な機能を試してみる必要があります。
ローマンスターコフ

さまざまな機能セットとさまざまな学習アルゴリズムの両方でさらに実験することをお勧めします。また、問題の説明に基づいて、個々の番号の外観に機能を追加することができます(トライグラムのバッグだけでなく、ワードのバッグ):トライグラムのみを使用すると、機械学習アルゴリズムが学習するのが難しくなります「11を含むシーケンスにはほとんど確実にプロパティがありません」などの事実。
DW

2

あなたが効果的にやっているのは、時系列の仮説検定です。特定のケースに合わせてHMMを調整する必要がありますが、HMMが機能します。

正直なところ、あなたが検出しようとしているものの何らかの数学的な記述を書き留めることができない場合、あなたはあまり遠くに行かないでしょう。おそらく、どのような機能を期待しているのか教えていただけますか?


1
機械学習は、何を探すべきかについて何も考えなくても非常に遠くまで到達できることを示しています。
バイエルジ

1

シーケンスの最大長が12の場合、12の入力と1つの出力を持つニューラルネットワークが機能する可能性がありますが、各シーケンスの終わりにゼロまたは不活性値を埋め込む必要があります。


1

ベイジアンネットワークを使用してみましたか?ランダム変数の確率に到達するために、複数のデータ(一度に1つずつ)を融合する必要があるとき、私は最初に考えます。

ベイジアンネットワークは、ナイーブベイズが行う独立性の仮定に依存しません。

ところで、隠れマルコフモデルはベイジアンネットワークの特殊なケースです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.