論文の朗読 - コミュニティ構造を活用したソーシャル ネットワークの外れ値検出

目次

まとめ

1. はじめに

2.関連作品

3. 予選

3.1. モジュール性の測定

  3.2. 外れ値のクラス

3.2.1. 点の異常

 3.2.2. 文脈の異常

3.2.3. 集団的異常

 3.3. 問題の定義

 3.4. 外れ値スコア

 4. 方法論

4.1. 提案されたアプローチ

 4.2. 複雑さの分析

4.3. 実装


まとめ

        ソーシャル ネットワークは現代社会の重要な側面となり、徐々に世界中で不可欠なコミュニケーション手段になりつつあります。膨大な量のデータが毎日ソーシャル ネットワークを通じて転送されます。そのため、安全性の確保が必須となってきます。不審なユーザーやスパマーは、ユーザーがネットワーク上で共有する情報やデータに脅威を与える可能性があります。このことを考慮すると、外れ値の検出はネットワーク通信の重要な側面となります。この論文では、ネットワーク コミュニティ構造を活用して、グローバルな観点からネットワーク内の異常を特定する新しい手法を提案します一般に、最先端の外れ値検出アルゴリズムは、単一のノードとそのすぐ隣のノードに焦点を当てていますただし、私たちの手法では、複数のコミュニティに属する傾向があるノード、またはその近隣ノードが同じコミュニティに属しているか、どのコミュニティにも属していないノードのみを考慮します。

        合成ネットワークと現実世界のネットワークでの実験結果は、最先端のアルゴリズムと比較して、F スコアと Jaccard の類似性がそれぞれ 7 ~ 10% と 29% 向上することを示しています。さらに、計算速度は、最先端のアルゴリズムと比較して約 1.83 倍向上しました。

1. はじめに

        過去数十年にわたり、ソーシャル ネットワーク (SN) は世界中のユーザー間のコミュニケーションのための重要な媒体となり、大量のデータや情報がユーザー間で共有されてきました。現在、Facebook や Twitter などのソーシャル ネットワークには数十億人のユーザーがいます。これらのユーザーはネットワーク上で共有される情報に脅威を与え、盗難、詐欺、組織犯罪、さらにはテロリズムにつながる可能性があるため、これらのユーザーの認証は非常に重要になります[1]。そのため、最近ではソーシャルネットワーク上の不審なユーザーを特定することが大きな注目を集めています。

        一般に、ソーシャル ネットワークにはコミュニティ [2] が含まれており、その中でユーザーは密接に接続されたサブグループを形成するため、サブグループ間の接続は、同じサブグループ内の接続に比べて疎です [3,4] 。ソーシャル ネットワークにおける外れ値は、複数のコミュニティに所属する傾向があるユーザー、またはその隣人が 1 つのコミュニティにのみ所属しているか、どのコミュニティにも所属していないユーザーとして定義されます [5]。これまでに、いくつかの研究でソーシャル ネットワークの外れ値が特定されています [6-10]。しかし、そのほとんどは時間がかかり、計算量が多くなります。

        このペーパーでは、ネットワーク コミュニティ構造を活用して、ソーシャル ネットワーク内の外れ値を迅速に見つける方法を示します。外れ値である可能性が最も高いハング ポイント ノードとコミュニティ境界ノード (CBN) 1 のみに焦点を当てることで、検索スペースが大幅に削減されます。次に、「永続性」と呼ばれるノードベースの指標を使用して、コミュニティ内での CBN の関連性を評価します [11]。

        この記事の主な貢献は次のとおりです。

        これは、SN のコミュニティ構造を利用して外れ値を特定する、私たちの知る限り最初の研究であり、コミュニティ境界ノードはノードベースのメトリック「永続性」[11] を使用して扱われます。

        合成ネットワークと現実世界のネットワークでの実験評価結果は、既存の作品と比較して、F スコアと Jaccard の類似性がそれぞれ 10% と 29% 向上したことを示しています。さらに、提案された手法は、最先端のアルゴリズムと比較して 1.83 倍の高速化を達成します。

        この記事の残りの部分を次のように整理します。セクション 2 では、関連する研究を紹介します。セクション 3 では、問題の記述と測定基準を正式に定義します。セクション 4 の目的は、コミュニティ構造を利用して異常値を特定する方法を説明することです。セクション 5 では実験結果を示します。セクション 6 では、結果を分析します。最後に、この文書をセクション 7 で締めくくります。

