0

着信ネットワーク パケットの到着間隔を予測しようとしています。ネットワーク パケットの到着間隔を測定し、このデータをバイナリ機能の形式で表します損益分岐点、それ以外は 1。データは、2 つの可能なクラスC={0,1}にマップする必要があります。ここで、C=0短い到着間隔を表し、1 は長い到着間隔を表します。分類子をオンライン機能に実装したいので、機能のベクトルを観察するとすぐにxi=0,1,1,0..., MAP クラスを計算します。条件付き確率と事前確率の事前推定がないため、次のように初期化します。

p(x=0|c=0)=p(x=1|c=0)=p(x=0|c=1)=p(x=1|c=1)=0.5
p(c=0)=p(c=1)=0.5

各特徴ベクトル(x1=m1,x2=m2,...,xn=mn)について、クラスCを出力するときに、条件付き確率と事前確率を次のように更新します。

p(xi=mi|y=c)=a+(1-a)*p(p(xi=mi|c)
p(y=c)=b+(1-b)*p(y=c)

問題は、常に偏った予測を得ていることです。longの到着間隔の数は shortよりも比較的少ないため、short事後は常にlongよりも高いままです。これを改善する方法はありますか?または私は何か間違ったことをしていますか?どんな助けでも大歓迎です。

4

1 に答える 1

1

時系列が長いため、おそらく最善の方法は、複数の以前の値を考慮することです。これを行う標準的な方法は、タイム ウィンドウを使用することです。つまり、長いベクトル Xi を一定の長さのオーバーラップする断片に分割し、最後の値をクラスとして扱い、それらをトレーニング セットとして使用します。これは、新しいデータが到着するたびに NB モデルを段階的に更新することで、ストリーミング データに対してオンラインで行うこともできます。

この方法を使用すると、他の回帰アルゴリズムが NB よりも優れた選択肢になる可能性があることに注意してください。

Weka (バージョン 3.7.3 以降) には、時系列分析をサポートする非常に優れた専用ツールがあります。あるいは、MOAも Weka に基づいており、ストリーミング データのモデリングをサポートしています。

編集:バイナリ機能から実際の値(おそらく正規化されたもの)に移動し、分類後にしきい値を適用することもお勧めです。これにより、回帰モデル (NB またはその他) により多くの情報が与えられ、精度が向上します。

于 2011-11-23T06:02:58.233 に答える