[developers festa sapporo 2015] azure machine learningで機械学習を始めよう

72
日本マイクロソフト株式会社 Azure テクノロジスト 佐藤 直生 / @satonaoki Developers Festa Sapporo 2015 Azure Machine Learning 機械学習を始めよう

Upload: naoki-sato

Post on 14-Apr-2017

5.360 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

日本マイクロソフト株式会社 Azure テクノロジスト佐藤直生 / @satonaoki

Developers Festa Sapporo 2015

Azure Machine Learningで機械学習を始めよう

Page 2: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 3: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 4: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Platform Services

Security & Management

Infrastructure Services

Web Apps

MobileApps

APIManagement

APIApps

LogicApps

NotificationHubs

Content DeliveryNetwork (CDN)

MediaServices

HDInsight MachineLearning

StreamAnalytics

DataFactory

EventHubs

MobileEngagement

ActiveDirectory

Multi-FactorAuthentication

Automation

Portal

Key Vault

BiztalkServices

HybridConnections

ServiceBus

StorageQueues

Store /Marketplace

HybridOperations

Backup

StorSimple

SiteRecovery

Import/Export

SQLDatabase

DocumentDB

RedisCache Search

Tables

SQL DataWarehouse

Azure AD Connect Health

AD PrivilegedIdentity Management

OperationalInsights

CloudServices

Batch Remote App

ServiceFabric Visual Studio

ApplicationInsights

Azure SDK

Team Project

VM Image Gallery& VM Depot

Page 5: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 6: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

データの爆発

Page 7: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

バッファつきのデータ入力

Microsoft Account

Purchases

$1.00 Halo Spartan Assault

$1.00 Halo Spartan Assault

ホットストア

評価

保存・蓄積

分析用ストア

抽出・加工 データ利用者

イベント加工

イベント処理

バッチ

リアルタイム

ラムダアーキテクチャ

Page 8: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

バッファつきのデータ入力

Microsoft Account

Purchases

$1.00 Halo Spartan Assault

$1.00 Halo Spartan Assault

ホットストア

評価

保存・蓄積

分析用ストア

抽出・加工 データ利用者

イベント加工

イベント処理

バッチ

Event Hubs

Machine

Learning HBase

SQL Database

~500GB

Data Lake

Store ~ EB

SQL Data

Warehouse

~ PB

Azure Data

Factory

HDInsight

(Hadoop) /

Data Lake

Analytics

Stream

Analytics

ラムダアーキテクチャと Azure

リアルタイム

Page 9: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

なぜ起こったのか?

これから何が起こりそうか?

何をすべきか

何が起こったのか?

最適な行動を判断するための情報

Page 10: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Power BI

Machine Learning

SQL DataWarehouse

HDInsight

Data Lake Analytics

Data Lake Store

Stream Analytics

Data Factory

Data Catalog

Event Hubs

情報管理ビッグデータ

機械学習 分析

Page 11: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Cortana Analytics Suiteデータ

業務アプリ

一般アプリ

センサー / デバイス

インテリジェンス アクション

自動化されたシステム

Page 12: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 13: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

• Azure Machine Learning の位置づけの理解

• タイプ別、最低限おさえておきたい使い方

• 機械学習がIT業界にもたらす変化

Page 14: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

データ活用領域

Hindsight(見える化)

データ活用度

種類規模

Insight(気づき)

Foresight(予測)

単独システムのデータ 複数システムのデータ 社外データとの連携

② 手軽に始めるクラウドベースの機械学習

•豊富なアルゴリズムを用いて機械学習を試せる環境を時間単位で手軽に利用可能

•構築したモデルを他のシステムと連携(API 公開)により直ぐに利用可能

API公開

Azure Machine Learning

① Excel ベースの強力な BI

使い慣れた Excel ベースの UI のため、どのユーザー部門でも容易に活用ができ、レポート表示・項目変更もユーザー主導で

Power BI ③-2 データ種類・場所に依存しない Hybrid なデータ結合・共有

