異常検出タスク05:高次元の異常

Task05:高次元の異常

メインコンテンツ:

  • 機能のバギング
  • 孤立森林

1.高次元データ異常検出の特異性の概要

高次元のデータ異常検出とは、実際には、一部のデータセットの次元が多いことを意味します。データの次元が増えると、データのサイズが急激に大きくなる一方で、データがまばらに見える場合があります。状況は次元の呪いと呼ばれます。次元の呪いは距離の計算に問題を引き起こし、それがクラスタリング手法に困難をもたらします。
特に距離の計算では、高次元のデータであるため、すべての点の距離がほぼ等しく、距離による異常点の判断が無効になる場合があります。

2.高次元データ異常検出のアイデア

1.主成分分析による次元削減を実行し、異常点判定(コンテンツの線形部分)のために固有値の低い次元削減機能を選択します
。2。アンサンブルのアイデアを通じて。
統合方法は、複数のアルゴリズムまたは複数のベースを検出します。コンバーターの出力結合されます。**基本的な考え方は、一部のアルゴリズムは一部のサブセットで適切に機能し、一部のアルゴリズムは他のサブセットで適切に機能し、それらを統合して出力をより堅牢にすることです。**統合された方法は、部分空間ベースの方法と自然に類似しています。部分空間は、さまざまなポイントセットに関連しています(実際には、ブートストラップ法)。統合された方法は、ベース検出器を使用してさまざまな次元のサブセットを探索し、学習します。これらのベース。組み立てます。

3.統合方法1-機能のバギング

3.1バギングの意味

バギングという用語は、ブートストラップ集約(セルフサービス集約)であり、データのモデルのセットを構築する方法を指します。

ブートストラップ法の意味は、サンプル自体からより多くのサンプルを抽出して置換し、各リサンプルの統計またはモデルを再計算することです。

ブートストラップ法は、多変量データにも使用できます。このとき、このメソッドはデータ行をサンプリングユニットとして使用し、セルフサービスデータでモデルを実行して、モデルパラメーターの安定性(または変動性)を推定したり、モデルの予測能力を向上させたりできます。たとえば、分類ツリーと回帰ツリー(決定木とも呼ばれます)を使用して、セルフサービスデータで複数のツリーモデルを実行し、複数のツリーによって与えられた予測値を平均することができます(または分類を使用して多数決を選択します)。通常、単一のツリーを使用するよりも優れた予測パフォーマンスがあります。このプロセスは、バギング法と呼ばれます。

3.2機能のバギング

機能バギングの基本的な考え方は、オブジェクトが機能(機能)であるという点を除いて、バギングの考え方と似ています。つまり、変数のみがサンプリングされ、レコードはサンプリングされません。機能バギングは、リサンプリングされます複数のデータセットを得るために、試料の特性に応じて、その後、これらのデータ・セットを訓練するセット(複数の)モデルを使用します
(ランダムフォレストのように)

統合方法の設計には、主に2つのステップがあります。

1.ベース検出器またはモデルを選択します

これらの基本的な検出器は、互いに完全に異なる場合もあれば、パラメーター設定が異なる場合もあります。また、サンプリングされたサブデータセットが異なる場合もあります。基本アルゴリズムとして一般的に使用される機能バギングlofアルゴリズム。次の図は、機能バギングの一般的なアルゴリズムです
ここに画像の説明を挿入
。2。スコアの標準化と組み合わせ方法:

検出器が異なれば、異なるスケールでスコアが生成される場合があります。たとえば、平均k最近傍検出器は元の距離スコアを出力しますが、LOFアルゴリズムは正規化された値を出力します。さらに、一般的な状況では、より大きな外れ値スコアが出力されますが、一部の検出器は、より小さな外れ値スコアを出力します。したがって、さまざまな検出器からのスコアを、意味のある組み合わせが可能な正規化された値に変換する必要があります。スコアが標準化された後、さまざまな基本検出器のスコアを組み合わせるために組み合わせ関数を選択する必要があります。最も一般的な選択肢には、組み合わせ関数の平均化と最大化が含まれます。

以下は、2つのフィーチャバギングの2つの異なる組み合わせ方法です
。1)幅優先:
ここに画像の説明を挿入
2)累積合計
ここに画像の説明を挿入
ベース検出器の設計とその組み合わせ方法はすべて、特定の積分方法の特定の目標に依存します。多くの場合、データの元の分布を知ることはできず、データの一部からしか学ぶことができません。さらに、アルゴリズム自体にも、データの完全な情報を学習できないという特定の問題がある場合があります。これらの問題によって引き起こされるエラーは、通常、バイアスと分散の2つのタイプに分けられます。

分散:アルゴリズムの出力結果とアルゴリズムの期待される出力の間の誤差を指し、モデルの分散の程度とデータの変動性を表します。

偏差:予測値と真の値の差を指します。外れ値検出問題で利用可能な基本的な真理値がない場合でも

4.統合方法2-孤立林(孤立林)

