Submit Search
One Class SVMを用いた異常値検知
3 likes
16,914 views
Y
Yuto Mori
Anomaly detection using One Class SVM
Technology
Read more
1 of 40
Download now
Downloaded 48 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Most read
23
Most read
24
Most read
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
More Related Content
PDF
機械学習モデルの判断根拠の説明
Satoshi Hara
PDF
最適化超入門
Takami Sato
PDF
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
Megagon Labs
PDF
BlackBox モデルの説明性・解釈性技術の実装
Deep Learning Lab(ディープラーニング・ラボ)
PDF
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
PDF
三次元点群を取り扱うニューラルネットワークのサーベイ
Naoya Chiba
PDF
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII
PDF
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
nlab_utokyo
機械学習モデルの判断根拠の説明
Satoshi Hara
最適化超入門
Takami Sato
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
Megagon Labs
BlackBox モデルの説明性・解釈性技術の実装
Deep Learning Lab(ディープラーニング・ラボ)
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
三次元点群を取り扱うニューラルネットワークのサーベイ
Naoya Chiba
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
nlab_utokyo
What's hot
(20)
PDF
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
tmtm otm
PPTX
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
Deep Learning JP
PDF
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
Jun Okumura
PDF
[DL輪読会]1次近似系MAMLとその理論的背景
Deep Learning JP
PDF
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
Preferred Networks
PDF
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
PPTX
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
Shota Imai
PDF
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
PDF
機械学習で泣かないためのコード設計
Takahiro Kubo
PDF
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui
PDF
【メタサーベイ】Transformerから基盤モデルまでの流れ / From Transformer to Foundation Models
cvpaper. challenge
PDF
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
joisino
PDF
研究効率化Tips Ver.2
cvpaper. challenge
PPTX
深層学習の数理
Taiji Suzuki
PPTX
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
Deep Learning JP
PPTX
【DL輪読会】時系列予測 Transfomers の精度向上手法
Deep Learning JP
PDF
Transformer メタサーベイ
cvpaper. challenge
PPTX
[DL輪読会]When Does Label Smoothing Help?
Deep Learning JP
PDF
【DL輪読会】Deep Transformers without Shortcuts: Modifying Self-attention for Fait...
Deep Learning JP
PDF
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
tmtm otm
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
Deep Learning JP
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
Jun Okumura
[DL輪読会]1次近似系MAMLとその理論的背景
Deep Learning JP
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
Preferred Networks
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
Shota Imai
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
機械学習で泣かないためのコード設計
Takahiro Kubo
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui
【メタサーベイ】Transformerから基盤モデルまでの流れ / From Transformer to Foundation Models
cvpaper. challenge
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
joisino
研究効率化Tips Ver.2
cvpaper. challenge
深層学習の数理
Taiji Suzuki
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
Deep Learning JP
【DL輪読会】時系列予測 Transfomers の精度向上手法
Deep Learning JP
Transformer メタサーベイ
cvpaper. challenge
[DL輪読会]When Does Label Smoothing Help?
Deep Learning JP
【DL輪読会】Deep Transformers without Shortcuts: Modifying Self-attention for Fait...
Deep Learning JP
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
Ad
Similar to One Class SVMを用いた異常値検知
(20)
PPTX
DLLab 異常検知ナイト 資料 20180214
Kosuke Nakago
PPTX
異常検知と変化検知の1~3章をまとめてみた
Takahiro Yoshizawa
PDF
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
Preferred Networks
PDF
Infinite SVM [改] - ICML 2011 読み会
Shuyo Nakatani
PDF
不均衡データのクラス分類
Shintaro Fukushima
PDF
Introduction to ensemble methods for beginners
Shinsaku Kono
PDF
R実践 機械学習による異常検知 02
akira_11
PPTX
Rで学ぶデータサイエンス第1章(判別能力の評価)
Daisuke Yoneoka
PDF
[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...
Deep Learning JP
PDF
コンピュータ先端ガイド2巻3章勉強会(SVM)
Masaya Kaneko
PDF
Anomaly detection survey
ぱんいち すみもと
PDF
【CVPR 2019】Striking the Right Balance with Uncertainty
cvpaper. challenge
PDF
bigdata2012ml okanohara
Preferred Networks
PDF
Dbda chapter15
Amarsanaa Agchbayar
PDF
グラフィカル Lasso を用いた異常検知
Yuya Takashina
PDF
Active learning with efficient feature weighting methods for improving data q...
Shunsuke Kozawa
PDF
異常検知
Yasuaki Sakamoto
PDF
Sakusaku svm
antibayesian 俺がS式だ
PDF
Infinite SVM - ICML 2011 読み会
Shuyo Nakatani
PDF
Rで学ぶロバスト推定
Shintaro Fukushima
DLLab 異常検知ナイト 資料 20180214
Kosuke Nakago
異常検知と変化検知の1~3章をまとめてみた
Takahiro Yoshizawa
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
Preferred Networks
Infinite SVM [改] - ICML 2011 読み会
Shuyo Nakatani
不均衡データのクラス分類
Shintaro Fukushima
Introduction to ensemble methods for beginners
Shinsaku Kono
R実践 機械学習による異常検知 02
akira_11
Rで学ぶデータサイエンス第1章(判別能力の評価)
Daisuke Yoneoka
[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...
Deep Learning JP
コンピュータ先端ガイド2巻3章勉強会(SVM)
Masaya Kaneko
Anomaly detection survey
ぱんいち すみもと
【CVPR 2019】Striking the Right Balance with Uncertainty
cvpaper. challenge
bigdata2012ml okanohara
Preferred Networks
Dbda chapter15
Amarsanaa Agchbayar
グラフィカル Lasso を用いた異常検知
Yuya Takashina
Active learning with efficient feature weighting methods for improving data q...
Shunsuke Kozawa
異常検知
Yasuaki Sakamoto
Sakusaku svm
antibayesian 俺がS式だ
Infinite SVM - ICML 2011 読み会
Shuyo Nakatani
Rで学ぶロバスト推定
Shintaro Fukushima
Ad
One Class SVMを用いた異常値検知
1.
One Class SVMを用いた 異常値検知 Anomaly
detection using One Class SVM 公立はこだて未来大学 森雄斗 1
2.
概要 教師なし学習により、データのパターンを学習させ、パター ンから外れたデータを異常値として検出する 検出方法は、One
Class SVMを利用する。 前回マハラノビス距離で行ったことを再度One Class SVMで 行う。 →https://www.slideshare.net/YutoMori2/ss-88160534 2
3.
One Class SVM
とは SVM(サポートベクトルマシン)の中の一種。 SVMは教師あり学習であるのに対して、OneClassSVMは教 師なし学習である。 One Class SVMは異常値検知によく用いられる。 3
4.
実験環境 Python 3.6.0 numpy,
pandas, mmatplotlib, sklearn, time, plotly 実際のデータ(全てが正常値) MachineA.csv → 22670個 × 3 (x軸, y軸, z軸) MachineB.csv → 18700個 × 3 (x軸, y軸, z軸) 4
5.
MachineBのデータに異常値を追加する マハラノビス距離が1.5794である異常値(-0.39, -0.73, 2.235)を追加する。 5 赤点が異常値
6.
Class sklearn.svm.OneClassSVM One class
SVMを適応するのは2行 clf = svm.OneClassSVM() clf.fit(データ) 課題はパラメータの調整(チューニング) 6
7.
パラメータについて デフォルトのパラメータ OneClassSVM(cache_size=200, coef0=0.0,
degree=3, gamma=‘auto’, kernel='rbf‘, max_iter=-1, nu=0.5, random_state=None, shrinking=True, tol=0.001, verbose=False) 今回重要なのは”gamma”と”nu”. gamma = ‘auto’ = 1 / n_features = 0.5 7 つまり、3変数でも出来るのでは….
8.
パラメータについて nu 異常データの割合….?(0~1) gamma RBFカーネルのパラメータ…? →値が大きいほど境界が複雑になる…? 8 正直あまりわかっていないので実際に数値を変えて検証する
9.
2変数分析 (XYの関係, XZの関係, YZの関係) 9
10.
2変数分析の説明10 dataXY = np.vstack([dataX,
dataY]).T dataXZ = np.vstack([dataX, dataZ]).T dataYZ = np.vstack([dataY, dataZ]).T clf.fit(dataXY) y_pred = clf.predict(dataXY) clf.fit(dataXZ) y_pred = clf.predict(dataXZ) clf.fit(dataYZ) y_pred = clf.predict(dataYZ) それぞれに対してSVMを用いる
11.
グラフの説明 inliers →
正常値 outliers → 異常値 スライド5で追加したダミー の異常値 (-0.39, -0.73, 2.235) グレーの等高線は異常度示し ている(黒になるほど異常値 であると予測させる) 11
12.
デフォルト(nu=0.5, gamma=0.5) XYの関係
MachineB 実行時間 =194.1s 12
13.
デフォルト(nu=0.5, gamma=0.5)13 XZの関係
MachineB 実行時間 =194.1s
14.
デフォルト(nu=0.5, gamma=0.5)14 YZの関係
MachineB 実行時間 =194.1s
15.
パラメータ調整15 nu = 0.5
→ nu = 0.1
16.
nu=0.1, gamma=0.516 XYの関係
MachineB 実行時間 =37.2s
17.
nu=0.1, gamma=0.517 XZの関係
MachineB 実行時間 =37.2s
18.
nu=0.1, gamma=0.518 YZの関係
MachineB 実行時間 =37.2s
19.
パラメータ調整19 この作業を繰り返す….
20.
パラメータ nu について20 gamma
= 0.5を固定 XYの関係 nu = 0.001 nu = 0.0001 0.001~0.0001の間に異常値を正常値と判断し、異常度等高線が大きく変化する
21.
パラメータ nu について21 (1)
nu = 0.001 ●nu = 0.002のOne Class SVMを適応したグラフ(2) 正常値: 18664, 異常値: 37, 計: 18701 18704 * 0.002 = 37.4 ≒ 37 (2) nu = 0.002 ○入力データ MachineB_dummy.csv 正常値: 18700, 異常値: 1, 計: 18701 ●nu = 0.001のOne Class SVMを適応したグラフ(1) 正常値: 18682, 異常値: 19, 計: 18701 18701 * 0.001 = 18.7 ≒ 19
22.
パラメータ nu のまとめ
パラメータ nu は入力データの異常値の割合であることが明らかである。 異常値の割合が0.0001のような小さい値をとると極度に異常であるデー タを正常値と判断してしまう可能性がある。 nuが小さくなればなるほど、異常度等高線が適切なものになる。 22
23.
パラメータ gamma について23 nu
= 0.001を固定 YZの関係 gamma = 0.5 gamma = 1.0 gamma値の大小で汎化能力が変化する (汎化能力: 規則性の当てはまり)
24.
パラメータ gamma について24 nu
= 0.001を固定 YZの関係 gamma = 3.0 gamma = 10.0 gamma値を上げすぎると過学習状態に...
25.
汎化能力と過学習25 汎化能力 (generalization) 過学習 (overfitting) 最適な学習モデルは、「過学習が起こらず、汎化性能に優れたもの」
26.
3変数分析 (XYZの関係) 26
27.
3変数分析の説明27 dataXYZ = np.vstack([dataX,
dataY, dataZ]).T clf.fit(dataXYZ) y_pred = clf.predict(dataXYZ) dataXYZ [[ 0.068 0.228 1.484] [-0.18 0.816 1.344] [-0.108 0.392 0.932] ..., [-0.132 0.692 1.572] [-0.168 0.564 1.076] [-0.39 -0.73 2.235]] y_pred [ 1 1 1 ..., 1 1 -1] python print 1: 正常値 -1: 異常値
28.
plotlyによる描写28 パラメータ: Nu = 0.001,
gamma = 1 URL : https://www.youtube.com/watch?v=Tu3wEj0Inc0
29.
matplotlibによる描写29 3変数で分析したものを 2変数に変換したもの
30.
3変数分析の問題点30 nu = 0.001,
gamma = 1.0 nu = 0.001, gamma = 2.0 異常度等高線を描写できない。 グラフを見ても適切なパラメータに設定することができない。
31.
分類器の性能評価(分割表)31 分割表 正常値(inliers) 異常値(outliers) 正常値(inliers) True Positive(TP) False Negative(FN) 異常値(outliers) False Positive(FP) True Negative(TN) 実際 予測
32.
分類器の性能評価(Weighted F-measure)32 重み付きF値(Weighted
F-measure) とは ラベル間のデータ数が大きく異なる場合によく使われる指標 今回は偽陽性(本当は異常値であるのに検査結果で正常と出ること)を低く 抑えたいので, 適合率に重さを付ける(1 < β) 適合率(Precision) = 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝑓𝑎𝑙𝑠𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 再現率(Recall) = 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 +𝐹𝑎𝑙𝑠𝑒 𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒 重み付きF値(Weighted F-measure) = 1+ 𝛽2 ∙𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∙ 𝑅𝑒𝑐𝑎𝑙𝑙 𝛽2 ∙ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙 https://www.quora.com/What-is-meant-by-F-measure-Weighted-F-Measure-and-Average-F-Measure-in-NLP-Evaluation
33.
偽陽性率と真陽性率33 False Positive
Rate(偽陽性率) = 𝐹𝑎𝑙𝑠𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝐹𝑎𝑙𝑠𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝑇𝑟𝑢𝑒 𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒 異常値であるものを間違って正常と予測した割合 True Positive Rate(真陽性率) = 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒+𝐹𝑎𝑙𝑠𝑒 𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒 正常値であるものを正しく正常と予測した割合
34.
3変数分析のダミーを設定(Y軸, Z軸のみ)34 右図に該当しない候補 (x,
y, z) = (?, -0.75, 1.9), ( ?, 0.00, 2.0), (?, 0.65, 2.1), (?, 1.7, 1.00), (?, 1.88, 0.65), (?, 0.75, 0.2), (?, -1.2, 0.25), (?, -0.50, -1.2), 実際のデータのみ
35.
3変数分析のダミーを設定(X軸, y軸, Z軸)35
右図に該当しないように設定 (x, y, z)= (-0.45, -0.75, 1.9), (0.9, -0.75, 1.9), (-0.7, 0.00, 2.0), (0.81, 0.00, 2.0), (-0.8, 0.65, 2.1), (0.45, 0.65, 2.1), (-0.3, 1.7, 1.00), (0.02, 1.7, 1.00), (-0.4, 1.88, 0.65), (-0.22, 1.88, 0.65), (-0.91, 0.75, 0.2), (0.53, 0.75, 0.2), (-0.21, -1.2, 0.25), (0.54, -1.2, 0.25), (-0.71, -0.50, -1.2), (0.87, -0.50, -1.2) 実際のデータのみ
36.
性能評価によるパラメータ設定36 環境 データの数:
18716, nu = 0.00085 → 約16個選ばれる 今回入れた異常値は16個
37.
性能評価によるパラメータ設定37 gamma 0.00001 0.00005
0.0001 0.001 0.01 0.1 True Positive 3690 18699 18698 18698 18699 18699 False Negative 15010 1 2 2 1 1 False Positive 0 4 1 2 1 2 True Negative 16 12 15 14 15 14 False Positive Rate(%) 0 25 6.25 12.5 6.25 12.5 True Positive Rate(%) 19.7326 99.973 99.989 99.9893 99.994 99.99465
38.
性能評価によるパラメータ設定38 gamma 0.33(auto) 0.5
1.0 2.0 3.5 5.0 True Positive 18699 18700 18697 18693 18689 18683 False Negative 1 0 3 7 11 17 False Positive 1 2 2 6 9 6 True Negative 15 14 14 10 7 10 False Positive Rate(%) 6.25 12.5 12.5 37.5 56.25 37.5 True Positive Rate(%) 99.99465 100.0 99.9839 99.9626 99.9412 99.9091
39.
性能評価によるパラメータ設定39 0.01 <
gamma < 0.5 が適切なパラメータ 右図が全ての異常値を正しく判断したgamma値(0.37) gamma 0.37 True Positive 18700 False Negative 0 False Positive 0 True Negative 16 False Positive Rate(%) 0.0 True Positive Rate(%) 100.0 URL : https://www.youtube.com/watch?v=6oACtaVSZ2A
40.
まとめ One Class
SVM で教師なし学習を行った。 2変数分析と3変数分析に分けて機械学習を行った。 2変数分析ではパラメータの特徴を理解し、3変数分析ではより正確な異常値検知を行う ことができた。 性能評価を行い、適切なパラメータを見つけた。 40
Download