•社内のオンプレ・クラウド環境の構造・非構造データや、外部のデータを容易に結合できる ETL 機能

• クラウドベースのデータ共有環境(SharePoint OL)

Azure Data Factory

SQL Server Integration Service

③-1 パフォーマンスを最適化するアーキテクチャ

•最新のインメモリ技術等によるパフォーマンスの最大化

•大量データの収集(Data Lake)から適切な形での保管(Data Warehouse)、容易な取り出し(Data Mart)までを容易に実現できる基盤 Data Lake Data

WarehouseDataMart

Page 16: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

データ

学習用データ/評価用データを分割する (例: 60% : 40%)

モデルの訓練(学習アルゴリズムの訓練)

モデル

学習データを使用して、最適な結果を出すモデルを作成する

データの正規化(不要・不正なデータの削除)

アウトプット/評価

実世界のデータ

Page 17: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

データ

学習用データ/評価用データを分割する (例: 60% : 40%)

モデルの訓練(学習アルゴリズムの訓練)

モデル

データの正規化(不要・不正なデータの削除)

アウトプット/評価

実世界のデータ

Page 18: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 19: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

機械学習

教師あり学習(正解データがある場合)

中間的手法教師なし学習

(正解データがない場合)

識別(カテゴリ分類)

回帰(数値推測)

モデル推定(クラスタリング)

パターンマイニング

データが正解つき/なしの組み合わせ 手法が正解つき/なしの組み合わせ

購買パターン発見音声/文字認識文章のP/N 判定

売り上げ予測 顧客の分類

Page 20: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Bing maps

launches

家までの最適なルートは?

Microsoft

Research

formed

Kinect

launches

その動作はどういう意味?

Azure Machine

Learning

launches

次に起こるのは何?

Hotmail

launches

ジャンクメールはどれ?

Bing search

launches

どの検索結果が最も関連性があるか?

Skype

Translator

launches

その人は何と言っている?

Microsoft と Machine Learning

John Platt, Distinguished scientist at

Microsoft Research

1991 201420091997 201420102008

Machine learning= 経験(過去データ+人の入力)により賢くなるコンピューティングシステム

“Machine learning is pervasive throughout Microsoft products.”機械学習はマイクロソフトの製品・サービスで広く使われています

20

Page 21: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

レコメンデーションエンジン

広告配信

・効果分析

ピンポイントの詳細な天気予報

ソーシャルネットワーク分析

ITインフラ最適化法的証拠開示、文書アーカイブ

価格分析 不正利用検出

顧客離れ分析

(チャーン)

故障検知・設備保全

位置情報

・トラッキング

高度にパーソナライズされた保険商品

利益創出、

コスト削減に

直結する分野における

実際の活用例

Page 22: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 23: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Make machine learning accessible to every enterprise, data scientist, developer, information worker, consumer, and device anywhere in the world.

Azure Machine Learning (Azure ML)

機械学習を世界中のあらゆる人々やデバイスからアクセスできるようにする仕掛け

Page 24: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

インフラ管理担当者

データサイエンティスト

アルゴリズム研究者

開発者、ISV

ML Studio

ML APIMarketplace

ML Operationalization(運用、データ操作)

ML

Algorithms

Page 25: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Azure ML と向き合う 3 つのアプローチ

API を利用Azure ML Studio で

テンプレートを編集

ゼロからモデルを作成

Page 26: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

http://gallery.azureml.net/

Page 27: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 28: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 29: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 30: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

ProjectOxford.Face.Contract.Face[] detectionResults = new ProjectOxford.Face.Contract.Face[0];

ProjectOxford.Face.Contract.IdentifyResult[] identifyResults = new ProjectOxford.Face.Contract.IdentifyResult[0];

using (var imageFileStream = Context.ContentResolver.OpenInputStream(imageUri))

