Ford Analytics 2013 MathWorks · 探索的なデータ分析 –...

46
1 © 2014 The MathWorks, Inc. MATLABによるデータサイエンス ~統計解析・機械学習を用いたアルゴリズムの検討~ MathWorks Japan アプリケーション エンジニアリング部 (テクニカルコンピューティング) 太田英司

Transcript of Ford Analytics 2013 MathWorks · 探索的なデータ分析 –...

1© 2014 The MathWorks, Inc.

MATLABによるデータサイエンス

~統計解析・機械学習を用いたアルゴリズムの検討~

MathWorks Japan

アプリケーション エンジニアリング部 (テクニカルコンピューティング)

太田英司

2

MATLABによるデータサイエンス

• 天候や気温から店舗での需要を予測

• センサーデータから構造物の健全性を診断

• 顧客の購買履歴からお勧めを予測

• ガスタービンの遠隔監視システム

• 監視カメラによる不審者検知

• 燃料電池車の走行解析

3

気温の履歴

天気予報

販売履歴

Data

テスコ様はサプライチェーン解析により年間で £100mのコストを節減しました (article, video)

小売業界での事例

Enterprise System

Analytics Model Business Result

4

MATLAB によるデータサイエンス

データ取得

前処理

アルゴリズム検討

システム化

Database / Hadoop

センサーMic / Camera

Web Service

統計解析

最適化

時系列解析

機械学習

スタンドアロン化

JAVA / .NET 連携

クラスター / 並列計算

クラウド

外れ値・未入力値 データの同期

テキスト解析 複数データの結合

5

MATLABによるアルゴリズム検討

統計解析

機械学習

時系列解析

最適化

Statistics Toolbox

Optimization Toolbox

Signal Processing Toolbox

Global Optimization Toolbox

Computer Vision System Toolbox

Econometrics Toolbox

Image Processing Toolbox

6

機械学習とは?

7

【例題】 音声認識

音声認識

あ!

8

【例題】 音声認識

1.5 1.55 1.6 1.65 1.7 1.75 1.8 1.85

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

時間 [sec]

振幅

音声信号

第1フォルマント

第2フォルマント

0 500 1000 1500 2000 2500 3000 3500 4000-100

-95

-90

-85

-80

-75

-70

-65

-60

-55パワースペクトル密度

周波数 [Hz]

9

母音のフォルマントの分布

100 200 300 400 500 600 700 800 900 1000 1100500

1000

1500

2000

2500

3000

3500

第1フォルマント [Hz]

第2

フォ

ルマ

ント

[H

z]

訓練用データの分布

あいうえ

data_for_training.xls600人分のフォルマントのデータ

10

KNN 分類器(K最近傍分類器)

×

「え」

「あ」

原理:近くにある K個の点を探して、多数決を採る

分類したい新しい特徴量

11

KNN分類器(K最近傍分類器)

特徴量 ラベル

d = fitcknn(X, T, ‘NumNeighbors’, 4)

C = predict(d, Y)

新しい特徴量予測されるラベル

学習

予測

12

【例題】音声認識

特徴抽出

特徴量

分類

マイクからの音声データ

母音(あ・い・う・え・お)

第1・第2フォルマント

入力

出力

Yule-Walker 法

K-最近傍分類器

14

回帰・分類

𝑦 = 𝑓 𝒙 ; 𝜽𝒙 𝑦

分類(Classification)

離散値

𝑦 = 𝑓 𝒙 ; 𝜽𝒙 𝑦

回帰(Regression)

連続値

15

構造ヘルスモニタリング

• 老朽化する構造物・インフラの数

• 人手のみの監視による限界

• 人間では検知できない故障や異常の予兆

センサーとコンピュータにより構造物の健全性を自動監視する

16

【例題】 構造ヘルスモニタリング

Reference: Figueiredo, E., Park, G., Figueiras, J., Farrar, C., & Worden, K. (2009). Structural Health Monitoring

Algorithm Comparisons using Standard Data Sets. Los Alamos National Laboratory Report: LA-14393

実験装置

– 3階建ての建物の模型

– 4ヶ所の加速度センサー

– 1階部分に振動発生装置