2.関連作品

        過去数年にわたり、研究者たちはソーシャル ネットワークにおける外れ値の検出の問題を広範囲に研究してきました。

        Keyvanpour らは、[2] でソーシャル ネットワーク内の外れ値を特定するためのネットワーク コミュニティ構造に基づく方法を提案しました。この方法では、追加の機能や機能の組み合わせ方法を適用することによって異常スコアが改善されるわけではありません。この方法は静的なグラフにのみ機能しますが、ソーシャル ネットワークは時間の経過とともに変化します。

        Win らは、文献 [9] でエッジ構造に基づくソーシャル ネットワーク コミュニティ検出方法を提案しました。この方法では、ノードの類似性を使用して近傍オーバーラップを実行し、外れ値を特定します。

        Gupta らは [7] で、異種情報ネットワークにおけるコミュニティ分布に基づく外れ値検出技術を提案しており、ノードの外れ値が共通のコミュニティ分布パターンから逸脱している場合にその外れ値を特定します。実験による評価では、このアルゴリズムがさまざまな程度、データ次元、および複数の種類の外れ値を検出できることが示されています。このアルゴリズムでは、複数の一時的なネットワーク スナップショットを含むストリーミング シナリオの状況は考慮されていません。

        Helling et al. は、[10] で、全体的な観点から異常なノードを見つけることを提案しました。ノードが 1 つのコミュニティに属しているが、複数の異なるコミュニティに接続されている場合、そのノードは異常ノードです。このアルゴリズムは、いくつかのエッジで線形にスケールし、以前の作業よりも改善されています。このペーパーでは、コミュニティ検出のための CADA アルゴリズムに焦点を当てていますが、どのコミュニティ検出方法がノードの異常検出に対して最も堅牢であるかを判断するには、比較研究が必要です。

        Pandhre らは、[12] でグラフ ノードとエッジ データに基づく新しい外れ値ノード検出方法を提案しました。

        Berenhaut らは、[13] で、誘導されたローカル比較からグラフ構造情報を取得する方法を提供しています。このアプローチの欠点は、単純なアルゴリズムの実装に 3 乗の時間がかかることです。現在、このメソッドは最大サイズ 20,000 のデータセットで動作します。

        Anand らは、研究結果 [14] の中で、構造ベースの方法と行動ベースの方法に分けられる既存のソーシャル ネットワークの異常検出技術について概説しました。

        [15] では、著者らは距離メトリックに基づく外れ値検出手法を使用して、オンライン ソーシャル ネットワーク (OSN) 内の潜在的な噂を検出しました。

        Khamparia らは、[16] で、さまざまなオンライン ソーシャル ネットワーク (OSN) の異常を分類するための構造化されたマルチレベル システムを提案しました。このアルゴリズムはまだ多くのデータ セットでテストされていないため、大規模なリアルタイム データ セットで検証する必要があります。

        Aggarwal et al. [17] は、多くの小さなグラフにおける外れ値検出の問題を研究し、グローバルな観点から外れ値を検出するために利用可能なさまざまなモデルを調査し、グラフ内のローカルおよびグローバル構造の重大な変化 (通常は突然変異) を調査しました。これまでに多くの外れ値検出方法が文献で報告されていますが、そのほとんどは計算量が多く、時間がかかります。

この論文では、 SN のコミュニティ構造        を利用して外れ値を特定し、垂直点とコミュニティ境界ノードのみを処理することで探索空間を大幅に削減します。この論文で提案されている手法は、他の最先端のアルゴリズムよりも常に優れて外れ値を特定します。

3. 予選

        ソーシャル ネットワーク G(V,E) を考えてみましょう。ネットワーク内の各ユーザーはノードとして表されv_i \in V 、ユーザー間の関係はエッジとして表されます(v_i,v_j) \in Eソーシャル ネットワークでは、コミュニティ構造はノードが自然にサブグループに分割されることを意味するためC = \{c_1,c_2,...,c_k\}、同じサブグループ内のユーザー間には密なつながりが存在します。逆に、サブグループ間のつながりは比較的希薄です [18]。

        定義 1. をC = \{c_1,c_2,...,c_k\}ネットワーク G (V, E) のコミュニティ構造とする。任意の 2 つのコミュニティc_i、c_jと のc_i \cup c_j = \oslash場合 (i≠j [19])、それはコネクションレス コミュニティと呼ばれます。

        例 1. 特定のネットワーク G (V , E) について、図 1 は、G をさまざまなコミュニティに分解するための可能な解決策を示しています。

        定義 2. ネットワーク G (V,E) の互いに素なコミュニティ構造を考慮すると、コミュニティ間にエッジを持つノードはコミュニティ境界ノード (CBN) と呼ばれます [18]。

        例 2. 素のコミュニティ構造への分解の状況を図 1 に示します。集合は CBN = {3, 4, 6} です。