Isolation Forest(Isolation Forest)アルゴリズムは、周志華教授らが2008年に提案した異常検出アルゴリズムです。機械学習における異常検出用に特別に設計された珍しいアルゴリズムの1つです。この方法は、時間効率が高く、高い処理を効果的に処理できます。サンプルにラベルを付ける必要のない次元データと大量のデータは、業界で広く使用されています。
ツリーアルゴリズムアイデアのソースは非常に単純です。プログラム設計の条件分岐構造はif-then構造です。最も初期の決定ツリーは、この構造を使用してデータを分割する分類学習方法です。条件と条件を満たします。満たされていない条件を1つずつ。条件は分割されます。
分離フォレストは、ノンパラメトリックで教師なしアルゴリズムであり、数学を定義したり、ラベルを付けるためのトレーニングデータを必要としたりする必要はありません。アルゴリズムは非常に効率的です。

:ランダム平面を使用してデータ空間を切り取り、2つの部分空間を生成し、次にランダム超平面を使用して各部分空間を切り取り、すべての部分空間にデータポイントが1つだけになるまでループを続けます。直感的に言えば、高密度のものクラスターは、それらを分離するために何度もカットする必要があり、それらの低密度ポイントは、サブスペースに個別にすばやく割り当てられます。
分離フォレストは、すぐに分離されたこれらのポイントを異常ポイントと見なします。
4つのサンプルを使用して単純で直感的な理解を行うと、dが最初に分離されるため、dは異常である可能性が最も高くなります。
ここに画像の説明を挿入
このデータスペースをどのように削減するかは、分離フォレストの中心的なアイデアです。カットはランダムであるため、結果の信頼性を高めるために、アンサンブル法を使用して収束値を取得します。つまり、最初から繰り返しカットし、各カットの結果を平均します。孤立したフォレストはt個の孤立した番号で構成され、各ツリーはランダムな二分木です。つまり、ツリー内の各ノードには、2つの子ノードがあるか、まったくありません。樹木構築方法は、ランダムフォレストでの樹木構築方法にいくぶん似ています。プロセスは次のとおりです。

1.トレーニングデータからサンプルサブセットをランダムに選択し、ツリーのルートノードに配置します。

2.属性をランダムに指定し、カットポイントVをランダムに生成します。これは、属性Aの最大値と最小値の間の特定の数値です。

3.属性Aに従って各サンプルを分類し、AがV未満のサンプルを現在のノードの左側の子に配置し、V以上のサンプルを右側の子に配置して2つの部分空間を形成します。

4.子ノードのデータが1つだけになるか、ツリーの高さが制限の高さに達するまで、子ノードで再帰的な手順2と3を実行し、左の子と右の子を継続的に構築します。

t本の樹木が取得された後、孤立した森林のトレーニングは終了し、生成された孤立した森林はテストデータを評価するために使用できます。

孤立した森林の異常検出するための仮説は、異常なポイントは一般に非常にまれであり、ツリー内のリーフノードにすばやく分割されるため、リーフノードからルートノードまでのパスの長さを使用して、レコードが異常な。ランダムフォレストと同様に、孤立したフォレストは、構築されたすべてのツリーの平均結果を使用して最終結果を形成します。トレーニング中に、各ツリーのトレーニングサンプルがランダムにサンプリングされます。孤立した森林の樹木構築プロセスの観点からは、サンプルのラベルを知る必要はありませんが、しきい値を使用してサンプルが異常であるかどうかを判断します。異常点の経路は比較的短く、正常点の経路は比較的長いため、孤立林は経路の長さに基づいて各サンプル点の異常を推定します。
ここに画像の説明を挿入
分離フォレストも部分空間ベースの方法です。異なるブランチはデータの異なるローカル部分空間領域に対応し、小さいパスは分離された部分空間の低次元性に対応します。

5.まとめ

1.機能バギングの利点:
分散を減らし、さまざまな次元の組み合わせに最適なアルゴリズムを採用し、最終的に重みに応じて全体的に高いトレーニング結果を得ることができます。
2.孤立したフォレストの利点:
計算コストは​​、距離ベースまたは密度ベースのアルゴリズムよりも小さくなります。
線形時間計算量があります。
大規模なデータセットの処理に利点があります。
分離フォレストは、次元が毎回ランダムに選択されるため、超高次元データには適していません。次元が高すぎると、ノイズが多すぎます。

6.練習(追加予定)

6.1機能バギング
はPyODライブラリを使用しておもちゃの例を生成し、機能バギングを呼び出します
6.2 PyODライブラリを使用しておもちゃの例を生成し、分離フォレストを呼び出します
6.3思考:機能バギングが分散を減らすことができるのはなぜですか?
分散の意味は、出力結果と出力期待値の間の誤差です。特徴バギングコアは、さまざまな次元の組み合わせに最適なアルゴリズムを採用し、重みに従ってスコアに重みを付け、最終的にはより良いトレーニング結果を得ることができます。誤差は次のとおりです。単一モデルよりも低いボラティリティも分散を減らします。
6.34 2featureのバギングの欠陥について考え、どのようなアイデアを最適化できますか?
基本検出アルゴリズムは最良の選択を達成できず、セルフサービス方式では、アルゴリズムを複数回実行する必要があるため、より多くの計算リソースと時間が消費されます。
データ全体をテストセットとトレーニングセットに分割できます。機能を選択する前に現在のデータを確認する適切なベース検出アルゴリズム、および機能を抽出するためのセルフサービス方式の後の手順

おすすめ

転載: blog.csdn.net/qq_43720646/article/details/113100996