{

//Call detection and identification REST API

Page 31: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

http://how-old.net/

Page 32: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

http://how-old.net/

Page 33: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

テキスト分析サービス

非構造化テキストを分析製品レビュー、サポートチケット、電子メールなど

感情分析自社の顧客が、自社のブランドや製品についてどのように感じているか?

主要フレーズの抽出自社の顧客が、何について話しているか?

感情分析

主要フレーズの抽出

“It was a wonderful hotel, with

unique décor and friendly staff”

“It was a wonderful hotel, with

unique décor and friendly staff”

http://text-analytics-demo.azurewebsites.net/

Page 34: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 35: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Building a Custom ExperienceWindows 10 November Updateで、Cortanaが日本語に対応

Page 36: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

使いやすい! 親しみやすい!

「コルタナさん、シャットダウン」いうたら電源ボタンの場所を教えてくれた。わーい …自分で押せと?

コルタナをみんなで一緒に育てるか(^o^)(いいねえ)

おお!さすがCortana。丁寧な日本語で「何とお呼びすればよろしいですか?」と聞かれました。

とても便利であり興味がわく

コルタナ、音声認識の精度は高いんだけど、それをコマンドとして認識していない。改良されたら良くなりそうな期待感はある。

Twitterのつぶやきから

Page 37: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

マイクロソフトのCortana開発陣に聞く –日本語ならではの苦労と展望、そしてCortanaの本質

http://news.mynavi.jp/articles/2015/11/24/cortana/

Page 38: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 39: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

http://rinna.jp/

Page 40: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 41: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

http://www.msxiaoice.com/

https://blogs.bing.com/search/2014/09/05/meet-xiaoice-cortanas-little-sister/

Page 42: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 43: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 44: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 45: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 46: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

July 31 Nov

Friends on LINE

1.6M+

Sep Oct

Sheep counting Diary Detective story ♡♡♡&www Food terrorism Morning call

Net slang Dog recognition Rinna photo Love diagnosis

Page 47: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Recognize dogs is one ofmy strengths. I recognizedbull terrier at a glance. It isadorable, and looks likeHongLei Sun or YongJianLin, what do you think?

It’s so easy, this book is“Creativity, Inc.”. Peoplewho like this type book aretrying their best to be bigbosses in their area, right?Broken like this, do you want

to try my needlework?

Do you have a boyfriend?If not, find a post 90s boy,he can give you 7.2 beautyscore.

Good buddies

Very gentle heart

Page 48: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

http://japan.zdnet.com/article/35073647/

Page 49: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

http://japan.zdnet.com/article/35073647

http://ascii.jp/elem/000/001/079/1079132/

http://techon.nikkeibp.co.jp/atcl/news/15/111201141/?P=1

http://news.mynavi.jp/column/compass/052/

http://news.mynavi.jp/articles/2015/11/10/microsoft/

http://news.mynavi.jp/articles/2015/11/11/microsoft_ai/

http://logmi.jp/92206

http://itpro.nikkeibp.co.jp/atcl/column/14/090100053/082700080/

Page 50: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Azure ML と向き合う 3 つのアプローチ

API を利用Azure ML Studio で

テンプレートを編集

ゼロからモデルを作成

Page 51: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Data Scientist

Best of MS

ML Studio

ML

Algorithms

Page 52: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
Page 55: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Event Hub Streaming

Data の処理

Stream Analytics

Azure ML バッチ実行サービス

Power BI ダッシュボード

リアルタイム処理の流れ

データ集約

外部データ Azure 内の処理

Azure SQL

リアルタイムデータ統計

Azure Data Factory

データパイプラインからAzure MLバッチサービスを起動

Real Tim

eBatc

h

リアルタイム

遠隔測定

データ

Azure Data Factory データパイプライン

の生成

バッチアップデート

Azure ML要求応答サービス

オンプレミスSQL Server

Page 56: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

56

Azure Machine Learning Studio 機能の概要図

https://azure.microsoft.com/ja-jp/documentation/articles/machine-learning-studio-overview-diagram/

Page 57: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Microsoft Azure Machine Learning Studio の機械学習アルゴリズムチートシート

57https://azure.microsoft.com/ja-jp/documentation/articles/machine-learning-algorithm-cheat-sheet/

Page 58: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

http://gallery.cortanaanalytics.com/Experiment/bbe8503e4740473a9836aae6a914e3c0

Page 59: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Azure ML と向き合う 3 つのアプローチ

API を利用Azure ML Studio で

テンプレートを編集

ゼロからモデルを作成

Page 60: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

機械学習

教師あり学習(正解データがある場合)

中間的手法教師なし学習

(正解データがない場合)

識別(カテゴリ分類)

回帰(数値推測)

モデル推定(クラスタリング)

パターンマイニング

データが正解つき/なしの組み合わせ 手法が正解つき/なしの組み合わせ

購買パターン発見音声/文字認識文章のP/N判定

売り上げ予測 顧客の分類

Page 61: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

レコメンド方式 ルールベース コンテンツベース 協調フィルタリング ベイジアンネットワーク

分析情報 過去の実績マーケティングデータ

アイテム間の関係性 ユーザーの購買履歴 コンテンツ属性行動履歴

ロジック 独自ルールに基づき推薦。

コンテンツ属性を事前に分析・分類し、関連性を元に推薦。

購買履歴を自動的に解析し、ユーザーの嗜好に応じたアイテムを推薦。

ユーザーが行動モデルを作成し、確率を計算した上で、推薦。

メリット 運営者、経営者の意思を反映しやすい

コンテンツ属性を決定する際に推薦するものを調整できる。

運営者の手間が少ない。セレンティビティあり。

目的に応じて、精度の高い推薦ができる。

デメリット ユーザーの意思が反映されにくい。運営者の手間大

セレンティビティなし。運営者の手間大。

ユーザーの購買履歴を一定数収集する必要がある。

計算結果を得られるために時間がかかる。

Page 62: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

江田

南野

大田 砂金

0

1

2

3

4

5

6

0 1 2 3 4 5 6

ユニコーン

ガンダム

This is it

例えば、ユーザーの行動履歴をもとにしたレコメンデーションといった、シンプルなモデルでも、ユークリッド距離計算などの理解が必要となる

1

3 2

大田 (2,5) と砂金(3,5) の距離 : 1

大田 (2,5) と江田 (5,2) の距離 :

2 − 5 2 + (5 − 2)2= 9 + 9 = 18 = 3 2

2次元のユークリッド距離は上記のとおり単純な三角比計算多次元の場合にも同じで、下記のような数式で計算

𝑝1 − 𝑞12 + 𝑝2 − 𝑞2

2 +⋯+ (𝑝𝑛 + 𝑞𝑛)2

=

𝑖=1

𝑛

(𝑝𝑖−𝑞𝑖)2

Page 63: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

AUC(Area under the curve)ROC曲線の右下分にできる図形の面積大きくなる(1に近づく)ほど性能がよいといえる一般的に0.7 以下では精度が高いモデルとはいえない

ROC(Receiver Operating Characteristic;受信者動作特性)曲線モデルによる判定ミスがどのくらいあるかを検知する

Root Mean Square Error : 2乗平均平方根誤差(近似線からの誤差)Mean Absolute Error :平均絶対誤差(RMSEの平均)Coefficient of Determination : 寄与率(独立変数が従属変数のどれくらいを説明できるかを表す。この値が低いということは,得られた重回帰式の予測能力が低いことを意味する)

Page 64: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

http://bit.ly/azuremlR

Page 65: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

65

Page 66: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

66

Page 67: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

67

Page 68: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

68

Page 69: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

https://azure.microsoft.com/ja-jp/documentation/services/machine-learning/

https://studio.azureml.net/

Page 70: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

自ら学習するマシンを生み出すことには、マイクロソフト10社分の価値がある。

Bill Gates Feb. 2004

Page 71: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

Microsoft Azure 技術セミナー / トレーニングへのご参加

http://aka.ms/dx-events

オンラインラーニング活用で技術スキルやノウハウの習得

http://aka.ms/azurequest

Microsoft Azureの技術的な質問はサポートを活用http://aka.ms/onlinefaq

Page 72: [Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう

© 2015 Microsoft Corporation. All rights reserved.