(57)【特許請求の範囲】
【請求項１】
トラヒックのフロー毎の複数種類の特徴量のうち、第１の特徴量群に基づいて、当該フローの種別を識別する識別機から、識別結果を取得する取得部と、
前記識別結果が得られた同一フローにおける、前記複数種類の特徴量のうち前記第１の特徴量群とは異なる種類の第２の特徴量群を選択する選択部と、
前記第２の特徴量群に基づいて、前記識別結果である前記種別毎のフローの集合から外れ値を検出する検出部と、を備える検証装置。
【請求項２】
前記検出部は、ＩＱＲ（Ｉｎｔｅｒ  Ｑｕａｔｉｌｅ  Ｒａｎｇｅ）に基づいて、前記外れ値を検出する請求項１に記載の検証装置。
【請求項３】
前記選択部は、前記複数種類の特徴量のうち、互いの相関の平均値が低くなる特徴量を選択する請求項１又は請求項２に記載の検証装置。
【請求項４】
前記選択部は、前記複数種類の特徴量の線形結合を含んで前記第２の特徴量群を選択する請求項１から請求項３のいずれかに記載の検証装置。
【請求項５】
前記第２の特徴量群に基づいて、複数のフローの同質性を評価する評価部と、
前記同質性の変化量に基づいて、前記外れ値を前記識別結果とは異なる種別にマージして前記識別結果を調整する調整部と、を備える請求項１から請求項４のいずれかに記載の検証装置。
【請求項６】
前記調整部は、前記外れ値を前記同質性によりクラスタ化し、クラスタ単位で前記マージの処理を行う請求項５に記載の検証装置。
【請求項７】
前記調整部は、前記マージの処理後のクラスタを、前記同質性により更にクラスタ化し、最大のクラスタを調整結果として出力する請求項６に記載の検証装置。
【請求項８】
前記調整部は、前記最大のクラスタ以外のクラスタを、新たな種別として報知する請求項７に記載の検証装置。
【請求項９】
コンピュータの制御部が、
トラヒックのフロー毎の複数種類の特徴量のうち、第１の特徴量群に基づいて、当該フローの種別を識別する識別機から、識別結果を取得する取得ステップと、
前記識別結果が得られた同一フローにおける、前記複数種類の特徴量のうち前記第１の特徴量群とは異なる種類の第２の特徴量群を選択する選択ステップと、
前記第２の特徴量群に基づいて、前記識別結果である前記種別毎のフローの集合から外れ値を検出する検出ステップと、を実行する検証方法。
【請求項１０】
コンピュータの制御部に、
トラヒックのフロー毎の複数種類の特徴量のうち、第１の特徴量群に基づいて、当該フローの種別を識別する識別機から、識別結果を取得する取得ステップと、
前記識別結果が得られた同一フローにおける、前記複数種類の特徴量のうち前記第１の特徴量群とは異なる種類の第２の特徴量群を選択する選択ステップと、
前記第２の特徴量群に基づいて、前記識別結果である前記種別毎のフローの集合から外れ値を検出する検出ステップと、を実行させるための検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別機による識別結果を検証する検証装置、検証方法及び検証プログラムに関する。
【背景技術】
【０００２】
従来、通信のネットワークを運用管理する場合、このネットワークの利用状況の変化に応じて設備の増設等が図られる。このとき、ネットワークの利用用途の種別を判別することにより、適切な設備構成によってネットワークの効率的な利用が促進される。
【０００３】
ネットワークの利用用途の種別としては、例えば、フォアグラウンド通信とバックグラウンド通信との区別、又はテキスト、動画、音声等のトラヒックのデータ種別等が挙げられる。
このようなトラヒックの識別には、トラヒックデータから抽出される特徴に基づく機械学習が適用可能である（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２７５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、機械学習に高い精度が求められる場合、誤りのない教師データセットが必要になる。しかしながら、効率化のため実験環境において教師データの収集を行う場合には、この環境に依存した偏ったデータとなりやすい。また、想定外のアプリケーションによる通信が発生し、教師データとして正しくないトラヒックデータが混入することがある。
【０００６】
したがって、収集された教師データの種別として付与されるラベルが正しいとは限らず、特に、トラヒックが暗号化されている場合には、内容の確認が困難であるため、誤ったラベルが含まれてしまう。誤ったラベルを含む教師データは、機械学習による識別性能の低下につながっていた。
【０００７】
本発明は、識別機によるトラヒックフローの識別結果を自己検証できる検証装置、検証方法及び検証プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る検証装置は、トラヒックのフロー毎の複数の特徴量のうち、第１の特徴量群に基づいて、当該フローの種別を識別する識別機から、識別結果を取得する取得部と、前記識別結果が得られた同一フローにおける第２の特徴量群を選択する選択部と、前記第２の特徴量群に基づいて、前記識別結果に対する外れ値を検出する検出部と、を備える。
【０００９】
前記検出部は、ＩＱＲ（Ｉｎｔｅｒ  Ｑｕａｔｉｌｅ  Ｒａｎｇｅ）に基づいて、前記外れ値を検出してもよい。
【００１０】
前記選択部は、前記複数の特徴量のうち、互いの相関の平均値が低くなる特徴量を選択してもよい。
【００１１】
前記選択部は、複数の特徴量の線形結合を含んで前記第２の特徴量群を選択してもよい。
【００１２】
前記検証装置は、前記第２の特徴量群に基づいて、複数のフローの同質性を評価する評価部と、前記同質性の変化量に基づいて、前記外れ値を前記識別結果とは異なる種別にマージして前記識別結果を調整する調整部と、を備えてもよい。
【００１３】
前記調整部は、前記外れ値を前記同質性によりクラスタ化し、クラスタ単位で前記マージの処理を行ってもよい。
【００１４】
前記調整部は、前記マージの処理後のクラスタを、前記同質性により更にクラスタ化し、最大のクラスタを調整結果として出力してもよい。
【００１５】
前記調整部は、前記最大のクラスタ以外のクラスタを、新たな種別として報知してもよい。
【００１６】
本発明に係る検証方法は、コンピュータの制御部が、トラヒックのフロー毎の複数の特徴量のうち、第１の特徴量群に基づいて、当該フローの種別を識別する識別機から、識別結果を取得する取得ステップと、前記識別結果が得られた同一フローにおける第２の特徴量群を選択する選択ステップと、前記第２の特徴量群に基づいて、前記識別結果に対する外れ値を検出する検出ステップと、を実行する。
【００１７】
本発明に係る検証プログラムは、コンピュータの制御部に、トラヒックのフロー毎の複数の特徴量のうち、第１の特徴量群に基づいて、当該フローの種別を識別する識別機から、識別結果を取得する取得ステップと、前記識別結果が得られた同一フローにおける第２の特徴量群を選択する選択ステップと、前記第２の特徴量群に基づいて、前記識別結果に対する外れ値を検出する検出ステップと、を実行させる。
【発明の効果】
【００１８】
本発明によれば、識別機によるトラヒックフローの識別結果を自己検証できる。
【図面の簡単な説明】
【００１９】
【図１】実施形態に係る検証装置の機能構成を示すブロック図である。
【図２】実施形態に係る外れ値の概念を例示する図である。
【図３】実施形態に係る識別結果の調整方法を例示する図である。
【図４】性能指標の比較結果を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態の一例について説明する。
図１は、本実施形態に係る検証装置１の機能構成を示すブロック図である。
検証装置１は、トラヒックのフローデータを入力とし、第１の特徴量群を識別機２へ提供して得られた識別結果と、第２の特徴量群とに基づいて、識別結果を検証する。
検証装置１は、取得部１１と、選択部１２と、検出部１３と、評価部１４と、調整部１５とを備える。
【００２１】
取得部１１は、トラヒックのフロー毎の複数の特徴量のうち、第１の特徴量群に基づいて、当該フローの種別を識別する識別機２から、識別結果を取得する。
フロー毎の複数の特徴量としては、例えば、データサイズ、パケット数、パケットサイズ、時間、スループット（サイズ／時間）等が利用される。
【００２２】
ここで、識別機２を学習させるための第１の特徴量群の選択には、種別毎にラベルが付与された教師データのクラスと特徴量との相関の平均値が高いこと、及び冗長な特徴量の選択を避けるため特徴量間の相関の平均値が低いことが求められる。このような選択手法として、例えば、「Ｍ．  Ａ．  Ｈａｌｌ，  “Ｃｏｒｒｅｌａｔｉｏｎ−ｂａｓｅｄ  Ｆｅａｔｕｒｅ  Ｓｅｌｅｃｔｉｏｎ  ｆｏｒ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ”，  Ｈａｍｉｌｔｏｎ，  ＮｅｗＺｅａｌａｎｄ，  １９９９．」において解説されている「ＣｆｓＳｕｂｓｅｔＥｖａｌ」が利用可能である。
また、識別機２は、第１の特徴量群に基づく教師データによって、例えばＪ４８等のアルゴリズムによって機械学習される。
【００２３】
選択部１２は、識別機２により識別結果が得られたフローと同一のフローにおける、第１の特徴量群とは異なる第２の特徴量群を選択する。
第２の特徴量群の選択には、ラベルは用いられず、冗長な特徴量の選択を避けるため特徴量間の相関の平均値が低いことが求められる。このような選択手法として、例えば、主成分分析（ＰＣＡ；  Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）が利用可能である。主成分分析によれば、複数の特徴量の線形結合を含んだ相関の低い第２の特徴量群が選択される。
【００２４】
検出部１３は、第２の特徴量群に基づいて、識別機２による識別結果に対する外れ値（ｏｕｔｌｉｅｒｓ）を検出する。
【００２５】
図２は、本実施形態に係る外れ値の概念を例示する図である。
この例では、第１の特徴量群であるｆ１及びｆ２を用いて、教師データによって学習された識別境界線Ａによって、各フローデータがフォアグラウンド通信（ＦＧ  ｔｒａｆｆｉｃ）とバックグラウンド通信（ＢＧ  ｔｒａｆｆｉｃ）とに識別されている。
【００２６】
このとき、図中の網掛けのフローデータが誤って識別されているとする。第１の特徴量群では、この誤りを発見できないが、検出部１３は、第１の特徴量群とは異なる第２の特徴量群によって、識別されたクラス内の外れ値として誤り、又は誤りの可能性を検出する。
【００２７】
具体的には、検出部１３は、ＩＱＲ（Ｉｎｔｅｒ  Ｑｕａｔｉｌｅ  Ｒａｎｇｅ）に基づいて、外れ値を検出する。
例えば、第１四分位値Ｑ１、第３四分位値Ｑ３、及びＩＱＲ＝Ｑ３−Ｑ１に対して、下側閾値を「Ｑ１−１．５×ＩＱＲ」、上側閾値を「Ｑ１＋１．５×ＩＱＲ」として、下側閾値より小さい値又は上側閾値より大きい値が外れ値と判定される。
ここで、より確度の高い外れ値を検出するために係数は適宜調整されてよく、例えば、下側閾値を「Ｑ１−３×ＩＱＲ」、上側閾値を「Ｑ１＋３×ＩＱＲ」としてもよい。
【００２８】
評価部１４は、第２の特徴量群に基づいて、複数のフローからなる集合の同質性を評価する。具体的には、評価部１４は、ＥＭ（Ｅｘｐｅｘｔａｔｉｏｎ  Ｍａｘｉｍｉｚａｔｉｏｎ）アルゴリズムによって同質性を評価し、調整部１５へ提供する。
【００２９】
調整部１５は、同質性の変化量に基づいて、検出された外れ値を、識別結果とは異なる種別のクラスにマージして識別結果を調整する。
このとき、調整部１５は、演算の効率化のため、複数の外れ値を同質性によりクラスタ化し、クラスタ単位でマージの処理を行ってもよい。
【００３０】
ここで、調整部１５は、以下の２つの条件を共に満たす場合に、外れ値のクラスタＯｊをクラスＣｉにマージすることを適切とみなす。
・クラスタＯｊの要素ｘｋがクラスＣｉに属していないこと（Ｆｏｒ  ａｌｌ  ｘｋ∈Ｏｊ，  ！（ｘｋ∈Ｃｉ））。
・マージしたクラスの同質性が十分に高い、すなわち、クラスタＯｊをクラスＣｉにマージすることにより同質性が向上する、又は同質性の低下率が所定未満であること。
【００３１】
このとき、適切にマージできるクラスがない外れ値、又は外れ値のクラスタは、未知のクラスである可能性があるため、調整部１５は、これらを新たなクラスの候補として報知する。
【００３２】
調整部１５は、マージの処理後のクラスタを、同質性により更にクラスタ化し、最大のクラスタを調整結果として出力してもよい。また、調整部１５は、この最大のクラスタ以外の小さなクラスタを、新たな種別の可能性があるクラスとして報知してもよい。
【００３３】
図３は、本実施形態に係る調整部１５による識別結果の調整方法を例示する図である。
この例では、識別機２により、フローデータがＣ１及びＣ２の２つのクラスに分類されている。
【００３４】
各クラスにおいて、検出部１３は、ＩＱＲに基づく外れ値を検出する。この結果、クラスＣ１は、外れ値の集合｛Ｐｉ｝と、外れ値を除いたクラス（Ｃ１−｛Ｐｉ｝）とに分けられる。同様に、クラスＣ２は、外れ値の集合｛Ｐｊ｝と、外れ値を除いたクラス（Ｃ２−｛Ｐｊ｝）とに分けられる。
【００３５】
調整部１５は、外れ値の集合（例えば｛Ｐｉ｝）を、ＥＭアルゴリズムによりクラスタリングし、クラスタ（Ｃｌ１、Ｃｌ２、・・・）を生成する。調整部１５は、これらのクラスタを、他のクラス（例えば、Ｃ２−｛Ｐｊ｝）とマージすることにより、新たなクラス（例えば、Ｃ２＿ｎｅｗ）を生成する。
【００３６】
調整部１５は、新たなクラスを、更にＥＭアルゴリズムによりクラスタリングする。調整部１５は、クラスタリングの結果得られた最大のクラスタ（例えば、Ｃ２＿ｆｉｎａｌ）を調整後のクラスとして出力し、最大のクラスタ以外のクラスタ（ｕｋ）を未知のクラスとして出力する。
【００３７】
［実施例］
本実施形態の効果を、以下の手順により評価した。
【００３８】
（１）特徴ベクトルＦを持つオリジナルの教師データセットＤを用意する。ここでは、教師データセットＤは、ＳＮＳアプリケーション（種別ａ）及びブラウジング（種別ｂ）のそれぞれのトラヒックフローから抽出されたものとする。
【００３９】
（２）Ｆ１特徴量群（第１の特徴量群）を選択し、識別機２の生成と評価を行う。
（２−１）教師データセットＤからＣｆｓＳｕｂｓｅｔＥｖａｌにより、Ｆ１特徴量群を持つデータセットＤ’を選択する。
（２−２）Ｄ’から各クラス２０サンプルずつ抽出し、テスト用データＤｔｅｓｔ１とする。
（２−３）残りを学習用データＤｔｒａｉｎとする（Ｄｔｒａｉｎ＝Ｄ’−Ｄｔｅｓｔ１）。
（２−４）Ｄｔｒａｉｎを用いてＪ４８等により学習を行い、識別機２を得る。
（２−５）識別機２により、Ｄｔｅｓｔ１の識別を行い、識別結果Ｃ＝｛Ｃ１，Ｃ２｝を得る。
（２−６）識別結果Ｃに対して性能指標を算出する。
【００４０】
ここで、性能指標は、教師データセットＤにおける現実の値（Ｘ，！Ｘ）と判定結果（Ｘ，！Ｘ）との以下の組み合わせ毎の数に基づいて算出される、適合率（Ｐｒｅｃｉｓｉｏｎ）、再現率（Ｒｅｃａｌｌ）、及びＦ値（Ｆ−ｓｃｏｒｅ）を用いる。
【００４１】
・現実の値Ｘに対して判定結果Ｘ：  ＴＰ（Ｔｒｕｅ  Ｐｏｓｉｔｉｖｅ）
・現実の値！Ｘに対して判定結果Ｘ：  ＦＰ（Ｆａｌｓｅ  Ｐｏｓｉｔｉｖｅ）
・現実の値Ｘに対して判定結果！Ｘ：  ＴＰ（Ｆａｌｓｅ  Ｎｅｇａｔｉｖｅ）
・現実の値！Ｘに対して判定結果！Ｘ：  ＴＰ（Ｔｒｕｅ  Ｎｅｇａｔｉｖｅ）
Ｐ（Ｐｒｅｃｉｓｉｏｎ）＝ＴＰ／（ＴＰ＋ＦＰ）
Ｒ（Ｒｅｃａｌｌ）＝ＴＰ／（ＴＰ＋ＦＮ）
Ｆ−ｓｃｏｒｅ＝２×Ｐ×Ｒ／（Ｐ＋Ｒ）
【００４２】
（３）検証用にＦ２特徴量群（第２の特徴量群）を選択する。
（３−１）教師データセットＤから、主成分分析により、Ｆ２特徴量群を持つデータ・セットＤ”を選択する。
（３−２）Ｄ”から２０サンプルを抽出し、テスト用データＤｔｅｓｔ２とする。ここで、Ｄ’とＤ”とは同一のトラヒックフローについてのデータであるが、互いに異なる特徴量を持つ。
【００４３】
（４）外れ値を別のクラスにマージして調整する。
（４−１）前述した識別結果の調整方法（図３）により、調整後のクラスＣ’を得る。
（４−２）Ｃ’に対して性能指標の再評価を行う。
（４−３）調整前と調整後との性能指標を比較する。
【００４４】
図４は、性能指標の比較結果を示す図である。
上段は、Ｆ１特徴量群のみにより識別した場合の評価結果である。具体的には、種別ａ及び種別ｂのそれぞれ２０サンプル（Ｄｔｅｓｔ１）に対して、識別機２による識別結果（ａ又はｂ）、評価指標（Ｐ，Ｒ，Ｆ−ｓｃｏｒｅ）及びＦ−ｓｃｏｒｅの調和平均が記載されている。
【００４５】
下段は、Ｆ２特徴量群を用いて検証装置１により検証を行い、識別結果を調整した場合の評価結果である。種別ａ及び種別ｂのそれぞれについて、識別結果（ａ又はｂ）の数が調整され、評価指標が変化している。
【００４６】
検証装置１による自己検証の結果、Ｆ−ｓｃｏｒｅが種別ａ及び種別ｂで共に向上し、平均Ｆ−ｓｃｏｒｅも向上した。
【００４７】
本実施形態によれば、検証装置１は、第１の特徴量群に基づく識別機２による識別結果のクラスそれぞれに対して、第２の特徴量群を用いて外れ値を検出する。したがって、検証装置１は、識別機２によるトラヒックフローの識別結果を自己検証できる。この結果、誤りの可能性がある識別結果又は教師データのラベルを発見できるので、識別機２の精度向上が期待できる。
【００４８】
検証装置１は、ＩＱＲに基づいて、容易に外れ値を検出できる。
また、検証装置１は、第２の特徴量群として、互いの相関の平均値が低くなる特徴量を選択できるので、検証精度及び処理効率を向上できる。
このとき、検証装置１は、主成分分析を用いることにより、特徴量の線形結合を含んだ第２の特徴量群を選択できる。これにより、検証装置１は、第１の特徴量群と共通の要素を利用して検証用の第２の特徴量群を生成できる。
【００４９】
また、検証装置１は、ＥＭアルゴリズムを用いた同質性の評価により、外れ値を識別結果と異なるクラスにマージして調整できる。したがって、検証装置１は、第１の特徴量群のみに基づく識別機２よりも信頼できる識別結果を出力できる。この結果、検証装置１は、たとえ教師データに誤りが含まれている場合にも、識別精度の低下を抑制できる。
【００５０】
このとき、検証装置１は、外れ値を同質性によりクラスタ化することにより、処理効率を向上できる。
また、検証装置１は、マージ処理後のクラスタを更にクラスタ化することにより、調整結果の精度を向上できる。さらに、検証装置１は、分離された小さなクラスタを新たな種別の可能性があるクラスとして提示することができる。
【００５１】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００５２】
検証装置１による検証方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（検証装置１）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータ（検証装置１）に提供されてもよい。
【符号の説明】
【００５３】
１  検証装置
１１  取得部
１２  選択部
１３  検出部
１４  評価部
１５  調整部
【図１】
0006541482.tif 000002
【図２】
0006541482.tif 000003
【図３】
0006541482.tif 000004
【図４】
0006541482.tif 000005