– 人工的な損傷状態の発生

実験目的

– センサーによる異常検出

17

【例題】 構造ヘルスモニタリング

Reference: Figueiredo, E., Park, G., Figueiras, J., Farrar, C., & Worden, K. (2009). Structural Health Monitoring

Algorithm Comparisons using Standard Data Sets. Los Alamos National Laboratory Report: LA-14393

Sensor #4

Sensor #3

Sensor #1

Sensor #2

振動発生装置柱と留め具の隙間を調整できるようになっている

18

【例題】 構造物ヘルスモニタリング

State Condition Description

#1 Undamaged Baseline condition

#2 Undamaged Mass = 1.2 kg at the base

#3 Undamaged Mass = 1.2 kg on the 1st floor

#4 Undamaged 87.5% stiffness reduction in column 1BD

#5 Undamaged 87.5% stiffness reduction in column 1AD and 1BD

構造物の模型において、次の条件を変化させて17パターンの条件を作り出した。

・ 各階への重量(Mass)

・ 柱の硬さの低減(Stiffness reduction)

・ 3階部分の柱と留め具の隙間(Gap)

Undamaged

Damaged

19

【例題】 構造ヘルスモニタリング

State Condition Description

#6 Undamaged 87.5% stiffness reduction in column 2BD

#7 Undamaged 87.5% stiffness reduction in column 2AD and 2BD

#8 Undamaged 87.5% stiffness reduction in column 3BD

#9 Undamaged 87.5% stiffness reduction in column 3AD and 3BD

#10 Damaged Gap = 0.20 mm

#11 Damaged Gap = 0.15 mm

#12 Damaged Gap = 0.13 mm

#13 Damaged Gap = 0.10 mm

#14 Damaged Gap = 0.05 mm

#15 Damaged Gap = 0.20 mm and mass = 1.2 kg at the base

#16 Damaged Gap = 0.20 mm and mass = 1.2 kg on the 1st floor

#17 Damaged Gap = 0.10 mm and mass = 1.2 kg on the 1st floor

上記17パターンのそれぞれで10回の実験を繰り返し、合計170回の実験を行った。

20

SHMTools Los Alamos National Laboratory

http://institute.lanl.gov/ei/software-and-data/SHMTools/

21

【例題】構造ヘルスモニタリング

入力

特徴抽出

特徴量

分類

出力

センサーからの加速度データ

構造物における損傷の有無

22

【事例】 人の活動状態の予測

測定装置 : 両手につけた加速度センサー

入力 : X, Y, Z 成分の最大・最小・平均・分散

出力 : 次の5つのカテゴリー(活動状態)

読書・キーボード操作・マウス操作・文字筆記・静止

提供:神奈川工科大学 情報工学科 田中(博)研究室

23

振動データに関する幾つかの特徴量

振幅の統計量(最大・最小・平均・分散)

周波数スペクトル

自己回帰モデルの係数

24

自己回帰モデルの係数による特徴抽出

𝑋𝑛 = 𝑎0 +

𝑖=1

𝑁

𝑎𝑖 𝑋𝑛−𝑖 + 𝜀𝑡

過去データの線形和 白色雑音定数項

𝑎0, 𝑎1, ⋯ , 𝑎𝑁

25

自己回帰モデルの係数による特徴抽出

𝑎1, ⋯ , 𝑎10 𝑎1, ⋯ , 𝑎10 𝑎1, ⋯ , 𝑎10 𝑎1, ⋯ , 𝑎10

Sensor #1 Sensor #2 Sensor #3 Sensor #4

4*10次元の特徴量

27

【例題】構造ヘルスモニタリング

入力

特徴抽出

特徴量

分類

出力

センサーからの加速度データ

自己回帰モデルの係数(4×10次元)

自己回帰モデル

28

主成分分析(Principal Component Analysis)

体重

身長

第2主成分

第1主成分

PCA

[coeff, score, latent] = pca(X)

30

【例題】構造ヘルスモニタリング

入力

特徴抽出

特徴量

分類

出力

自己回帰モデルの係数(4×10次元)

次元削減した特徴量(2次元)

主成分分析

31

【例題】構造ヘルスモニタリング

入力

