タグ付けされた質問 「sequential-pattern-mining」

2
シーケンスイベント予測内でのLSTMの最適な使用
次の1次元シーケンスを想定します。 A, B, C, Z, B, B, #, C, C, C, V, $, W, A, % ... A, B, C, ..ここの文字は「通常の」イベントを表しています。 #, $, %, ...ここの記号は「特別な」イベントを表しています すべてのイベント間の時間間隔は均一ではありませんが(数秒から数日まで)、過去のイベントほど、将来のイベントに影響を与える可能性は低くなります。理想的には、これらの時間遅延を明示的に考慮することができます。 通常のイベントタイプは約10000、特別なイベントタイプは約100です。特別なイベントに先行する通常のイベントの量はさまざまですが、100〜300を超えることはほとんどありません。 基本的に、特別なイベントを予測できるようになる、通常のイベントシーケンスのパターンを探すことに興味があります。 これで、さまざまな方法でこれに取り組むことができます:特徴ベクトル+標準分類、相関ルール学習、HMMなどを作成します。 この場合、LSTMベースのネットワークがどのように最適になるかについて興味があります。簡単なのは、Karparthyのchar-rnnのようなことを行い、履歴が与えられたら次のイベントを予測することです。次に、新しいシーケンス C, Z, Q, V, V, ... , V, W モデル全体を実行して、次に来る可能性が最も高い特別なイベントを確認できます。しかし、それは適切なフィット感をまったく感じていません。 これは一時的な分類の問題なので、Alex Gravesが説明しているように、Connectionistの一時的な分類を使用するのが適切です。 ただし、現時点で多額の投資をする前に、LSTMがどれだけ適切にここに収まるかを感じるために、より簡単で迅速に実験できる何かを探しています。Tensorflowは、ある時点でCTCの例を見ますが、まだ見ていません。 だから私の(サブ)質問は: 上記の問題があり、LSTMを試してみたいのであれば、char-rnnタイプのアプローチを試してみる価値はありますか。 イベント間タイミング情報をどのように明示的に組み込みますか。no-opイベントで固定クロックを使用することは明らかに機能しますが、見苦しいようです。 LSTMをトレーニングできたとしたら、モデルを調べて、どのような種類のイベント「モチーフ」を取得したかを確認する方法はありますか?(つまり、convnetsのフィルターに類似) 常に役立つサンプルコード(Pythonを推奨)。 編集:シーケンスにノイズがあることを追加するだけです。一部のイベントは安全に無視できますが、正確にどのイベントを前もって言うことが常に可能であるとは限りません。したがって、理想的には、モデル(およびモデルから派生したモチーフ)はこれに対して堅牢です。

3
一連の独立した乱数の差分のL番目の階数をとるときの高い自己相関
この質問をより詳細に説明するために、まず私のアプローチを詳しく説明します。 一連の独立した乱数をシミュレートしました。X={x1,...,xN}X={x1,...,xN}X = \{x_1,...,x_N\} 次に、倍の差を取ります。つまり、変数を作成します。LLL dX1={X(2)−X(1),...,X(N)−X(N−1)}dX1={X(2)−X(1),...,X(N)−X(N−1)}dX_{1} = \{X(2)-X(1),...,X(N)-X(N-1)\} dX2={dX1(2)−dX1(1),...,dX1(N−1)−dX1(N−1−1)}dX2={dX1(2)−dX1(1),...,dX1(N−1)−dX1(N−1−1)}dX_{2} = \{dX_{1}(2)-dX_{1}(1),...,dX_{1}(N-1)-dX_{1}(N-1-1)\} ......... dバツL= { dバツL − 1(2 )− dバツL − 1(1 )、。。。、dバツL − 1(N− L )− dバツL − 1(N− L − 1 )}dXL={dXL−1(2)−dXL−1(1),...,dXL−1(N−L)−dXL−1(N−L−1)}dX_{L} = \{dX_{L-1}(2)-dX_{L-1}(1),...,dX_{L-1}(N-L)-dX_{L-1}(N-L-1)\} が大きくなると、の(絶対)自己相関が増加することがます。ACは場合でも0.99に近づきます。つまり、L次の差をとるとき、最初は独立したシーケンスから、一連の非常に依存する数(シーケンス)を作成します。dバツLdXLdX_{L}LLLL > 100L>100L >100 これが私の観察を説明するグラフです。 私の質問: このアプローチの背後にある理論、およびその含意またはそのアプリケーションへの応用はありますか? これは、このアプローチが(コンピューターの)疑似乱数ジェネレーターの弱点を悪用していることを示していますか?つまり、生成された「ランダム」シーケンスは完全にランダムではなく、これは私のアプローチから示されている/証明されていますか? シーケンスの次の数(つまり)を予測するために、L次の差異の高い自己相関を利用できますか?つまり、次の数を予測できる場合(たとえば、線形回帰によって)、累積合計の倍をとることによって、推定シーケンスを推定できます。これは実行可能なアプローチですか?バツ(N+ 1 )X(N+1)X(N+1)dバツLdXLdX_{L}バツ(私)X(i)X(i)LLL 客観的 注意は、私が予測しようとしていることをが、番号がindependentalyとランダムに生成されているので、これは(の低交流は非常に困難である)。バツ(N+ 1 )X(N+1)X(N+1)NNN

2
順次パターンの特定
マルウェアのwin-api呼び出しの長いリストであるシーケンスデータを使用しています。「マルウェアの動作」を特定する問題を、連続するパターンを見つけることの1つにキャストしようとしています。各API呼び出しを単一のアイテムのItemsetとして扱います。さまざまな可能な項目(API呼び出し)の数は非常に多くなります。 ここで、SPADEアルゴリズム(Zaki、SPADE:頻繁なシーケンスをマイニングするための効率的なアルゴリズム、機械学習、42、31〜60、2001も参照)を適用すると、メモリの問題が発生します。大きな語彙の多いシーケンスから順次パターンを見つけるためのより良い代替方法はありますか?

2
多変量時系列クラスタリング
多変量時系列のグループを収集しています。たとえば、2000の時系列があります。各時系列は12次元です。 多変量時系列をクラスター化できる体系的なモデル/アルゴリズムはありますか?たとえば、他とは非常に異なる時系列を特定したいと思います。 さらに、オンライン監視では、このアルゴリズムを時間どおりに実行する場合があります。たとえば、10分ごとに、この種のアルゴリズムを10分をカバーする時系列に対して実行します。これに関して効率的なアルゴリズムはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.