Suche senden
Hochladen
Jubaanomalyについて
•
2 gefällt mir
•
12,709 views
J
JubatusOfficial
Folgen
jubaanomalyについて
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 17
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
JubatusOfficial
Jubakit の紹介
Jubakit の紹介
kmaehashi
Jubatus使ってみた 作ってみたJubatus
Jubatus使ってみた 作ってみたJubatus
JubatusOfficial
Jubatusでマルウェア分類
Jubatusでマルウェア分類
Shuzo Kashihara
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
JubatusOfficial
Jubakitの紹介
Jubakitの紹介
JubatusOfficial
Jubakitの解説
Jubakitの解説
JubatusOfficial
JubaQLご紹介
JubaQLご紹介
JubatusOfficial
Empfohlen
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
JubatusOfficial
Jubakit の紹介
Jubakit の紹介
kmaehashi
Jubatus使ってみた 作ってみたJubatus
Jubatus使ってみた 作ってみたJubatus
JubatusOfficial
Jubatusでマルウェア分類
Jubatusでマルウェア分類
Shuzo Kashihara
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
JubatusOfficial
Jubakitの紹介
Jubakitの紹介
JubatusOfficial
Jubakitの解説
Jubakitの解説
JubatusOfficial
JubaQLご紹介
JubaQLご紹介
JubatusOfficial
Jubatus分類器の活用テクニック
Jubatus分類器の活用テクニック
JubatusOfficial
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
JubatusOfficial
jubarecommenderの紹介
jubarecommenderの紹介
JubatusOfficial
jubabanditの紹介
jubabanditの紹介
JubatusOfficial
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Yasuyuki Sugai
Jubatus Python特徴抽出プラグイン
Jubatus Python特徴抽出プラグイン
Tetsuya Shioda
"アレ"からJubatusを使う
"アレ"からJubatusを使う
JubatusOfficial
SensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使う
Daisuke Tanaka
backbone としての timm 入門
backbone としての timm 入門
Takuji Tahara
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用
nishio
Away3D 4.1 パーティクル入門
Away3D 4.1 パーティクル入門
Yasunobu Ikeda
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
UnityTechnologiesJapan002
「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達
Hiromasa Ohashi
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習
Motoya Wakiyama
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
ryuz88
SensorBeeのご紹介
SensorBeeのご紹介
Daisuke Tanaka
SensorBeeの紹介
SensorBeeの紹介
Shuzo Kashihara
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
Retrieva inc.
脱! 俺たちは雰囲気でBPをいじっている
脱! 俺たちは雰囲気でBPをいじっている
Naoaki Yamaji
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
JubatusOfficial
発言小町からのプロファイリング
発言小町からのプロファイリング
JubatusOfficial
Weitere ähnliche Inhalte
Was ist angesagt?
Jubatus分類器の活用テクニック
Jubatus分類器の活用テクニック
JubatusOfficial
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
JubatusOfficial
jubarecommenderの紹介
jubarecommenderの紹介
JubatusOfficial
jubabanditの紹介
jubabanditの紹介
JubatusOfficial
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Yasuyuki Sugai
Jubatus Python特徴抽出プラグイン
Jubatus Python特徴抽出プラグイン
Tetsuya Shioda
"アレ"からJubatusを使う
"アレ"からJubatusを使う
JubatusOfficial
SensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使う
Daisuke Tanaka
backbone としての timm 入門
backbone としての timm 入門
Takuji Tahara
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用
nishio
Away3D 4.1 パーティクル入門
Away3D 4.1 パーティクル入門
Yasunobu Ikeda
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
UnityTechnologiesJapan002
「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達
Hiromasa Ohashi
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習
Motoya Wakiyama
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
ryuz88
SensorBeeのご紹介
SensorBeeのご紹介
Daisuke Tanaka
SensorBeeの紹介
SensorBeeの紹介
Shuzo Kashihara
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
Retrieva inc.
脱! 俺たちは雰囲気でBPをいじっている
脱! 俺たちは雰囲気でBPをいじっている
Naoaki Yamaji
Was ist angesagt?
(20)
Jubatus分類器の活用テクニック
Jubatus分類器の活用テクニック
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
jubarecommenderの紹介
jubarecommenderの紹介
jubabanditの紹介
jubabanditの紹介
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Jubatus Python特徴抽出プラグイン
Jubatus Python特徴抽出プラグイン
"アレ"からJubatusを使う
"アレ"からJubatusを使う
SensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使う
backbone としての timm 入門
backbone としての timm 入門
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用
Away3D 4.1 パーティクル入門
Away3D 4.1 パーティクル入門
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
SensorBeeのご紹介
SensorBeeのご紹介
SensorBeeの紹介
SensorBeeの紹介
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
脱! 俺たちは雰囲気でBPをいじっている
脱! 俺たちは雰囲気でBPをいじっている
Andere mochten auch
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
JubatusOfficial
発言小町からのプロファイリング
発言小町からのプロファイリング
JubatusOfficial
かまってちゃん小町
かまってちゃん小町
JubatusOfficial
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
JubatusOfficial
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
JubatusOfficial
新機能紹介 1.0.6
新機能紹介 1.0.6
JubatusOfficial
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
Jubatus解説本の紹介
Jubatus解説本の紹介
JubatusOfficial
Python 特徴抽出プラグイン
Python 特徴抽出プラグイン
JubatusOfficial
小町の溜息
小町の溜息
JubatusOfficial
銀座のママ
銀座のママ
JubatusOfficial
JUBARHYME
JUBARHYME
JubatusOfficial
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
JubatusOfficial
Jubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしよう
Tetsuya Shioda
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubatusOfficial
Isolation forest
Isolation forest
kataware
もくもくしたこと
もくもくしたこと
k_oi
もくもく成果 IMAMASU
もくもく成果 IMAMASU
JubatusOfficial
Andere mochten auch
(19)
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
発言小町からのプロファイリング
発言小町からのプロファイリング
かまってちゃん小町
かまってちゃん小町
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
新機能紹介 1.0.6
新機能紹介 1.0.6
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
Jubatus解説本の紹介
Jubatus解説本の紹介
Python 特徴抽出プラグイン
Python 特徴抽出プラグイン
小町の溜息
小町の溜息
銀座のママ
銀座のママ
JUBARHYME
JUBARHYME
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
Jubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしよう
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
Isolation forest
Isolation forest
もくもくしたこと
もくもくしたこと
もくもく成果 IMAMASU
もくもく成果 IMAMASU
Jubaanomalyについて
1.
Jubaanomalyについて Jubatusの異常検知機能のご紹介 湯原基貴 Copyright©2016 NTT corp.
All Rights Reserved.
2.
アジェンダ • Jubatusにおける異常検知とは • 密度により異常度の算出 •
LOFアルゴリズム • Jubaanomalyを使ってみる • おわりに Copyright©2016 NTT corp. All Rights Reserved.
3.
Jubatusにおける異常検知とは • Jubatusでは入力されたデータから特徴を抜き出しキーとバリューから構 成される特徴ベクトルという形で保持する • 特徴抽出処理(詳細は省略) •
データは特徴ベクトルで表現された空間(特徴空間)上の点と見なすこと ができる 世の中ではビッグデー タというキーワードが 注目されていますが、 一口にビッグデータと いっても立場や観点に よって定義は様々です ビッグデータ 2 世の中 1 キーワード 1 中心が茶 1 花びらの割合 0.7 高さ 150 特徴空間 特徴ベクトルデータ Copyright©2016 NTT corp. All Rights Reserved.
4.
Jubatusにおける異常検知とは • 特徴空間上での近傍データの関係による異常検知 • 学習モデルに登録されたデータ群に対して、他から孤立したデータ(外れ値)を異 常として検出する •
分析対象のデータの外れ具合を異常度として数値化する • これがJubatusにおける異常検知(Jubaanomaly) 特徴空間 異常度高 異常度高 異常度低 2次元の特徴ベクトルをもつデータの例 Copyright©2016 NTT corp. All Rights Reserved.
5.
Jubatusの異常検出の特徴 • 分析対象のデータに対する異常度を、その近傍データ群との密度の違いを 用いて算出する • 下図ではデータA,Bは近傍との距離は同程度だが、近傍データ群の密度の 違いにより異常度は以下のようになる •
点A → 低い異常度(周辺のデータ群の密度が低く、溶け込んでいる) • 点B → 高い異常度(周辺のデータ群の密度が高く外れている) A B 特徴空間 2次元の特徴ベクトルをもつデータの例 Copyright©2016 NTT corp. All Rights Reserved.
6.
密度による異常度の算出(1/2) • あるデータ点Xに対する密度を「データ点Xとその近傍K点間の距離の平均 の逆数」と定義 • 1)データ点Xとその近傍K点間の距離の平均
𝐷𝑖𝑠𝑡 𝑎𝑣𝑔(𝑋) = 𝑋−𝑥 𝑖 𝐾 𝑖=1 𝐾 • 𝑥𝑖:データ点Xの𝑖番目の近傍点 • 2)逆数(密度) 𝐷𝑒𝑛𝑠𝑖𝑡𝑦(X) = 1 𝐷𝑖𝑠𝑡 𝑎𝑣𝑔(𝑋) • D𝑒𝑛𝑠𝑖𝑡𝑦(X):データ点Xの密度 • あるデータ点Xに対する異常度を密度を用いて定義 • データ点Xの異常度=(近傍K点の密度の平均)/(Xの密集度) X 0.6 0.5 0.8 0.7 数値は各データ点の密度 点Xの異常度(近傍K=3の場合) ((0.7+0.8+0.6) / 3) / 0.5) = 1.4 異常度 𝑋 = 1 𝑘 ∙ Density (𝑥 𝑖) Deinsity(𝑋) 𝑘 𝑖=1 𝑥𝑖: 点 𝑥 の 𝑖 番目の近傍点 Copyright©2016 NTT corp. All Rights Reserved.
7.
密度による異常度の算出(2/2) • 異常度の計算に近傍点の密度を利用することで、近傍から外れたデータを 異常データとして検出することができる • データXとデータYは近傍との平均距離は同程度であるが、近傍のデータ群からより 外れたデータYの異常度が高くなる(下図) C E F G B A D H I J K Y 異常度大(データYの密度<
近傍の密度) C EF G B A D H I J K X 異常度低 (データXの密度 ≒ 近傍の密度) Copyright©2016 NTT corp. All Rights Reserved.
8.
LOFアルゴリズム(1/3) • 密度による異常度の欠点 • データXと近傍点がほぼ同一の位置に存在する場合 •
データXと近傍K点への平均距離 ≒ 0 • データXの密度(平均距離の逆数)≒ ∞ • 安定した異常度を求めることができない • データXの異常度→0 (密度が∞であるため) • 近傍の異常度→∞ (データXの異常度が0のため) • JubatusではLOF(Local Outlier Factor)アルゴリズムを採用 • LOFでは、密度の代わりにLocal Reachability Density(LRD)を使用して算出され るLOFを異常度とする • LRDは密度が極端に高くなるような状況でもロバストにLOFを求めることができる X データ点Xと近傍k(k=3)が同一の位置に存在(平 均距離≒0) Copyright©2016 NTT corp. All Rights Reserved.
9.
LOFアルゴリズム(2/3) • Local Reachability
Density(LRD)の定義 • データ点Xとその近傍K点の間の距離reach-distの平 均の逆数 • 𝐿𝑅𝐷 𝑥 = 𝑘 𝑥,𝑥 𝑖 間の距離 𝑟𝑒𝑎𝑐ℎ−𝑑𝑖𝑠𝑡𝑘 𝑖=1 • 距離reach-distは以下の値のうちいずれか大きい値 を用いる 1. 点X, P間の距離 2. 点Pと(点Pの)K番目に近い点間の距離 • データXと近傍が密集(距離の平均が0)であっても 2)によって距離reach-distは0よりも大きくなる • データXと近傍A,B,C(k=3)の距離reach- dist(右図) • (X, A)の距離reach-dist = 2)点A, F間の距離 • (X, B)の距離reach-dist = 2)点A, B間の距離 • (X, C)の距離reach-dist = 1)点X, Cの距離 C E F G B A D H I J K X 点 F は、点 A から k 番目に近い点 𝑥𝑖: 点 𝑥 の 𝑖 番目の近傍点 Copyright©2016 NTT corp. All Rights Reserved.
10.
LOFアルゴリズム(3/3) • LRD(再掲)とLOF(異常度)の定義 • 𝐿𝑅𝐷
𝑥 = 𝑘 𝑥,𝑥 𝑖 間の距離 𝑟𝑒𝑎𝑐ℎ−𝑑𝑖𝑠𝑡𝑘 𝑖=1 • 𝐿𝑂𝐹 𝑥 = 1 𝑘 ∙ 𝐿𝑅𝐷(𝑥 𝑖) 𝐿𝑅𝐷(𝑥) 𝑘 𝑖=1 • データXのLOF = (近傍点のLRD)/(データXのLRD) • LRDは密度と同様(距離reach-distの平均の逆数)と見なすことができる。従って、 LOFも密度に基づいた異常度と同様に考えることができる 𝑥𝑖: 点 𝑥 の 𝑖 番目の近傍点 Copyright©2016 NTT corp. All Rights Reserved.
11.
Jubaanomalyの機能 • API • id_with_score
add(datum row) • データを追加してLOFを取得する • id_with_score = {0:string id, 1:float score} • CONFIG(代表的なもの) • method 近傍点を発見するために利用する機能を指定 • lof : redommender機能を利用 • 厳密なコサイン類似度、Euclid距離を使用した近傍探索が可能 • light_lof : nearest neighbor機能を利用 • 特徴ベクトルをハッシュ化して近似することで高速、省メモリで近傍探索が可能 • nearest_neighbor_num 近傍数kを指定 • hashnum 特徴ベクトルをハッシュ化する際のビット数を指定する • ハッシュ化する必要があるアルゴリズム(LSH、Euclid_LSH,Minhashでのみ指定) • 値を大きくすると近似精度が向上する(メモリ使用量、探索時間が増加する) Copyright©2016 NTT corp. All Rights Reserved.
12.
Jubaanomalyを使ってみる • Jubatusを使った異常検知のシステム構成例 • Web
Serverに対する不正アクセス検知 20160616 GET /index.html 200 ……… アクセスログ ブラウザからの アクセス ログの収集 ログを queueにpush ログ解析 プログラム ログを取得 リアルタイムにLOFを 計算 LOFの監視 Copyright©2016 NTT corp. All Rights Reserved.
13.
Jubaanomalyを使ってみる • 不正アクセス検知のデモをしよう!でも.... • ある程度アクセス頻度の高いログが手元にない •
テストデータデータセットを使ってネットワーク侵入を模擬してみよう • 利用したテストデータセット • KDD Cup 1999で利用されたネットワーク侵入検知データセット • 1998年にMIT Lincoln Labsで作られたデータセットがベース • 米空軍のLANを模した環境における攻撃性アクセスの発見が目的 • 内容 • TCPダンプデータ • データ件数 約500万件 • Normal(正常なアクセス)とDOS,R2L,U2R,probingの4つのカテゴリに属する不正アクセスか ら構成 • 属性41項目 • 文字列:7項目、数値:34項目 • CSV形式 0,tcp,http,SF,219,1337,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2 ,2,0.00,0.00,0.00,0.00,1.00,0.00,0.00,45,45,1.00,0.00, 0.02,0.00,0.00,0.00,0.00,0.00,normal. データ例 Copyright©2016 NTT corp. All Rights Reserved.
14.
Jubaanomalyを使ってみる • デモ • 不正アクセス検知 •
大部分の正常なアクセスはデータの傾向が似通っているはず→LOFが低い • LOFが高い(孤立した)データを見つけることで不正アクセスを発見できる! 0,tcp,http,SF,21 9,1337,0,0,0,0,0 ,1,0,0,0,0,0,0,0, 0,0,0,2,2,0.00,0 .00,0.00,0.00,1. 00,0.00,0.00,45, 45,1.00,0.00,0.0 2,0.00,0.00,0.00 ,0.00,0.00,norm al. テストデータセット ログを queueにpush ログ解析 プログラム ログを取得 ログデータを追加 LOFの取得 リアルタイムに LOFを表示 Copyright©2016 NTT corp. All Rights Reserved.
15.
おわりに • Jubatusの異常検知(Jubaanomaly)のアルゴリズムを説明 • デモの説明 Copyright©2016
NTT corp. All Rights Reserved.
16.
参考:オンラインLOFアルゴリズム(1/2) • ある点の異常度を求めるためには、その点の近傍 𝑘
点の LRD を算出する 必要がある。 • LRD を算出するためには、その点の近傍 𝑘 点の LRD が既知である必要があるため、 N 件のデータ点が登録されているとき、最大で N 点の LRD の算出が必要となる (つ まり、N 点間の距離を計算するために、最大で N – 1 回の近傍探索が発生する) • 各点の LRD は、データ点の追加が行われるたびに再計算する必要がある が、この計算コストは下図に示すように非常に高い。 データ点 X が追加されたとき、LRD の再計算が必要な点群を厳密に抽出するに は: (1) データ点 X が追加されたことにより、データ点 X の近傍 𝑘 点 の LRD の 再計算が必要 (2) データ点 X の近傍 𝑘 点の LRD の再計算を行うことにより、それらのデー タ点の近傍 𝑘 点の LRD の再計算も必要 (3) … (以下、再計算の必要となる点の集合が収束するまで繰り返し) X (k = 3 とする) Copyright©2016 NTT corp. All Rights Reserved.
17.
参考:オンラインLOFアルゴリズム(2/2) • Jubatus においては、データ点の追加時に
LRD を再計算する点の範囲を、 追加された点の近傍 𝑅 点に限定することにより、データ点の追加時の計 算コストを削減することで、リアルタイムなデータ点の追加を可能にする (近傍探索の実行回数を最大で 𝑅 + 1 回に抑える) X データ点 X が追加されたとき、LRD の再計算が必要な点群を、データ点 X の近傍 R 点 であると見なす (R = 5 とする) 補足 𝑅 は、Jubatus におけるハイパーパラメタ reverse_nearest_neighbor_num に 対応する。 補足 既存のデータ点を書き変える場合は、書き変え前後のデータ点の近傍 R 点に対し て LRD の再計算を行うため、近傍探索の実行回数は (R+1) * 2 回となる。 Copyright©2016 NTT corp. All Rights Reserved.
Jetzt herunterladen