特徴抽出

特徴量

分類

出力

次元削減した特徴量(2次元)

構造物における損傷の有無

32

MATLABにおける機械学習

機械学習

教師なし学習

教師あり学習

クラスタリング

分類

回帰

K-平均クラスタリング階層クラスタリングニューラルネット混合ガウス分布自己組織化マップ

線形判別・2次判別K-最近傍識別単純ベイズ分類決定木アンサンブル学習ニューラルネットサポートベクターマシン

線形回帰モデル一般化線形回帰モデル非線形回帰モデル回帰木アンサンブル学習ニューラルネット

訓練データあり

訓練データなし

33

【例題】 構造ヘルスモニタリング

170個の振動データ

85個 85個

85個の振動データ 85個の振動データ

学習用データ 確認用データ

34

【例題】 構造ヘルスモニタリング

決定木(Decision Tree)とは?

変数をひとつ選び、閾値を決めて、サンプルを2つに分ける

なるべく同じクラス同士が同じグループに入るようにしたい

混ざり具合の基準(Gini 係数等)を使う

35

【例題】構造ヘルスモニタリング

入力

特徴抽出

特徴量

分類

出力

次元削減した特徴量(2次元)

構造物における損傷の有無

決定木

36

【例題】構造ヘルスモニタリング

4チャネル全て使った場合 1チャネルのみ使った場合

37

【例題】構造ヘルスモニタリング

• 4つの加速度センサーから構造物の健全性を判定できた

• 自己回帰モデルを使うことで分類に有効な特徴量が取れた

• 4つのセンサーから取れる特徴量の相関は高かった

• 1つのセンサーよりも全てのセンサーを合わせた方がよかった

38

【例題】 構造ヘルスモニタリング

170個の振動データ

90個の正常データ

80個の異常データ

39

【例題】 構造ヘルスモニタリング

正常データと異常データを同じくらいの割合で取れるか?

Class Imbalance の問題

分類器の性能劣化を引き起こすことがある

ラベルの付いたデータをそんなに沢山取れるか?

ラベルなしのデータの方が取り易い

データの点数が少ないと予測の性能は劣化する

40

【例題】 構造ヘルスモニタリング

92個の振動データ

90個の正常データ

2個の異常データ

異常データを見分けることができるか?

42

外れ値検出

𝜇 𝑥

44

1 クラス SVM による異常検出

𝜙

𝑓 𝑥 = 𝜔𝑇𝜙 𝑥 𝑓 𝑥 ≥ 𝜌のとき、正常値

𝑓 𝑥 < 𝜌のとき、異常値

特徴写像

46

1 クラス SVM による異常検出

47

分類

【例題】構造ヘルスモニタリング

入力

特徴抽出

分類

出力

センサーからの加速度データ

次元削減した特徴量(2次元)

One-Class SVM

構造物における損傷の有無

48

【製品紹介】構造ヘルスモニタリング

探索的なデータ分析

– 記述統計量・ヒストグラム

– 周波数スペクトル

特徴抽出と次元削減

– 自己回帰モデルによる特徴抽出

– PCAによる次元削減

教師あり学習

– 決定木による損傷の有り無しの判定

教師なし学習

– One-Class SVM による異常検出

Signal Processing Toolbox

System Identification Toolbox

Statistics Toolbox

49

MATLABによるデータサイエンス

分類器もいいけど、クラスタリングの話聞きたかったな…

今日の話、会社の同僚にも聞かせたいな…

MATLAB って Hadoop 使える?

自己回帰モデルの次数って何で10次にしたの?

50

MATLAB によるデータサイエンス~統計解析・機械学習と大規模データ~

開催地 : 東京、御茶ノ水会場 : TKPガーデンシティ御茶ノ水日付 : 2014 / 12 / 5 (金曜日)時間 : 13:30 ~ 17:00

MATLABによるデータ解析入門 (13:30 ~ 14:20)

MATLABによる統計解析・機械学習 (14:30 ~ 16:40)

大規模データへの処方箋 (16:40 ~ 17:00)

51

MathWorks EXPO展示

Drone

Nao

TurtleBot

Mars Rover

53

© 2014 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of

additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.