無いなら作ろう!
教師データ作成のあれこれ
@db analytics showcase Sapporo 2018
足立 悠
1
料理とデータ分析は似ている
2
3
料理のフロー
材料 下ごしらえ・調理 おかず
4
分析のフロー
データ 前処理・解析 モデル
5
レシピ教師データ
スマートものづくり
6https://meti-journal.jp/p/2
故障や異常の兆候を検出したい
故障や異常の兆候を検出したい
故障や異常(教師データ)は滅多に起こらない
7
教師データを作るしかない!
8
自己紹介
足立 悠(あだち はるか)
日立造船株式会社 データサイエンティスト
主な業務は自社のAI・IoT技術の活用推進、実務者への技術指
導やリテラシー教育。
9
目次
1.教師データを作成するには?
2.機械学習のおさらい
3.機械学習を使った教師データ作成
- データ間の距離をみる
- データの変化量をみる
- データ自身を振り返る
- データの構造をみる
10
目次
1.教師データを作成するには?
2.機械学習のおさらい
3.機械学習を使った教師データ作成
- データ間の距離をみる
- データの変化量をみる
- データ自身を振り返る
- データの構造をみる
11
12
わざと異常な挙動を
させてデータを収集
2通りの方法がある
13
わざと異常な挙動をさせて
データを収集
破壊してデータを収集
AI(機械学習・深層学習)を利用
14
常時の挙動
攻撃を受けた時の挙動
学習
常時から逸脱する挙動(データ)を収集
目次
1.教師データを作成するには?
2.機械学習のおさらい
3.機械学習を使った教師データ作成
- データ間の距離をみる
- データの変化量をみる
- データ自身を振り返る
- データの構造をみる
15
学習と推論のフロー
http://blogs.itmedia.co.jp/itsolutionjuku/2015/07/post_106.html 16
機械学習の種類
17
・教師あり学習
 結果(目的変数)と状態(説明変数)から未来を予測する。
・教師なし学習
 説明変数のみのデータから新たな知見を発見する。
・強化学習
 施行を積み重ね「よいやり方」と「悪いやり方」を学ぶ。成功したら報
酬を得られ、失敗したらペナルティを受ける。
教師なし学習のイメージ
18
普段と違う動きを発見
例)センサの外れ値検出
グループの発見
例)顧客セグメンテーション
・異常値の発見 ・クラスタリング
目次
1.教師データを作成するには?
2.機械学習のおさらい
3.機械学習を使った教師データ作成
- データ間の距離をみる
- データの変化量をみる
- データ自身を振り返る
- データの構造をみる
19
異常部位を検出したい
他の箇所と違う
20
部分時系列へ変換
21
スライド
t (0) t (1) t (2) ・・・ t(99)
窓の幅N
t (1) t (2) t (3) ・・・ t(100)
・・・ t(N-3) t(N-2) t(N-1)
部分時系列 ・・・
k近傍法を使って距離を計算
22
・過去データのカテゴリ( と )を参照し、新規データ
(  )のカテゴリを予測する。
・新規データのk個の近傍データの多数決で決まる。
・k=3のとき 赤:2、青:1 →
・k=7のとき 赤:3、青:4 →
・k=10のとき 赤:4、青:6 →
Demo
23
目次
1.教師データを作成するには?
2.機械学習のおさらい
3.機械学習を使った教師データ作成
- データ間の距離をみる
- データの変化量をみる
- データ自身を振り返る
- データの構造をみる
24
異常点を検出したい
他の箇所と違う
25
部分時系列へ変換
26
幅Nの窓でスライド
部分時系列1 部分時系列2
両者の違い・・・ ・・・
特異値分解を使って差分を計算
27
・特異値分解は次元圧縮の手法の一つ。
・任意のm×n行列Aを、A=UΣVと表現する。
・U:m×mの直行行列
・∑:Aの特異値を対角要素として持つm×nの行列
・V:n×nの直行行列
例:
特異値 右特異値ベクトル左特異値ベクトル
Demo
28
バースト検知
29急激な変化が見られる
NYSOL
30http://www.nysol.jp/
・データ前処理と分析のためのコマンド
・Linux、Macで使用できる。WindowsはVirtualBoxやWSL(Win10以降)
を介して使用できる。
バースト検知コマンド
目次
1.教師データを作成するには?
2.機械学習のおさらい
3.機械学習を使った教師データ作成
- データ間の距離をみる
- データの変化量をみる
- データ自身を振り返る
- データの構造をみる
31
部分時系列へ変換
32
スライド
t (0) t (1) t (2) ・・・ t(99)
窓の幅N
t (1) t (2) t (3) ・・・ t(100)
部分時系列 ・・・
・・・ t(N-3) t(N-2) t(N-1)
オートエンコーダを使って差分を計算
33
・出力を入力に近付けるよう中間層を学習する。
入力層 出力層中間層
入力 出力
Demo
34
目次
1.教師データを作成するには?
2.機械学習のおさらい
3.機械学習を使った教師データ作成
- データ間の距離をみる
- データの変化量をみる
- データ自身を振り返る
- データの構造をみる
35
ネットワークへ変換
36
幅Nの窓でスライド
ネットワークの表現
37
1
23
4
5 =
0.0 0.5 0.8 0.0 0.0
0.5 0.0 0.7 0.0 0.0
0.8 0.7 0.0 0.5 0.0
0.0 0.0 0.5 0.0 0.6
0.0 0.0 0.0 0.6 0.0
1 2 3 4 5
12345
・ネットワーク構造は隣接行列で表現できる。
次数を使って構造の差を計算
38
区間Aの次数分布 区間Bの次数分布
分布の傾きに違いが見られる
Demo
39
ご清聴ありがとうございました!
40

[db analytics showcase Sapporo 2018] B32 無いなら作ろう!教師データ作成のあれこれ