3.1. モジュール性の測定

        ばらばらのコミュニティ構造の質を定量化するために、よく知られているモジュール性指標 Q [20] を使用しました。その数式は次のとおりです。

        

        ここで、|E_c| は特定のコミュニティ c 内のすべてのエッジの合計数を表し、 は|k_c|コミュニティ c 内のすべてのノードの次数の合計を表します。つまり、 kc = \sum_{v \in c}d_vd_vノードの次数を表します。 

        定義により、0 ≤ Q ≤ 1 です。値が 1 に近づくほど、コミュニティ構造の品質が高くなります。つまり、コミュニティ内の接続がコミュニティ間の接続よりも密になっています。

  3.2. 外れ値のクラス

        必要な異常カテゴリは、外れ値検出技術の重要な要素です。外れ値は次の 3 つのカテゴリに分類されます。

3.2.1. 点の異常

        データ インスタンスが他のデータと比較して異常であることが判明した場合、それは点異常と呼ばれます [21]。ほとんどの異常検出研究は、概念的に最も単純な異常であるため、この異常に焦点を当てています。たとえば、図 2 では、図 1 のデータ ポイント o1、o2、および領域 O3 のデータ ポイントはすべて、正常なデータ ポイント (N1 および N2) があると考えられる領域の境界の外側に位置しているため、点異常に属します。実際の例は侵入検知です。データセットが単一システムからのブロードキャストを表すものとします。簡単にするために、データにはブロードキャスト周波数という 1 つの属性のみが含まれていると仮定します。どのパッケージの放送時間も、その時点での放送周波数の一般的な範囲に比べて短いことが想定されます。この場合、これは世界的な外れ値とみなされる可能性があり、問題のシステムが侵害された可能性があると推測できます。

 3.2.2. 文脈の異常

        コンテキスト例外または条件例外は、データ インスタンスが特定のコンテキストでは一般的ではない (ただし、他の場所では一般的ではない) 場合です。データ セットの構造にはコンテキストの概念が含まれており、問題の定式化の一部としてコンテキストを考慮する必要があります。各データ インスタンスは、2 セットのコンテキスト プロパティと動作プロパティを使用して定義されます。コンテキスト プロパティは、インスタンスのコンテキストまたは近傍 (空間データセットの経度と緯度など) を決定します。行動属性は、各データ インスタンスの非コンテキスト特性を決定します (たとえば、全球平均降雨量、任意の地域の降雨量を記述する空間データセットの場合) [21]。クレジットカードの不正検出を例に挙げます。クレジット カードの世界では、購入時期はコンテキスト属性です。ある人が毎週の買い物に平均 1,000 ルピーを費やし、クリスマスの週だけが 10,000 ルピーに跳ね上がると仮定します。8 月のある週に 10,000 ルピーを新たに購入した場合、その文脈におけるその人の通常の行動から逸脱しているため、文脈上の異常とみなされます (ただし、クリスマスの週に同じ金額を支出した場合は正常とみなされます)。

3.2.3. 集団的異常

        関連するデータ インスタンスの集合がデータ セット全体に対して偏っている場合、それは集団的異常と呼ばれます。図 3 は、人間の ECG 出力の例を示しています [22]。図の強調表示された領域は、同じ低い値が長時間続くことによる異常(心房性期外収縮に相当)を示していますが、低い値は一般に異常とはみなされません。

 3.3. 問題の定義

        既知のコミュニティ構造を持つ特定のソーシャル ネットワーク G(V, E) の場合、目標は外れ値ノード セットV_o∈ Vを特定することです。決定された外れ値ノード セットは複数のコミュニティに属しているか、その近隣ノードは 1 つのコミュニティにのみ属しているか、どのコミュニティにも属していません。

 3.4. 外れ値スコア

        この研究では、使用される外れ値スコアは永続性 [11] と呼ばれるノードベースのメトリクスであり、ノードがそのコミュニティにどの程度属しているかを定量的に示す指標であり、数学的には次のように定義されます。

         ここで、 v はノードを表し、それぞれe_i1 ≤ i ≤ k は、i 番目の外部グループに属する近傍の数を表します。ノードに外部近傍がない場合は、e = 1 と仮定し、ノードの次数を表します。はノードの外部隣接ノードd_vを表し、ノードの内部隣接ノードを表します。JP_vIN_v

        一般に、0 ≤ S_v≤ 1S_vの値が小さいほど、ノードが複数のコミュニティに属する傾向があること、つまり、コミュニティ内で緩やかに接続されていることを意味します。= 1はS_v、ノードがコミュニティと密接に接続されていることを意味します。

        図 4 に示すように、既知の外れ値構造 C = {c1, c2, c3} を持つ 14 のノードと 26 の接続で構成される単純なソーシャル ネットワークを考えてみましょう。図 4 では、ノード 5 の外れ値の計算式は次のとおりです。

         このうち、D5 = 7、IN5 = 3、EN5 = 4、ENG 5 = {2, 2}、つまり C2 と C3 の 2 つの外部隣接ノードです。同様に、他の境界ノードの値も次のように計算します。

 4. 方法論

