AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82...

31
de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析 株式会社ネクストスケープ システムインテグレーション事業本部 クラウド推進部 部長 上坂 貴志

Transcript of AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82...

Page 1: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

de:code 2019 AI82

開発者のための機械学習入門:Azure Machine Learning Studio で構造化

データから予測分析

株式会社ネクストスケープ

システムインテグレーション事業本部 クラウド推進部部長

上坂貴志

Page 2: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

このセッションについて

Page 3: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

自己紹介

Page 4: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

自己紹介

https://www.slideshare.net/uesaka

Page 5: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

機械学習を理解するポイントエンジニアにとって

Page 6: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

機械学習を理解するポイント

学習済みモデル

推測結果 𝑓 が得られる

Page 7: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

機械学習を理解するポイント

などの係数を決定

学習済みモデル

𝑓 𝑥1, … = 𝑎 + 𝑏𝑥1 + …

※重回帰分析の例

Page 8: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

機械学習を理解するポイント

学習済みモデル

学習済みモデル

推測結果𝑓

説明変数+目的変数 説明変数

Page 9: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

機械学習を理解するポイント

Workclass Education ・・・ income

説明変数 目的変数

予測結果の原因 予測結果

Page 10: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

機械学習を理解するポイント

• 欠損値を補完

• 補完しきれないデータの削除

• クラスタリングによる外れ値の削除

• 正規化(数値を0~1に収める)

• 余計な説明変数の削除

• 重複データ対処など

データの丁寧なク

レンジング

Page 11: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

機械学習を理解するポイント

• モデル(アルゴリズム)は沢山

あるため、どれがベストなのかを

判定するために同じデータに対し

て複数のモデルをトレーニングし、

結果を比較

モデルの

比較選択

Page 12: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

機械学習を理解するポイント

• モデル(アルゴリズム)にはそれぞれに

トレーニング時に使用する独自パラメー

タが存在する。これをハイパーパラメータ

と呼ぶ。ハイパーパラメータを変えること

で予測精度の上昇が見込める

ハイパーパラメータ

のチューニング

Page 13: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

予測用システム構築のポイント

Page 14: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

予測用システム構築のポイント

Page 15: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

予測用システム構築のポイント

Linux

学習環境と本番環境のOS・プログラミング言語が同じでよい場合

Linux

フレームワーク

• The Microsoft Cognitive Toolkit

• Tensorflow

• Keras

• etc

Page 16: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

予測用システム構築のポイント

C#

ASP.NET Core

http

学習環境と本番環境のOS・プログラミング言語が違う場合

Linux

Windows Linux

フレームワーク

フレームワーク

Page 17: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

予測用システム構築のポイント

ONNX : Open Neural Network Exchange Format

C# ML.NET

学習に使用したモデルがニューラルネットワークベースの場合

学習環境と本番環境のOS・プログラミング言語が違う、かつ

Linux Windows

TensorFlow

Keras

Page 18: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

予測用システム構築のポイント

最新データ

Page 19: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

Azure Machine Learning Studio

Page 20: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

• Web (via http) , Hive Query(Hadoop), ファイル(Azure Blob

Storage)、Azure SQL Database, Odata, SQLServer(On-

Premiss), Azure CosmosDB

読み込めるデータソースの種類が豊富

• 全25種類(二項分類:9, 多項分類:5, 回帰:8, 異常検知:2,

クラスタリング:1)

モデル(アルゴリズム)豊富

Azure Machine Learning Studio

Page 21: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

• データの統計情報、欠損値補完、不要レコード除去、特

徴量標準化、Normalizeなど

データクレンジング用の便利モジュールあります

•精度の比較用のモジュールもある

複数のモデルの学習がとても簡単に実施

Azure Machine Learning Studio

Page 22: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

• 自動的にパラメータを変更しながら試行

ハイパーパラメータの自動チューニングあります

• 学習時と同様のGUIによる構築が簡単に誰でもすぐに可能

Webサービスのデプロイ

• PowerShellによる自動化が可能

モデルの更新からWebサービスへ再デプロイ

Azure Machine Learning Studio

Page 23: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

知っておくべき検討事項

Azure Machine Learning Studio

• 裏側で稼働しているであろうVMのスケールアップができないため、処理

時間を短縮することができない。大量データ使用時には要注意

モデルの学習時

• 独自Webサービスでのみ公開可能。学習済みモデルをダウンロードして

他の環境で使用することはできない

• 独自Webサービスのスケールアップはできないため、アクセス負荷に注意

学習済みモデルの使用時

Page 24: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

Video

Page 25: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析
Page 26: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析
Page 27: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

Azure Machine Learning ServiceVisual Interface

Page 28: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

Azure Machine Learning Service Visual Interface

Page 29: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

Azure Machine Learning Service Visual Interface

https://docs.micros

oft.com/ja-

jp/azure/machine-

learning/service/ove

rview-what-is-

azure-ml#how-

does-azure-

machine-learning-

service-differ-from-

studio

Page 30: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

使い勝手はStudioと全く同じ

コンピューティングリソースを作成・選択できるところが大きい!クラウドらしい!

便利なモジュールが足りないが、今後拡充されるでしょう

Azure Machine Learning Service Visual Interface

Page 31: AI82 開発者のための機械学習入門: · 2019-05-30 · de:code 2019 AI82 開発者のための機械学習入門: Azure Machine Learning Studio で構造化 データから予測分析

© 2018 Microsoft Corporation. All rights reserved.

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

© 2019 NEXTSCAPE INC. All rights reserved.

本情報の内容 (添付文書、リンク先などを含む) は、de:code 2019 開催日 (2019年5月29~30日) 時点のものであり、予告なく変更される場合があります。

本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。