(57)【要約】  方法およびアーキテクチャは、ラベル伝搬の使用、クラスタリング、および、各データセットに対する専用分類器の作成によって、ラベルつきデータを初期化し、キュレーションすることができる。これらの専用分類器は、データセットが大きくなるにつれて再訓練され、各データセットが外れ値およびノイズのない状態を保つことを保証する。
2021526687.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のラベルが識別できるデータのセットを受け取るステップであって、データの前記セットが、多数派クラスサンプルおよび少数派クラスサンプルを含む、ステップと、
各分類処理によって、前記少数派クラスサンプル内のラベルグループを自動的に識別するために、データの前記セットの前記少数派クラスサンプルに対して複数の分類処理を実施するステップと、
選択したラベルグループを決定するために、各分類処理によって前記少数派クラスサンプルに投票するステップと、
クラスタリングした少数派データセットを生成するために、少数派クラスサンプルの前記選択したグループをクラスタリングするステップと、
前記多数派クラスサンプルのアンダーサンプリング、および前記クラスタリングした少数派データセットを使用して、機械学習分類器を生成するステップと、
キュレーションしたラベルつきデータセットを生成するステップであって、前記キュレーションしたラベルつきデータセットが、データの前記セット、および前記選択したラベルグループを含む、ステップと
を含む、方法。
【請求項２】
前記機械学習分類器が、ダイバースレジスタンス分類器をさらに備える、請求項１に記載の方法。
【請求項３】
前記複数の分類処理に前記ダイバースレジスタンス分類器を挿入するステップと、選択したラベルグループを決定するために、各分類処理によって前記少数派クラスサンプルに投票する前記ステップ、および、クラスタリングした少数派データセットを生成して、前記キュレーションしたデータセットを生成するために、少数派クラスサンプルの前記選択したグループをクラスタリングする前記ステップという、前記少数派クラスサンプルに対する前記複数の分類処理の前記実施を繰り返すステップとをさらに含む、請求項２に記載の方法。
【請求項４】
前記複数の分類器が、ＮＩＤＳアラート分類器、キルチェーン分類器、およびＳＩＥＭ分類器をさらに備える、請求項１に記載の方法。
【請求項５】
選択したラベルグループを決定するために投票するステップが、前記複数の分類器のそれぞれに等しい重みを割り当てるステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記分類器の１つまたは複数の重みを調節するステップをさらに含む、請求項５に記載の方法。
【請求項７】
前記複数の分類器のそれぞれのためのフォーマットに、前記少数派クラスサンプルを変換するステップをさらに含む、請求項１に記載の方法。
【請求項８】
前記データセットが、マルウェアデータをさらに含む、請求項１に記載の方法。
【請求項９】
少数派クラスサンプルの前記選択したグループをクラスタリングするステップが、ＤＢ  ＳＣＡＮクラスタリング法を使用するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
プロセッサ、メモリ、および、１つまたは複数のラベルが識別できるデータのセットを受け取るインターフェースを有するコンピュータシステムであって、データの前記セットが、多数派クラスサンプルおよび少数派クラスサンプルを含む、コンピュータシステムと、
データの前記セット内のラベルグループを自動的に識別するために、データの前記セット内の前記少数派クラスサンプルを処理する前記コンピュータシステムによって実行される第１の分類器と、
データの前記セット内のラベルグループを自動的に識別するために、データの前記セット内の前記少数派クラスサンプルを処理する前記コンピュータシステムによって実行される第２の分類器と
を備え、
前記コンピュータシステムが、
選択したラベルグループを決定するために、各分類処理によって前記少数派クラスサンプルに投票することと、
クラスタリングした少数派データセットを生成するために、少数派クラスサンプルの前記選択したグループをクラスタリングすることと、
前記多数派クラスサンプルのアンダーサンプリング、および前記クラスタリングした少数派データセットを使用して、機械学習分類器を生成することと、
キュレーションしたラベルつきデータセットを生成することであって、前記キュレーションしたラベルつきデータセットが、データの前記セット、および前記選択したラベルグループを含む、生成することと
を行うようにさらに構成される、
システム。
【請求項１１】
前記機械学習分類器が、ダイバースレジスタンス分類器をさらに備える、請求項１０に記載のシステム。
【請求項１２】
前記コンピュータシステムが、前記複数の分類処理に前記ダイバースレジスタンス分類器を挿入することと、選択したラベルグループを決定するために、各分類処理によって前記少数派クラスサンプルに前記投票すること、および、クラスタリングした少数派データセットを生成して、前記キュレーションしたデータセットを生成するために、少数派クラスサンプルの前記選択したグループを前記クラスタリングすることという、前記少数派クラスサンプルに対する前記複数の分類処理の前記実施を繰り返すこととを行うようにさらに構成される、請求項１１に記載のシステム。
【請求項１３】
前記第１の分類器が、ＮＩＤＳアラート分類器であり、前記第２の分類器が、キルチェーン分類器である、請求項１０に記載のシステム。
【請求項１４】
データの前記セット内のラベルグループを自動的に識別するために、データの前記セット内の前記少数派クラスサンプルを処理し、前記選択したラベルグループに対して投票するＳＩＥＭ分類器をさらに備える、請求項１３に記載のシステム。
【請求項１５】
前記コンピュータシステムが、前記分類器のそれぞれに等しい重みを割り当てるようにさらに構成される、請求項１４に記載のシステム。
【請求項１６】
前記コンピュータシステムが、前記分類器の１つまたは複数の重みを調節するようにさらに構成される、請求項１５に記載のシステム。
【請求項１７】
前記コンピュータシステムが、前記分類器のそれぞれのためのフォーマットに、前記少数派クラスサンプルを変換するようにさらに構成される、請求項１０に記載のシステム。
【請求項１８】
前記データセットが、マルウェアデータをさらに含む、請求項１０に記載のシステム。
【請求項１９】
少数派クラスサンプルの前記選択したグループをクラスタリングすることが、ＤＢ  ＳＣＡＮクラスタリング法を使用することをさらに含む、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、機械学習に関し、詳細には、教師あり機械学習のために使用されるラベルつきデータセットを拡大させることに関する。
【背景技術】
【０００２】
今日、コンピュータが、マルウェア検出などのトピックについて「学習する」ことができ、その後、マルウェア検出を実施することができる機械学習および教師あり機械学習のための多くの知られている、および、まだ発見されていない用途がある。それでも、教師あり機械学習は、正しく機能するように、安定的かつ正確なラベルつきデータセットにアクセスする必要がある。不完全なラベルつきデータセットの影響は、「Ａｕｔｏｍａｔｉｃ  Ｔｒａｉｎｉｎｇ  Ｄａｔａ  Ｃｌｅａｎｉｎｇ  ｆｏｒ  Ｔｅｘｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ，  Ｈａｓｓａｎ  Ｈ．Ｍａｌｉｋ，Ｖｉｋａｓ  Ｓ．Ｂｈａｒｄｗａｊ」などの研究で調査されてきた。図１０は、Ｉｒｉｓデータセット内の間違ったラベルつきエントリの数とともに、ランダムフォレスト分類器の正確さがどのように低下するかを示す。
【０００３】
これらのラベルつきデータセットの作成は、エラーが発生しやすく、時間のかかるものであることが多く、これが、大量のデータへのアクセスにもかかわらず、ラベルつきデータセットの不足が多く存在する理由である。典型的には、利用可能なデータセットは、サンプルがほとんどない（しばしばノイズを伴う）関心のある少数派クラス、および大量の多数派クラスのエントリを有する。
【０００４】
これらのラベルつきデータセットを生成し、ラベル伝搬を使用してデータセットを拡大させることができるのが望ましい。この分野における以前の実用的なリサーチは、ノイズ感度に注目してきており、すなわち、分類器が、ノイズの存在下で、適度にうまく実施できることを確実にする。データキュレーションについてのリサーチは、データを変換する間にデータ喪失またはエラーが導入され得るキュレーション処理自体の脅威に多く注目してきた。既存のリサーチでは、キュレーションのための主要なドライバは、ラベルの一貫性と正確さではなく、保護の必要性からのものである。
【発明の概要】
【０００５】
既存の技法のいくつかの例は、データセット内のラベルの手動検証および訂正を含む。このアプローチは、人間の検証、および、データセットが大きいことによる時間の浪費を伴うので、非常に誤差が発生しやすい。他の技法は、試験データセットのラベルだけを手動で検証し、訂正する。このアプローチは、時間の浪費は少なくなるが、間違ったラベルつきデータによって、モデル性能がどれだけ影響を受けるかを判定するのを不可能にしている。
【０００６】
別の現在の技法は、間違ったラベルつきインスタンスの可能性があるデータセット内の外れ値を識別して、除去するが、ラベルの正確さと一貫性の問題に完全に対処しているわけではない。他の技法は、ノイズレベルの増加とともに優雅に低下するが、同時に、ラベルの正確さと一貫性の問題を解決しない機械学習アルゴリズムを使用する。
【０００７】
したがって、ラベルつきデータセットが正確でなく、一貫してもいないので、ラベルを伝搬させ、これらのラベルつきデータセットを生成する既知および既存のシステムおよび方法による技術的問題が存在する。したがって、ラベルの正確さと一貫性の問題に対処するラベル伝搬のためのシステムおよび方法を提供し、この技術的問題に対する技術的解決策を提供することが望ましく、この目的に本開示は向けられる。
【図面の簡単な説明】
【０００８】
【図１】典型的な教師あり機械学習処理を示す図である。
【図２】ラベル伝搬システムをホストすることができるコンピュータシステムアーキテクチャの例を示す図である。
【図３】マルウェアファミリラベルにカテゴライズされる悪意のあるネットワークトラフィックのノイズを伴うサンプルに対して使用されるラベル伝搬システムのラベル伝搬要素のさらなる詳細を示す図である。
【図４】ノイズを伴う不安定なデータセットを、キュレーションした安定的なデータセットに拡大させるために使用されるラベル伝搬システムのラベル伝搬要素の分類器、モデル訓練、投票ブロック、およびクラスタリング処理の詳細を示す図である。
【図５】キルチェーン分類器が使用できるキルチェーンアクティビティテンプレートの例を示す図である。
【図６】ＲＩＧ＿ＥＫ変異体を検出するために、ＳＩＥＭ分類器が使用するルールの例を示す図である。
【図７】ＲＩＧ＿ＥＫ分類器ｃ３．０が多数派クラスに適用される例を示す図である。
【図８Ａ−８Ｄ】ラベル伝搬システムおよび方法の一定のユーザインターフェース画面の例を示す図である。
【図９Ａ−９Ｂ】ラベル伝搬システムおよび方法の一部を実装できる擬似コードを示す図である。
【図１０】Ｉｒｉｓデータセット内の間違ったラベルつきエントリの数とともに、ランダムフォレスト分類器の正確さがどのように低下するかを示す図である。
【図１１】分類器への実例の投票を示す図である。
【図１２Ａ】ＮＥＵＴＲＩＮＯ＿ＥＫ（ＵＲＬ構造特徴）に対するＤＢＳＣＡＮクラスタリングの結果の例を示す図である。
【図１２Ｂ】ＮＥＵＴＲＩＮＯ＿ＥＫクラスタの例を示す図である。
【発明を実施するための形態】
【０００９】
本開示は、マルウェア検出で使用するために下記で開示される要素を有するラベル伝搬システムに特に適用でき、この文脈で本開示を説明する。それでも、本システムおよび方法は、ラベル伝搬システムを様々なタイプのデータセットに使用できるので、より大きな実用性を有し、下記で論じるマルウェアの例に限定されないということ、ならびに、ラベル伝搬システムおよび方法は、下記で開示されるものとは異なって実装されてもよく、これらの他の実装形態は、本開示の範囲内にあるということが認識されよう。
【００１０】
開示のシステムおよび方法は、ラベリング処理を著しく自動化すること、およびラベルつきデータセットを拡張したときに、データが、キュレーションしたままであることを保証することによって、教師あり機械学習についてのラベルの正確さと一貫性による上記で説明した技術的問題に対する技術的解決策を提供する。システムおよびキュレーションしたデータセット自体によって使用されるデータセットの特徴は、その後、教師あり機械学習の訓練能力を有する任意のプラットフォームによる予測のために使用することができる。したがって、開示のシステムおよび方法は、正確かつ一貫したラベルを有するデータセットを生み出し、データセットは、その後、開示のシステムおよび方法によって生成された正確かつ一貫したラベルつきデータセットを利用することができるまだ開発されていない教師あり機械学習を含めて、任意の既知の教師あり機械学習のためのデータセットとして使用することができる。
【００１１】
図１は、不正確または一貫性のないラベルつきデータセットによる技術的問題を有する典型的な教師あり機械学習処理１０を示し、この教師あり機械学習は、下記で説明されるような、ラベル伝搬、およびラベル伝搬システムによって生成されたラベルつきデータセットを利用することができる。教師あり機械学習機械処理１０は、データ獲得処理１２、データラベリング処理１４、特徴抽出処理１６、モデル訓練処理１８、モデル検証処理２０、および予測処理２２を含むことができる。図１に示したように、特徴抽出処理１６、モデル訓練処理１８、およびモデル検証処理２０は、繰り返すことができる。データ獲得処理１２は、複数のクラスを有することができる１つまたは複数のデータセットなどの未加工データを集めることができる。データラベリング処理１４は、下記で説明されるラベル伝搬システムによって改善されている処理である。データラベリング処理１４は、クラス、および、クラスの選別に影響を及ぼす可能性のある属性ノイズを識別する処理を含むことができる。また、データラベリング処理１４は、クラス不均衡問題、およびこれらの問題に対処するための可能なステップを識別すること含むことができ、多数派クラスをアンダーサンプリングすること、少数派クラスをオーバーサンプリングすること、または、ＳＭＯＴＥ（Ｎ．Ｖ．Ｃｈａｗｌａ、Ｋ．Ｗ．Ｂｏｗｙｅｒ、Ｌ．Ｏ．Ｈａｌｌ、およびＷ．Ｐ．Ｋｅｇｅｌｍｅｙｅｒ（２００２年）「ＳＭＯＴＥ：Ｓｙｎｔｈｅｔｉｃ  Ｍｉｎｏｒｉｔｙ  Ｏｖｅｒ−ｓａｍｐｌｉｎｇ  Ｔｅｃｈｎｉｑｕｅ」）などの技法を使用して合成サンプルを作り出すことを含む。上記で説明したように、このラベリング処理は、既知の技法で実施することができるが、これらの既知の技法には、不正確および／または一貫性のないラベルについての技術的問題があり、教師あり機械学習に悪影響を及ぼす。対照的に、下記で説明されるラベル伝搬処理およびシステムは、上記の問題に対する技術的解決策を提供し、教師あり機械学習処理を強化する正確かつ一貫したラベルつきデータセットを提供する。図１に見えるように、大多数の教師あり機械学習処理は、不正確なまたは一貫性のないラベルつきデータが、教師あり機械学習にとって重大な技術的問題になるようなラベルつきデータ処理１４に依存する。
【００１２】
教師あり機械学習は、（ドメイン固有の）特徴抽出１６、モデル訓練１８、およびモデル検証２０を実施し、繰り返すことができ、ラベルつきデータ（およびその正確さと一貫性）が、教師あり機械学習処理の品質における非常に重要な要因になるような、ラベルつきデータに全て依存する。モデル訓練１８は、例えば、ランダムフォレスト、アダブースト、ＳＶＭ、およびロジスティック回帰など、様々な機械学習アルゴリズムを含むことができる。モデル検証２０の中で、処理は、データセットを相互検証することができる。
【００１３】
機械学習モデルが訓練され、検証されると、モデルは、信頼度閾値を用いた予測のために使用することができる。これは、ｓｃｉｋｉｔ−ｌｅａｒｎ（ｈｔｔｐ：／／ｓｃｉｋｉｔ−ｌｅａｒｎ．ｏｒｇ）、ＳＭＩＬＥ（ｈｔｔｐｓ：／／ｈａｉｆｅｎｇｌ．ｇｉｔｈｕｂ．ｉｏ／ｓｍｉｌｅ／）、またはｔｅｎｓｏｒｆｌｏｗ（ｈｔｔｐｓ：／／ｗｗｗ．ｔｅｎｓｏｒｆｌｏｗ．ｏｒｇ／）などの、任意の利用可能な機械学習ライブラリを使用して行うことができる。
【００１４】
したがって、（ラベルつきデータの正確さと一貫性に基づいて）訓練され、検証されたモデルは、正確かつ一貫したラベルつきデータで訓練したときに、最高の力を発揮する。図１０は、間違ったラベルつきエントリの数とともに、分類器の正確さがどのように低下するかを示す。
【００１５】
図２は、ラベル伝搬システムをホストすることができるコンピュータシステムアーキテクチャ１００の例を示す。システム１００は、下記で説明されるようなデータセットラベル伝搬を実施するバックエンド要素１０４に通信経路１０２で接続された、１つまたは複数のフロントエンド要素を有することができる。フロントエンド要素は、通信経路１０２に連結し、バックエンド１０４と通信することができる（図２に示したコンピューティングデバイス１０６Ａ〜１０６Ｎなどの）１つまたは複数のコンピューティングデバイス１０６を含むことができ、各コンピューティングデバイス１０６によって、各ユーザは、下記で説明されるようなバックエンドおよびその処理と対話することができる。各コンピューティングデバイス１０６は、少なくとも１つのプロセッサ、メモリ、永続ストレージ、ディスプレイ、および、コンピューティングデバイス１０６がバックエンド１０４に接続し、バックエンド１０４と通信し、バックエンド１０４とデータを交換することができるような接続回路を有することができる。１つの実施形態では、各コンピューティングデバイス１０６は、バックエンド１０４とのデータの交換、および通信を容易にする既知の、またはまだ開発されていないブラウザアプリケーション、モバイルアプリケーション、または別のアプリケーションを記憶し、（コンピューティングデバイスのプロセッサを使用して）実行することができる。フロントエンド要素は、データベース、または他のデータストレージデバイスもしくはメカニズムなどの、（図２のデータセット１０８Ａ〜データセット１０８Ｎなどの）１つまたは複数のデータセットソース１０８をさらに含むことができ、バックエンド１０４は、下記でより詳細に説明されるように、受け取ったデータセットについてのラベルを伝搬させるために、データセットからデータを受け取るインターフェースを有することができる。例えば、ひとつの例証となる例では、データセットは、マルウェアデータセットであってもよい。
【００１６】
通信経路１０２は、フロント要素とバックエンド１０４との間でデータを通信することができる経路であってもよい。経路は、１つもしくは複数のワイヤレス通信経路、１つもしくは複数の有線通信経路、または、１つもしくは複数のワイヤレス通信経路と、１つもしくは複数の有線通信経路との組合せであってもよい。例えば、１つまたは複数のワイヤレス通信経路は、セルラーネットワーク、ＷｉＦｉネットワーク、デジタルデータネットワーク、等であってもよく、有線通信経路は、インターネット、イーサネット、等であってもよい。通信経路１０２は、通信プロトコルおよびデータ転送フォーマットを含む様々なプロトコルを利用することができる。例えば、ＴＣＰ／ＩＰ、ＨＴＴＰＳまたはＨＴＴＰ、ＪＳＯＮ、ＨＴＭＬ、等を使用することができる。
【００１７】
バックエンド１０４は、データセットインターフェース１１０を含むことができ、データセットインターフェース１１０は、ラベル伝搬処理を使用して複数のラベルが伝搬されることになるデータセットを受け取る。１つの実施形態では、このインターフェースは、ＲＥＳＴベースであり、メッセージングのためにＪＳＯＮフォーマットを使用する。
【００１８】
バックエンド１０４は、ユーザインターフェース生成器１１２も含むことができ、ユーザインターフェース生成器１１２は、各コンピューティングデバイス１０６に対する、下記で説明されるような、ラベル伝搬システムおよび処理のためのユーザインターフェースを生成する。例えば、ユーザインターフェース生成器１１２は、各コンピューティングデバイス１０６からデータを集めるためのユーザインターフェースを生成することができ、各コンピューティングデバイス１０６へのラベル伝搬処理から生じたデータを表示することができる。また、バックエンド１０４は、ラベル伝搬器１１４をも含むことができ、ラベル伝搬器１１４は、入ってきたデータセットを受け取り、従来と異なる典型的でないラベル伝搬処理を実施して、（不正確なまたは一貫性のないラベルつきデータセットについての上記の技術的問題に対する技術的解決策を提供するために）データセットについての正確かつ一貫したラベルの数を拡大し、データセットは、その後、任意の教師あり機械学習処理で使用し、この教師あり機械学習処理を改善することができる。
【００１９】
図２に示したバックエンド１０４、およびその要素のそれぞれは、ハードウェア、ソフトウェア、および／または、ハードウェアとソフトウェアの組合せとして実装することができる。ハードウェアに要素を実装するとき、要素は、集積回路、ＡＳＩＣ、ステートマシンなどであってもよく、下記で説明されるような、この要素の従来と異なる非標準処理を実施するように設計／プログラムされる。ソフトウェアに要素を実装するとき、要素は、下記で説明されるように、この要素の従来と異なる非標準処理を実施するようにプロセッサを構成するような、バックエンド１０４のプロセッサによって実行することができる複数のラインのコンピュータコードであってもよい。バックエンド１０４は、１つまたは複数のコンピューティングリソースを使用して実装することができ、少なくとも１つのプロセッサ、メモリ、等を含むことができ、サーバコンピュータまたはブレードサーバなどを使用して実装することができる。
【００２０】
１つの実施形態では、コンピュータシステムアーキテクチャのハードウェアは、Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＪＶＭ）を動かすことができるオペレーティングシステムをサポートするか、実行する任意のハードウェア（少なくとも１つのプロセッサ、メモリ、ストレージ、等）であってもよい。システムによって生成され、使用されるユーザインターフェース（ＵＩ：ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）は、任意の現代のブラウザ（例えば、Ｃｈｒｏｍｅ、Ｓａｆａｒｉ、Ｆｉｒｅｆｏｘ、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（ＩＥ）、等）をクライアント側で利用することができるウェブベースであってもよいが、ＵＩバックエンドには、Ｐｙｔｈｏｎコードを動かせることへの依存がある。バックエンドは、ソフトウェアスタックを有することができ、ソフトウェアスタックは、例えば、Ａｐａｃｈｅ  Ｆｌｉｎｋ／Ｇｅｌｌｙ（このさらなる詳細は、／／ｆｌｉｎｋ．ａｐａｃｈｅ．ｏｒｇ／で見つけることができ、参照により本明細書に組み込まれる）、および、ＭｏｎｇｏＤＢ（このさらなる詳細は、ｗｗｗ．ｍｏｎｇｏｄｂ．ｃｏｍ／で見つけることができ、参照により本明細書に組み込まれる）を含むことができるが、ＲｅｔｈｉｎｋＤＢ（このさらなる詳細は、ｗｗｗ．ｒｅｔｈｉｎｋｄｂ．ｃｏｍ／で見つけることができ、参照により本明細書に組み込まれる）も使用することができる。さらに、ＡｎｇｕｌａｒＪＳを、フロントエンド／クライアントのＵＩ開発のために使用することができ、ｐｙｍｏｎｇｏを、バックエンドのために使用することができる。
【００２１】
ラベル伝搬器１１４は、ラベル伝搬の使用、クラスタリング、および、各データセットに対する専用分類器の作成によって、ラベルつきデータを初期化し、キュレーションすることができる方法およびアーキテクチャを実装する。これらの専用分類器は、データセットが大きくなるにつれて再訓練され、各データセットが外れ値およびノイズのない状態を保つことを保証する。方法は、データのセットを受け取ることと、データのセット内のラベルグループを各分類処理によって自動的に識別するためにデータのセットに対して複数の分類処理を実施することと、複数の分類処理のそれぞれによって識別したデータのセット内のラベルグループに基づいて、選択したラベルグループを決定するためにデータのセットに投票することと、キュレーションしたラベルつきデータセットを生成することであって、キュレーションしたラベルつきデータセットが、データのセットおよび選択したラベルグループを含む、生成することと、キュレーションしたデータセットを拡張するためにゲートキーパとして機能するキュレーションしたデータセットから分類器を構築することとを伴う。
【００２２】
ラベル伝搬器１１４は、システムとして実装することができ、プロセッサ、メモリ、および、データのセットを受け取るインターフェースを有する特に構成されたコンピュータシステムと、データのセットを処理してデータのセット内のラベルグループを識別するコンピュータシステムによって実行される１つまたは複数のブートストラップ分類器と、データのセットを処理して、データのセット内のラベルグループを自動的に識別するコンピュータシステムによって実行されるクラスタ器とを備え、コンピュータシステムは、分類器およびクラスタ器のそれぞれによって識別したデータのセット内のラベルグループに基づいて、選択したラベルグループを決定するためにデータのセットに投票すること、およびキュレーションしたラベルつきデータセットを生成することであって、キュレーションしたラベルつきデータセットが、データのセットおよび選択したラベルグループを含む、生成することを行うようにさらに構成される。このキュレーションしたラベルつきデータは、その後、データセットに対する専用分類器を生成するために使用され、データセットは、その後、さらなる投票の繰返しに使用される。新しいデータを受け取ると、処理を再び繰り返し、ここで、データセットが大きくなるにつれて、専用分類器の投票の重みを増加させる。
【００２３】
（データ入力層として知られることもある）データセットインターフェース１１０は、ハードウェアまたはソフトウェアインターフェースであり、データセット、およびデータセットのデータサンプルを受け取り、予測を実行する予定のデータのクラスである少数派クラス、ならびに多数派クラスなどの１つまたは複数のクラスにデータサンプルを分けるように特に構成される。多数派クラスサンプルは、このクラスの目的が、少数派クラスに属していない全てのサンプルを表すことなので、典型的には、大量に利用可能である。システムによって使用することができる例示的かつ例証的なデータセットを下記のテーブルＡ１．１に示し、ここで、２４時間に１つのＲＩＧ感染がＵＲＬアクセスログにある。完全なＵＲＬアクセスログは、２百万個を越えるＵＲＬリクエストからなるが、ＲＩＧ相互作用は、このデータセット内の３つの個々のリクエストをトリガしてきた。
【００２４】
テーブルA1.1:RIG感染を含むURLアクセスログ
【表１】
2021526687.tif 000003
2021526687.tif 000004
【００２５】
各ＵＲＬリクエストが２項分類器への入力データとみなされた場合、このデータセットは、全ての非ＲＩＧエントリが多数派クラスに属するので、２００００００対３の比率で不安定になる。教師あり機械学習アプローチを進める前に、ＲＩＧサンプルの量の著しい増加が必要である。
【００２６】
システムおよび方法の性能は、ダイバースレジスタンスアンダーサンプリング法を使用して訓練データを安定的にするときに、下記でさらに説明される、著しい量の多数派クラスサンプルを追加することによって向上させることができる。不安定なデータ入力および２項分類のシナリオは、ありふれた特殊なケースにすぎず、アプローチは、安定的なデータセットおよびマルチラベル分類のために等しく良好に機能するということに留意されたい。
【００２７】
図３は、マルウェアファミリラベルにカテゴライズされる悪意のあるネットワークトラフィックのノイズを伴うサンプルに対して使用されるラベル伝搬システムの独創的概念の一部である、従来と異なり一般的でないラベル伝搬処理を実施するラベル伝搬システムのラベル伝搬要素１１４のさらなる詳細を示す。１つの実施形態では、図３におけるラベル伝搬要素１１４の要素のそれぞれは、プロセッサが従来と異なるラベル伝搬処理を実施するように特に構成されるようなプロセッサによってそれぞれ実行することができる複数のラインのコンピュータコード／命令として実装することができる。代替として、要素のそれぞれは、従来と異なるラベル伝搬処理を実施するように構成された、特別に構成されたハードウェアデバイス（ＡＳＩＣ、集積回路、ＤＳＰ、ステートマシン、マイクロコントローラ、マイクロプロセッサ、等）を使用して実装することができる。
【００２８】
図３に示したように、ラベル伝搬要素１１４は、少数派クラスサンプル３０２および多数派クラスサンプル３０４を入力として受け取ることができる。例示的実施形態では、少数派クラスサンプルは、ノイズを伴うマルウェアデータである可能性があり（したがって、ラベル伝搬を必要とし、クラスタリングしてラベルを分ける）、多数派クラスサンプルは、ラベル伝搬システムがマルウェア検出システムとともに使用されているとき、非マルウェアログである可能性がある。それでも、ラベル伝搬システムは、システムおよび方法が、本開示で使用されるマルウェアの例に限定されないようなきれいなラベルを有することが望ましい任意のタイプのデータとともに使用することができる。図３に示したマルウェアの例では、少数派クラスサンプルは、少数派クラスサンプルのダウンロード（ＤＢＤ）キャプチャ、およびサンドボックスキャプチャによる公開ドライブを含むことができ、これらの例は、上記で説明した。これらの少数派サンプルは、既知のパケットキャプチャ技法（ＰＣＡＰ）３０６Ａを使用して入力することができる。少数派クラスサンプル３０２は、プロダクションマルウェアログをさらに含むことができる。図３の例では、多数派クラスサンプル３０４は、このクラスの意図が、予測しようとしている少数派クラス（マルウェアファミリ）の逆のクラスとして機能することなので、プロダクション非マルウェアログであってもよい。多数派クラスサンプルは、プロダクションマルウェアログとともに、既知のロギング技法３０６Ｂに入力することができる。ＰＣＡＰおよびＬＯＧ３０６Ａ、３０６Ｂは、図２に示したデータセットインターフェース１１０の一部、または図３に示したような入力層であってもよいということに留意されたい。したがって、（マルウェアの例についての）ネットワークデータサンプルのフォーマットは、ＰＣＡＰおよびＬＯＧという２つのフォーマットのうちの１つでシステムに提示することができる。ＰＣＡＰフォーマットは、ネットワークデータをキャプチャするための事実上のバイナリフォーマットであり、ＬＯＧフォーマットは似ているが、限定的なアプリケーションレベルの詳細を収める。入力データは、図３に示したような非常に多くのソースから取得される。
【００２９】
ラベル伝搬要素１１４は、図３に示したような、変換層３０８、分類層３１０（分類器のセットを含む）、訓練層３１２、投票ブロック／層３１４、およびクラスタリングブロック３１６をさらに含むことができ，これらは相互接続される。図４は、下記で説明される分類器３１０、訓練ブロック３１２、投票ブロック３１４、およびクラスタリングブロック３１６のセットの代替実施形態を示す。
【００３０】
変換層３０８では、少数派クラスサンプルは、分類器が、データを正しく解釈し、票を投じることができるような分類器ブロック３１０における利用可能な分類器のいずれかによって少数派クラスサンプルにラベルをつけるのを可能にするフォーマットに変換することができる。このサンプルのフォーマットはドメイン固有であり、システムは、特徴を抽出し、分類器が利用できるようにすることができると仮定する。図３に示したように、変換は、少数派クラスデータセットを変換するＳｕｒｉｃａｔａ  ＮＩＤＳ変換器３０８ＡおよびＰＣＡＰ２ＬＯＧコンバータ３０８Ｂを含むことができる。図示のように、少数派クラスサンプルは、ネットワーク侵入検知システム（ＮＩＤＳ：ｎｅｔｗｏｒｋ  ｉｎｔｒｕｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ  ｓｙｓｔｅｍ）アラート分類器ｃ０に、ＰＣＡＰフォーマットで、変換した３０８Ａを介して渡すことができ（この動作は、下記で説明される）、また、ＰＣＰ２ＬＯＧコンバータ３０８Ｂによって既知のＬＯＧフォーマットにコンバートすることができ、他の分類器（図３に示した例におけるキルチェーン分類器ｃ１およびＳＩＥＭ分類器ｃ２）に入力することができる。
【００３１】
分類器のセット／分類器ブロック３１０は、複数の分類器を有することができ、複数の分類器は、少数派クラスデータセットをそれぞれ受け取り、投票ブロック３１４に入力された１つまたは複数のラベル投票をそれぞれ生成する。図４に示したように、１つの実施形態では、分類器のセット３１０は、所定のラベル分類器ｃｇ０、ルールベースの分類器ｃｇ１、手動式分類器ｃｇ２、〜、およびデータセット（１つの例ではマルウェア）専用機械学習分類器ＤＲを含むことができる。第１の繰返しでは、分類器ブロック３１０は、利用可能な任意の分類器を利用することによって、ラベリング処理のブートストラップを担当する。ラベリング処理をブートストラップするために少なくとも１つの分類器が必要であり、最後の手段として、処理は、手動式処理（分類器ｃｇ２）であってもよい。しばしば、署名／ルールベースのシステムを使用することができ（分類器ｃｇ１）、またはデータセットは、予めラベルをつけられ、このアーキテクチャでは分類器ｃｇ０によって表される。
【００３２】
図３に示した別の実施形態では、分類器のセット３１０は、ＮＩＤＳアラート分類器ｃ０、キルチェーン分類器ｃ１、ＳＩＥＭ分類器ｃ２、およびデータセットＭＬ分類器ｃ３．１を含む、ラベル投票処理をブートストラップするための３つの分類器を有することができる。
【００３３】
ＮＩＤＳ分類器ｃ０は、ネットワークベースの侵入検知システムからの出力（ＥＶＥ  ＪＳＯＮフォーマット）を受け取り、投票にアラートをマッピングする。この分類器によって実施されるラベルマッピングに対するアラートの例を、例示的なマルウェアデータ実施形態として、下記のテーブルＡ１．２に示す。
【００３４】
テーブルA1.2:NIDS分類器c0についての投票マッピングに対するNIDSアラートの例
【表２】
2021526687.tif 000005
【００３５】
キルチェーン分類器ｃ１は、票を投じたときの、ドライブバイダウンロード（ＤＢＤ：Ｄｒｉｖｅ−ｂｙ−Ｄｏｗｎｌｏａｄ）およびコマンドアンドコントロール（Ｃ＆Ｃ：Ｃｏｍｍａｎｄ−ａｎｄ−Ｃｏｎｔｒｏｌ）シナリオの典型的なシーケンス特性を活用する。より具体的には、キルチェーン分類器ｃ１は、ｗｗｗ．ｌｏｃｋｈｅｅｄｍａｒｔｉｎ．ｃｏｍ／ｃｏｎｔｅｎｔ／ｄａｍ／ｌｏｃｋｈｅｅｄ／ｄａｔａ／ｃｏｒｐｏｒａｔｅ／ｄｏｃｕｍｅｎｔｓ／ＬＭ−Ｗｈｉｔｅ−Ｐａｐｅｒ−Ｉｎｔｅｌ−Ｄｒｉｖｅｎ−Ｄｅｆｅｎｓｅ．ｐｄｆにおいて、２０１４年５月１日に検索したＬｏｃｋｈｅｅｄ  Ｍａｒｔｉｎ−Ｃｙｂｅｒ  Ｋｉｌｌ  Ｃｈａｉｎ，Ｃａｍｐａｉｇｎｓ  ａｎｄ  Ｉｎｔｒｕｓｉｏｎ  Ｋｉｌｌ  Ｃｈａｉｎｓの記事（記事は、参照により本明細書に組み込まれる）によって開示されたものなどの、サイバーセキュリティキルチェーンに、データセット内のホストおよびＩＰ−アドレスをマッピングする。キルチェーン分類器に実装されたアクティビティテンプレートルールの例を図５に示す。これらのアクティビティテンプレートは、（悪意のあるランディングページへのリダイレクトの前にＣ＆Ｃアクティビティが起こるのを防ぐことなど）キルチェーンシーケンスが検知可能であることを確実にすることによってラベリングの間違いを防ぐ。
【００３６】
この分類器からの実例の投票を図１１に示し、ここで、「ＤＢＤアクティビティテンプレート」は、キルチェーン状態「ＥＸＰＬＯＩＴＡＴＩＯＮ＿ＤＥＬＩＶＥＲＹ＿ＣＬＩＥＮＴ」への投票を追加する。このテンプレートは、キルチェーン状態「ＣＯＭＰＲＯＭＩＳＥＤ＿ＳＩＴＥ」および「ＤＥＬＩＶＥＲＹ」についての候補が満たされた直後に、共有ソースによるバイナリダウンロードが見られるときに、アクティブになる。
【００３７】
ＳＩＥＭ分類器ｃ２は、特定のマルウェアファミリについてのアラートを生成するルールを収める。これらのルールは、統計学的性質および正規表現に基づくことができる。ＳＩＥＭ分類器の一部であるルールエンジンは、例えば、（ｇｉｔｈｕｂ．ｃｏｍ／ｅｓｐｅｒｔｅｃｈｉｎｃ／ｅｓｐｅｒにおいて開示され、参照により本明細書に組み込まれる）Ｅｓｐｅｒと呼ばれるＣＥＰエンジンを使用して実装することができる。図６は、ＲＩＧ＿ＥＫ変異体を検出するための、ＳＩＥＭ分類器のルールエンジンにおけるルールの例である。これらのルールは、主に、時間的特徴、統計学的性質、および正規表現を使用して、悪意のある挙動の一意の性質を識別する。これは、偵察、搾取、横方向の動き、およびＣ＆Ｃアクティビティについてのパターンを含むがこれらに限定されない。
【００３８】
分類器のそれぞれは、ＭＬ分類器ｃ３．１（下記でより詳細に説明される）を含めて、上記で説明したようなラベルへのもう１つの票を生成することができ、票は、図３〜図４に示したような投票ブロック３１４に供給することができる。投票ブロックは票を処理し、それぞれの識別したラベルに対して行われることになる集約分類（ｃｏｌｌｅｃｔｉｖｅ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ）およびエンティティ解決（ｅｎｔｉｔｙ  ｒｅｓｏｌｕｔｉｏｎ）を生成する。最初に、投票結果モジュールは、分類器間で重みを均一に分散した等しい値の全ての分類器の投票を扱う。これらの重みは、訓練ブロック３１２を参照しながら下記で説明するような、システムのそれぞれの繰返しの間に調節される。投票結果モジュールは、クラスタ処理３１６にラベルつきサンプルを出力する。
【００３９】
いくつかの実施形態では、投票ブロック３１４は、最終的なラベルに決定する前に、全ての分類器がその票を投じるまで待つことができる。最初に、各分類器の重みを固定値にセットし、多数派の投票を実行する。同点が発生すると、システムは、解決のためにドメインエクスポートへのシナリオを強調する。同じ種類の全てのラベルを同じデータセット内に置き、クラスタリングブロック３１６に送る。
【００４０】
クラスタ処理３１６は、教師なし機械学習を使用して、サンプルをサブグループにクラスタリングすることができる。このブロックによって使用されるクラスタリングアルゴリズムは、自力でクラスタの数を決定し、外れ値を分離できる必要がある。例えば、既知のＤＢＳＣＡＮ法を使用することができ、ＤＢＳＣＡＮ法は、Ｅｓｔｅｒ  Ｍ，Ｋｒｉｅｇｅｌ  ＨＰ，Ｓａｎｄｅｒ  Ｊ，Ｘｕ  Ｘによる記事「Ａ  ｄｅｎｓｉｔｙ−ｂａｓｅｄ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｄｉｓｃｏｖｅｒｉｎｇ  ｃｌｕｓｔｅｒｓ  ｉｎ  ｌａｒｇｅ  ｓｐａｔｉａｌ  ｄａｔａｂａｓｅｓ  ｗｉｔｈ  ｎｏｉｓｅ」、１９９６年  Ｄｉ  ｄａｌａｍ：Ｓｉｍｏｕｄｉｓ  Ｅ，ｅｄｉｔｏｒ．Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ２ｎｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ａｎｄ  Ｄａｔａ  Ｍｉｎｉｎｇ（ＫＤＤ−９６）；１９９６年８月４日〜６日  ｈｌｍ  ２２６−２３１で説明され、参照により本明細書に組み込まれる。クラスタリング処理は、使用される特徴および距離メトリックに基づいて、データセットをサブセットにグループ化する。図１２Ａは、ＤＢＳＣＡＮを使用したＮＥＵＴＲＩＮＯ＿ＥＫ  ＵＲＬ構造をクラスタリングした結果を示し、ここで、ｔ分布型確率的近傍埋め込み法（ｔ−ＳＮＥ：ｔ−Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｔｏｃｈａｓｔｉｃ  Ｎｅｉｇｈｂｏｒ  Ｅｍｂｅｄｄｉｎｇ）を、次元を２まで減らす技法として使用する。図１２Ｂは、ＮＥＵＴＲＩＮＯ＿ＥＫ  ＵＲＬクラスタ例の例を示す。
【００４１】
より詳細には、クラスタリング処理３１６は、投票ブロック３１４からラベルつきデータセットを受け取り、クラスタリング処理を適用する。１つの例では、クラスタリングのためにＤＢＳＣＡＮを使用し、ＤＢＳＣＡＮについてのパラメータ（半径＋ｍｉｎＰｔｓ）および距離メトリックをドメインに合わせる（ＴＣＰ／ＩＰベースのネットワークキャプチャ）。次に、クラスタリングしたデータセットは、図３に示したような訓練ブロック３１２に送る。
【００４２】
モデル訓練または訓練ブロック３１２は、モデル訓練の処理を実施することができ、クラスタリングしたデータセットは、訓練ブロック３１２に入力することができる。訓練ブロック３１２は、多数派クラスのランダムなアンダーサンプリングを実施して、入力データの２つのクラスのバランスをとることができる。入力データは、以下からなる。
・  少数派データセット
（同じＤＢＳＣＡＮクラスタに属した）類似のサンプルからなり、固定ラベルを有するデータセット。実例の入力データセットは、
ＲＩＧ＿ＥＫ＿ｃｌｕｓｔｅｒ０．ｊｓｏｎ
ＮＥＵＴＲＩＮＯ＿ＥＫ＿ｃｌｕｓｔｅｒ３．ｊｓｏｎ
ＦＩＥＳＴＡ＿ＥＫ＿ｃｌｕｓｔｅｒ０．ｊｓｏｎ
である。
・多数派データセット
少数派クラスに一致するサンプルを何も含まないプロダクションからキュレーションしたデータのデータセット。このキュレーションは、公開ブラックリストおよび評判サービスを使用して行われる。
【００４３】
少数派データセットに一致するように、多数派データセットをランダムにアンダーサンプリングすることによって、クラス不均衡に対処する。このマージされたデータセットのサブセットを使用して、（Ａ．Ｌｉａｗ  ａｎｄ  Ｍ．Ｗｉｅｎｅｒ（２００２年）．Ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ａｎｄ  Ｒｅｇｒｅｓｓｉｏｎ  ｂｙ  ｒａｎｄｏｍＦｏｒｅｓｔ．Ｒ  Ｎｅｗｓ  ２（３）、１８−２２で説明され、参照により本明細書に組み込まれる）初期のランダムフォレストの（ｃ３．０という名前の）機械学習分類器を訓練する。
【００４４】
次に、この初期の分類器を多数派クラス内の全てのエントリに適用し、各サンプルは、分類器のクラス信頼度レベルに基づいてビンの中に置かれる。次に、これらのビンを使用して、多数派クラスから均一にアンダーサンプリングすることによって、新しい安定的なデータセットを作り出す。この方法は、多数派クラスの利用（「レジスタンス」）を最大化することによって、機械学習分類器ｃ３．１を作り出すことを可能にする。図７に例を示し、ここでは、ＲＩＧ＿ＥＫ分類器ｃ３．０を多数派クラスに適用する。
【００４５】
このようにして、多数派クラスサンプルのダイバースレジスタンスに専用データセット分類器をさらす。このように訓練された専用データセット分類器を、図４に示したように、ＤＲ−分類器と呼ぶ。訓練ブロック３１２がＤＲ−分類器を生み出すと、ＤＲ−分類器は、分類器ブロック３１０に挿入され、自動キュレーション処理が確立される。次に、分類器ｃ３．１は、分類器ブロックのメンバとして追加され、処理の将来の繰返しに関与する。分類器ｃ３．１の票の重みは、クラスタあたりのサンプルの数が増加するにつれて、徐々に増加させることができる。
【００４６】
１つの実施形態では、システムは、図９Ａおよび図９Ｂにおける擬似コードを使用して実装することができる。コードは、有名な、グラフのためのＳｃａｔｔｅｒ／Ｇａｔｈｅｒ（Ｓｉｇｎａｌ／Ｃｏｌｌｅｃｔとしても知られる）処理モデルを使用したＦｌｉｎｋ／Ｇｅｌｌｙコードであってもよく、さらなる情報は、ｃｉ．ａｐａｃｈｅ．ｏｒｇ／ｐｒｏｊｅｃｔｓ／ｆｌｉｎｋ／ｆｌｉｎｋ−ｄｏｃｓ−ｒｅｌｅａｓｅ−１．３／ｄｅｖ／ｌｉｂｓ／ｇｅｌｌｙ／ｉｔｅｒａｔｉｖｅ＿ｇｒａｐｈ＿ｐｒｏｃｅｓｓｉｎｇ．ｈｔｍｌ＃ｓｃａｔｔｅｒ−ｇａｔｈｅｒ−ｉｔｅｒａｔｉｏｎｓで見つけることができ、参照により本明細書に組み込まれる。したがって、このＳｃａｔｔｅｒ／Ｇａｔｈｅｒアプローチは、二部グラフセットアップおよび重みつき投票と組み合わせて、ラベルを決定するために使用するものである。
【００４７】
図８Ａは、システムのユーザが利用できる起動方法を示し、ここで、キュレーション処理は、バックエンドインターフェース１０４へのアクティブ接続の有無にかかわらず行うことができる。システムは、競合する手動式投票を異なるユーザが投入するシナリオをサポートするためにユーザ識別も行う。この場合、別個の手動式分類器を、各ユーザに対して起動することになる。
【００４８】
図８Ｂは、データセットを選択して見直すためのユーザインターフェースを示し、ここで、（ＰｉｔｂｏｓｓＩＤ要素を含む）システムは、システムの全体にわたって一意のデータセット識別子として使用される。「Ｄ」列は、データセットの継続時間を表し、「Ｏ」列は、データセット内にラベルを有することができるオブザーバブルの数である。
【００４９】
図８Ｃは、データセットの詳細なビューを示し、ここで、上のテーブルは、全てのオブザーバブル、および各オブザーバブルに割り当てられた現在のラベルを示す。このテーブル内のオブザーバブルを選択すると、各分類器からの各票の重み／強度を示す「票」という名前の真ん中のテーブルを更新する。下のテーブルは、選択したオブザーバブルについての正規化したデータセットの内容を示し、任意選択の設定は、特定のデータセットタイプ（プロキシ、ファイアウォール、またはＤＮＳタイプ）にビューを制限するためのものである。
【００５０】
図８Ｄは、ＤＲ分類器ＭＬ３．１の自動作成が今完了したことを除いて、図８Ｃにおけるものと同じ詳細なビューを示す。この分類器は、ＲＩＧ＿ＥＫアクティビティを識別することに注目し、他の分類器の強度／重みを低くした。この分類器についてのデータセットが大きくなるにつれて、他の分類器（ＮＩＤＳｃ０、ＫＣｃ１、およびＳＩＥＭｃ２）の強度／重みが、徐々に弱くなる。
【００５１】
１つの実施形態では、システムは、Ｉｒｉｓデータセット（ｈｔｔｐｓ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｉｒｉｓ＿ｆｌｏｗｅｒ＿ｄａｔａ＿ｓｅｔ）上で利用することができ、ここで、目標は、機械学習分類器を訓練して、花びらの長さ、花びらの幅、萼片の長さ、および萼片の幅という４つの特徴に基づいて、アイリスの花の種（セトサ、バージニカ、またはバージカラー）を予測することである。この参照データセットは、公的に利用可能であり、正しくラベルをつけられ、安定している（各クラスが、正確な測定による５０個サンプルを収める）。現実のシナリオでは、データコレクション処理は、１０００個のサンプルのセトサ、５００個のバージニカ、および５０個のバージカラーを見つけることなどの、難題に遭遇する可能性がある。データコレクション処理は誤差も含み、ここで、セトサ種およびバージニカ種のおよそ１０％に間違ったラベルがついている（バージニカとラベルがついたセトサ、逆もまた同様）。
【００５２】
このシナリオでは、本発明／システムは、新しいサンプルの継続的な収集、および測定を可能にし、ここで、３つのＤＲ−分類器が作り出される（セトサｃ３．１、バージニカｃ４．１、およびバージカラーｃ５．１）。最初にキュレーションしたデータセットは、１５０個のエントリの安定的なデータセットからなり、ここで、クラスタリング処理は、セトサ／バージニカのラベルのつけ間違いの影響を減らしている。より多くの測定値が取得されるにつれて、バージカラーのサンプルの数は、キュレーションしたデータセットをどれだけ素早く拡大できるかを明らかにするが、ラベリング処理は、ＤＲ分類器に徐々に移行することができる。ダイバースレジスタンスアプローチは、キュレーションしたデータセット内のセトサおよびバージニカのサンプルのアンダーサンプリングしたセットを選んで、データセットを依然として安定に保ちつつ、クラス選別を最大化することを保証することになる。
【００５３】
前述の説明は、説明のために、特定の実施形態を参照しながら説明してきた。それでも、上記の例証的な議論は、網羅的であること、または、開示された厳密な形に本開示を限定することを意図するものではない。上記の教示を考慮して、多くの修正および変更が可能である。本開示の原理、およびその実用的な用途を最もよく説明し、それにより、想定される特定の使用に適するような様々な修正とともに、本開示および様々な実施形態を当業者が最もうまく利用できるように、実施形態を選び、説明した。
【００５４】
本明細書で開示したシステムおよび方法は、１つもしくは複数の構成要素、システム、サーバ、アプライアンス、他のサブコンポーネントによって実装するか、または、このような要素間に分散させることができる。システムとして実装するとき、このようなシステムは、特に、汎用コンピュータにおいて見つかるソフトウェアモジュール、汎用ＣＰＵ、ＲＡＭ、等などの構成要素を含む、および／または伴うことができる。イノベーションがサーバ上にある実装形態では、このようなサーバは、汎用コンピュータにおいて見つかるものなどの、ＣＰＵ、ＲＡＭ、等などの構成要素を含むか、伴うことができる。
【００５５】
追加として、本明細書におけるシステムおよび方法は、上記で記載したもの以上の、完全に異なるまたは全面的に異なるソフトウェア、ハードウェア、および／またはファームウェア構成要素を伴う実装形態によって達成することができる。本発明と関連付けられるか、本発明を具現化する、このような他の構成要素（例えば、ソフトウェア、処理構成要素、等）、および／またはコンピュータ可読媒体について、例えば、本明細書におけるイノベーションの態様は、非常に多くの汎用または特殊用途のコンピューティングシステムまたは構成と一致して実装することができる。本明細書におけるイノベーションとともに使用するのに適した可能性のある様々な例示的なコンピューティングシステム、環境、および／または構成は、ルーティング／接続構成要素、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、コンシューマ電子デバイス、ネットワークＰＣ、他の既存のコンピュータプラットフォーム、上記のシステムまたはデバイスの１つまたは複数を含む分散コンピューティング環境、等など、パーソナルコンピュータ、サーバ、またはサーバコンピューティングデバイス上に含まれる、または具現化されるソフトウェアまたは他の構成要素を含むことができるがこれらに限定されない。
【００５６】
いくつかの事例では、システムおよび方法の態様は、例えばこのような構成要素または回路機器を伴って実行されるプログラムモジュールを含むロジックおよび／もしくはロジック命令を介して達成すること、またはこれらによって実施することができる。一般に、プログラムモジュールは、本明細書における特定のタスクを実施するか、または特定の命令を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含むことができる。また、本発明は、分散型ソフトウェア、コンピュータ、または回路設定の背景で実践することもでき、ここで、回路機器は、通信バス、回路機器、またはリンクを介して接続される。分散型環境では、制御／命令は、メモリストレージデバイスを含むローカルとリモート両方のコンピュータストレージ媒体から発生してもよい。
【００５７】
本明細書におけるソフトウェア、回路機器、およびコンポーネントは、１つまたは複数のタイプのコンピュータ可読媒体も含むこと、および／または利用することができる。コンピュータ可読媒体は、このような回路および／またはコンピューティング構成要素上に常駐している、これらと関連付けることができる、または、これらによってアクセスできる任意の利用可能な媒体であることが可能である。例として、また限定ではなく、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含むことができる。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のために、任意の方法または技術で実装された揮発性および不揮発性の、取外し可能および取外し不能媒体を含む。コンピュータストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学ストレージ、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、所望の情報を記憶するために使用することができ、コンピューティング構成要素によってアクセスできる他の任意の媒体を含むがこれらに限定されない。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、および／または他の構成要素を含むことができる。さらに、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体を含むことができるが、本明細書における任意のこのようなタイプの媒体は、一時的な媒体を含まない。上記のいずれかの組合せも、コンピュータ可読媒体の範囲に含まれる。
【００５８】
本説明では、用語構成要素、モジュール、デバイス、等は、様々な方式で実装することができる任意のタイプの論理的または機能的ソフトウェア要素、回路、ブロック、および／または処理を指すことができる。例えば、様々な回路および／またはブロックの機能は、他の任意の数のモジュールに互いに組み合わせることができる。各モジュールは、本明細書におけるイノベーションの機能を実装するために、中央処理装置によって読み込まれることになる、有形メモリ（例えば、ランダムアクセスメモリ、リードオンリメモリ、ＣＤ−ＲＯＭメモリ、ハードディスクドライブ、等）に記憶したソフトウェアプログラムとして実装することさえできる。または、モジュールは、汎用コンピュータに、もしくは処理／グラフィックスハードウェアに、伝送搬送波を介して伝送されるプログラミング命令を含むことができる。また、モジュールは、本明細書におけるイノベーションによって包含される機能を実装するハードウェア論理回路機器として実装することができる。最後に、モジュールは、所望のレベル性能およびコストをもたらす特殊用途命令（ＳＩＭＤ命令）、フィールドプログラマブルロジックアレイ、またはその任意の混合を使用して実装することができる。
【００５９】
本明細書で開示したように、本開示と一致した特徴は、コンピュータハードウェア、ソフトウェア、および／またはファームウェアを介して実装することができる。例えば、本明細書で開示したシステムおよび方法は、データベース、デジタル電子回路機器、ファームウェア、ソフトウェア、またはこれらの組合せも含むコンピュータなどの、例えばデータプロセッサを含む様々な形で具現化することができる。さらに、開示の実装形態のうちのいくつかは、特定のハードウェア構成要素を説明するが、本明細書におけるイノベーションと一致したシステムおよび方法は、ハードウェア、ソフトウェア、および／またはファームウェアの任意の組合せによって実装することができる。その上、本明細書におけるイノベーションの、上記に記した特徴および他の態様、ならびに原理は、様々な環境で実装することができる。このような環境および関連アプリケーションは、本発明による様々なルーチン、処理、および／もしくは動作を実施するために特に構築することができ、または、これらは、必要な機能を提供するために、コードによって選択的にアクティブにされた、もしくは再構成された汎用コンピュータもしくはコンピューティングプラットフォームを含むことができる。本明細書で開示した処理は、本来的には、どの特定のコンピュータ、ネットワーク、アーキテクチャ、環境、または他の装置にも関連しておらず、ハードウェア、ソフトウェア、および／またはファームウェアの適切な組合せによって実装することができる。例えば、本発明の教示に従って書かれたプログラムとともに、様々な汎用マシンを使用することができ、または、必要な方法および技法を実施するために特化された装置もしくはシステムを構築することがより便利である可能性がある。
【００６０】
ロジックなど、本明細書で説明した方法およびシステムの態様は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、プログラマブルアレイロジック（「ＰＡＬ」）デバイス、電気的プログラマブルロジックおよびメモリデバイスおよび標準セルベースのデバイス、ならびに特定用途向け集積回路などのプログラマブルロジックデバイス（「ＰＬＤ」）を含んだ、様々な回路機器のいずれかにプログラムされた機能として、同様に実装される。態様を実装するための他のいくつかの可能性は、メモリデバイス、（ＥＥＰＲＯＭなどの）メモリを伴うマイクロコントローラ、埋込型マイクロプロセッサ、ファームウェア、ソフトウェア、等を含む。さらに、態様は、ソフトウェアベースの回路エミュレーション、ディスクリートロジック（連続および組合せ）、カスタムデバイス、ファジー（神経）ロジック、量子デバイス、ならびに、上記のデバイスタイプのいずれかのハイブリッドを有するマイクロプロセッサで具現化することができる。基礎となるデバイス技術は、例えば、相補型金属酸化膜半導体（「ＣＭＯＳ」）のような金属酸化膜半導体電界効果トランジスタ（「ＭＯＳＦＥＴ」）技術、エミッタ結合型ロジック（「ＥＣＬ」）のようなバイポーラ技術、ポリマー技術（例えば、シリコン共役高分子および金属共役高分子金属構造）、混合型アナログおよびデジタル、など、様々な構成要素のタイプで提供することができる。
【００６１】
本明細書で開示した様々なロジックおよび／または機能は、これらの行動、レジスタ転送、ロジック構成要素、および／もしくは他の特性の観点から、ハードウェア、ファームウェアの任意の数の組合せを使用して、ならびに／または、様々な機械可読もしくはコンピュータ可読媒体にで具現化されるデータおよび／もしくは命令として、可能にされてもよいということにも留意されたい。このようなフォーマットされたデータおよび／または命令を具現化することができるコンピュータ可読媒体は、様々な形式の不揮発性ストレージ媒体（例えば、光、磁気、または半導体ストレージ媒体）を含むがこれらに限定されず、やはり、一時的な媒体を含まない。文脈が別途明確に要求しない限り、説明の全体にわたって、単語「備える（ｃｏｍｐｒｉｓｅ）」、「備える（ｃｏｍｐｒｉｓｉｎｇ）」などは、排他的または網羅的な意味とは対照的に、包括的な意味で、つまり、「含むがこれらに限定されない（ｉｎｃｌｕｄｉｎｇ，ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」の意味で解釈されるべきである。単数または複数の数を使用する単語は、複数または単数の数もそれぞれ含む。追加として、単語「本明細書で（ｈｅｒｅｉｎ）」、「下文に（ｈｅｒｅｕｎｄｅｒ）」、「上記の（ａｂｏｖｅ）」、「下記の（ｂｅｌｏｗ）」、および類似の意味の単語は、全体として本出願を指し、本出願の任意の特定の部分を指さない。２つ以上の項目のリストへの参照として単語「または」を使用するとき、この単語は、リスト内の項目のいずれか、リスト内の項目の全て、および、リスト内の項目の任意の組合せという単語の解釈の全てをカバーする。
【００６２】
本発明の一定の現時点の好ましい実装形態を本明細書で特に説明してきたが、本明細書で示し、説明した様々な実装形態の変更および修正を、本発明の趣旨および範囲から逸脱することなく行うことができるということが、本発明が関係する当業者には明らかであろう。したがって、本発明は、法律の適用可能なルールによって要求される範囲にのみ限定されるということを意図するものである。
【００６３】
前述は、本開示の特定の実施形態を参照しながらのものであったが、本実施形態の変更は、本開示の原理および趣旨から逸脱することなく行うことができ、その範囲は、添付の特許請求の範囲によって定義されるということが当業者によって認識されよう。
【図１】
2021526687.tif 000006
【図２】
2021526687.tif 000007
【図３】
2021526687.tif 000008
【図４】
2021526687.tif 000009
【図５】
2021526687.tif 000010
【図６】
2021526687.tif 000011
【図７】
2021526687.tif 000012
【図８Ａ】
2021526687.tif 000013
【図８Ｂ】
2021526687.tif 000014
【図８Ｃ】
2021526687.tif 000015
【図８Ｄ】
2021526687.tif 000016
【図９Ａ】
2021526687.tif 000017
【図９Ｂ】
2021526687.tif 000018
【図１０】
2021526687.tif 000019
【図１１】
2021526687.tif 000020
【図１２Ａ】
2021526687.tif 000021
【図１２Ｂ】
2021526687.tif 000022
【国際調査報告】
2021526687.tif 000023