4.1. 提案されたアプローチ

        これまで、ソーシャル ネットワークの外れ値を検出するために、さまざまなコミュニティ ベースの手法が提案されてきましたが、これらの手法は計算量が多く、時間がかかります。[10] では、著者は、グローバルな観点から異常ノードを発見する方法、つまり、他の多くのコミュニティとコミュニティメンバーリンクを持つノードを異常ノードとみなす方法を提案しました。ネットワークの基礎となるトポロジを使用して、ネットワーク内の各ノードの異常スコアが計算されます。異常スコアが高いほど、ノードが予想される位置または分布から逸脱していることになります。

        ここで、私たちの研究におけるノードの外れ値に関する推測によると、ノードがコミュニティのメンバーとの接続が弱く、他のコミュニティに隣接するノードがある場合、そのノードは外れ値である可能性が最も高くなります。ノードには異なるコミュニティ内に隣接ノードがある可能性が高いため、コミュニティの境界にあるノードを調べるだけで外れ値を発見できるため、計算コストが削減されます。

        提案されたアルゴリズムでは、外れ値を検出するために 2 種類のノードを考慮します。単一のコミュニティに属するノードは、そのコミュニティ内で弱い相関関係を持ちます (ハングしたノードなど)。ノードは独自のコミュニティと緩やかに接続されていますが、他の多くのコミュニティと接続しています。これに基づいて、ノードベースのメトリックが各 CBN に対して計算されます - 永続性 [11]。永続性は、コミュニティ内のこれらの境界ノードのメンバーシップの程度を定量的に示します。つまり、境界ノードのコミュニティへの帰属の程度を決定します [23]。次に、式 (2) を使用して各ノードの永久値を計算します。S ≤ のノードがある場合、\ベータそのノードは外れ値であり、しきい値は です\ベータペンダント ノードの場合、コミュニティ内での接続が弱いことは明らかです。したがって、計算はしません。ノードは次数によって簡単に識別できます。アルゴリズム 1 では、このプロセスを簡単に紹介します。メモリをより有効に利用するために、Compressed-Sparse-Row (CSR) [24] 表記を使用します。

 4.2. 複雑さの分析

        ネットワークは本来スパースであるため、提案された技術では O(|V| + |E|)、一般に |E| 〜 (O|V|) の空間計算量が必要です。計算的には、提案された技術は O (| V|) 時間でフック ノードを識別します。また、計算には (||. ) も必要です。ここで、 はd_{最大}ノードが持つ可能性のある最高次数を表します。

        提案されたアルゴリズム |CBNs| ≪ |V|| では、ほとんどの実世界のネットワーク |E| 〜 O(|V|) では、提案されたアルゴリズムの時間計算量は線形です。

4.3. 実装

        私たちのアルゴリズムは、8 GB のメモリと Linux オペレーティング システムを搭載した 64 ビット マシンに C 言語で実装されています。コミュニティ検出には Louvain [25] および GN [26] アルゴリズムを使用しました。さらに、実験的に閾値を 0.25 に設定しました。プログラムでは、CSR (Compressed Sparse Row) 表記 [27] を使用してソーシャル ネットワークを表します (図 5 を参照)。

        配列の 1 つである eptr はネットワーク内の各エッジを保存するために使用され、もう 1 つの配列 vptr はノードの最初の隣接ノードを取得するために使用されます。ノード n を例にとると、n が最後のノードでない場合、n の近傍ノードの数の計算式は vptr[n+1] - vptr[n] になります。それ以外の場合、計算式は (2*グラフ内のエッジの数-vptr[n]) となり、O(1) がかかります。関連するソーシャル ネットワークの場合、1 から n までのフラグ配列の使用を検討します。各インデックスはノードとそれに対応するフラグ値を表します。フラグの値はそれぞれ 0、1、2 です。フラグ値 1 は、次数 1 のノード、または隣接ノードが 1 つだけあるノードを表します。ここで、式 (2) を使用して、フラグ値 2 を持つノードの永続値を計算します。これは、複数のコミュニティにおけるノードのメンバーシップの程度を定量的に表します。フラグ値がしきい値以下の場合、ノードはフラグ値 1 のノードとともに外れ値として分類されます。

おすすめ

転載: blog.csdn.net/qq_40671063/article/details/132857054