1
機械学習とデータマイニングは交差する部分が大きく 技法も同じなので混同されることが多いが 次のよう に定義できる 機械学習の目的は 訓練データから学んだ 既知 の特徴に基づく予測である データマイニングの目的は それまで 未知 だったデータの特徴を発見することである セルフサービス BI Power BI Wikipedia より引用 マシンラーニング Azure ML 定型レポート SSRS 2
リコメンデーション 同じ商品を買った人が買った別のアイテムをお勧め商品として提示 同じ属性を持った人が買った商品をお勧め商品として提示 分類 メール本文 タイトルの内容からスパムメールの分類 Web サイトの行動履歴から不正ユーザの検出 異常検知 センサー情報に基づく機械故障予測 NW アクセス情報から不正アクセスや攻撃を検知 ユーザ属性の推定 属性情報が完全に取れているお客様のデータから 属性情報に欠損のあるお客様の属性情報を推定 3
クラウドベースの機械学習実行基盤 機械学習の モデル作成 モデルの評価 から 作成した分析モデルのデプロイ ( Web サービス化 ) まで 機械学習の開発 ~ サービス提供で必要となるすべてのコンポーネントを Paas で提供 開発環境 予測モデルのデプロイ ( Web サービス ) Microsoft Azure Machine Learning 4
5
1. トレーニングデータ ( 実績データ ) の準備 予測モデルを作成する為のトレーニングデータ ( 実績データ ) を準備例 : 顧客属性によるお勧め商品の提示 ( リコメンデーション ) を行いたいのであれば どういった属性情報のお客様が どういう商品を買ったのかという実績データが必要 2. 予測モデルの開発と評価 3. 予測モデルの公開 (Web サービス ) 作成した予測モデルは 非常に簡単な操作で Web サービスとして公開可能 6
2 各部品のプロパティーを設定 1 部品をドラッグ & ドロップ Azure ML Studio の基本的な使い方 7
1 部品をドラッグ & ドロップ 2 各部品のプロパティーを設定 Azure ML Studio の基本的な使い方 8
9
Azure Machine Learning ではトレーニングデータを使ってモデルの学習を行い 予測モデルを作成 性別年齢喫煙有無目の色 肺がんの有無 ( 検診結果 ) 男性 19 有緑無 女性 44 有黒有 男性 49 有青有 男性 12 無茶無 女性 37 無 茶 無 女性 60 無 茶 有 男性 44 無青無 女性 27 有茶無 女性 51 有緑有 女性 81 有黒無 男性 22 有茶無 男性 29 無青無 トレーニングデータ ( 実績データ ) を元に予測モデルを作成 性別 : 男 年齢 :75 喫煙有無 : 無 目の色 : 青 10
Azure Machine Learning では 以下のシステム サービスからトレーニングデータをロード可能 CSV, TSV, ARFF, SvmLight 形式 Azure テーブル HDInsight (Hadoop) Training Data Azure Machine Learning OData 業務システム Azure SQL Database OData 11
12
トレーニングデータ 検証用データ 機械学習アルゴリズム Train Model Score Model Evaluate Model 予測モデルの見直し 予測モデルの評価 アルゴリズムの変更 パラメータの見直し
トレーニングデータの読込み 予測モデルの作成に使用するアルゴリズム データクレンジング メタデータ設定 予測モデルの作成 ( トレーニング ) 左インプット : 利用するアルゴリズム右インプット : トレーニングデータ 読み込んだデータを トレーニングデータ と 評価用データ に分割 作成した予測モデルを評価する為に 評価用データで予測を実行 予測結果の評価と可視化 14
ML Studio : Experiments > Evaluate Model > Evaluation Result True Positive False Positive True Negative False Negative Accuracy Precision Recall F1 Score Threshold AUC AUC 0.9-1.0 High accuracy AUC 0.9-0.7 Moderate accuracy AUC 0.5-0.7 Low accuracy 15
16
予測モデルの公開 (Web サービス ) 17
2 Web サービスの Input / Output を設定 3 PREPARE WEB SERVICE ボタンをクリックすると Web サービスが作成される 1 Deploy 用の Experiment を作成 18
API Help Page で作成された Web サービスの詳細を確認可能 WEB サービスは REQUEST/RESPONSE BATCH EXECUTION の 2 種類が作成される Web フォーム Excel を使って Web サービスや予測モデルの確認 評価を行う事が可能 19
REST API. POST リクエスト HTTP の Req/Res の body は JSON 形式 REST API. 入力として各種データソースが指定可能 Azure Blob/Azure Table/Azure SQL Database/HiveQL/HTTP レスポンスとして JOBID が返ってくる それを基にバッチジョブの状態を定期チェック 状態が Finished/Failed になったら処理結果を取得結果は Azure Blob に出力される
Request-Response Service Web サービス URI インプットパラメータ アウトプットパラメータ サンプルコード ( C# / Python / R ) Batch Execution Service (BES) Web サービス URI ジョブの投入方法 ジョブステータス確認方法 ジョブのキャンセル方法 サンプルコード ( C# / Python / R ) 21
1 Web フォームに入力パラメータを設定 1 Excel シートにパラメータを入力 2 予測結果が表示される 2 クリックすると予測結果が表示される 22
Microsoft Azure Hive Azure テーブル Azure Machine Learning Web Service Azure Blob ストレージ Batch Execution Service Azure SQL Database Power View 等のデータ分析 可視化ツール 業務システム HDInsight ( Hadoop ) Azure Blob ストレージ Training Data モデル作成 (Training) 評価 Request-Response Service 他システム Azure SQL Database OData Web システム OData 23
24
25
26
27
28
29
R 言語対応 Execute R Script / Create R Model モジュール R スクリプトの記述と実行を制御する Azure ML のモジュール 良く利用される 400 以上の標準的な R パッケージを事前ロード済み カスタムパッケージを作成 ロードして利用する事も可能 Execute R Script 主にデータ加工とプロット ( 可視化 ) に利用 Create R Model 機械学習の独自アルゴリズムの実装に利用 Training Script( 機械学習のアルゴリズム ) と Scoring Script ( 予測モデルの評価用スクリプト ) の 2 つを記述 カスタムパッケージ (Zip) Execute R Script モジュール Execute R Script モジュールの例 R スクリプトを記述 30
Python 対応 Execute Python Script モジュール Python Script の記述と実行を制御する Azure ML のモジュール データ加工 予測結果のプロット 等に利用可能 Python の実行環境には データ分析 科学技術計算ライブラリが豊富な Anaconda ディストリビューションを採用 カスタムパッケージを作成 ロードして利用する事も可能 カスタムパッケージ (Zip) Execute R Script Python スクリプトを記述 Execute R Script モジュールの例 31
依存関係のある R パッケージ (.zip) をまとめて ZIP 化して +NEW で Dataset としてアップロードする Saved Datasets からアップロードした Dataset を Drag & Drop し R 実行モジュールの Script Bundle Port ( 一番右側の入力ポート ) に接続し install.packages を利用して ZIP 内の R パッケージを読み込む 読み込み先としてセットするパスの src/ 部分は固定 スクリーンショットは RHmm モジュールを読み込んで利用している例 依存関係のある MASS と nlme を含めている 32
33
Azure ML を用いてビルの熱源 動力の制御モデルを構築し 自動制御を実施 1 建物の情報を Microsoft Azure にリアルタイム送信 2 機械学習 Microsoft Azure Machine Learning によりデータを解析 学習し 建物にフィードバック これまでのビル設備管理は 経験と勘 に頼っていたが 今回の連携とクラウド化によって 実データに基づく制御モデルの構築や管理の自動化が可能となり ビルの使用エネルギー効率化と管理負担の軽減が実現する 34
Azure ML を用いたエレベーターの予防保守 お客様のプロファイル : ThyssenKrupp Elevator は世界をリードするエレベーター会社の 1つで 売上高は 62億ポンド, 900の拠点に 49,000 人の従業員がいる 低コストかつ精度の高い保守サービスを Azure 上 で構築し エレベーターシステムの信頼性を向上して差別化 ThyssenKrupp Elevator は世界中に 110万以上のエレベーターを導入し ており 世界でも最も象徴的なビ ルも含まれる ThyssenKrupp は問題を先取りした 高度な予兆保全サービスを施すこ とで劇的に高い連続稼働性を確保 し 同時に保守コストを下げるこ とで顧客価値を高め確実に保守契 約を取りたい 急成長するアジア市場で保守技術 者を大量に育成しなければならな い センサーとエレベータ制御システムか らクラウドにデータを集め PC や モ バイルでリアルタイムの状態を KPI で 可視化 問題発生の予兆と対応方法を 自動的に提示して保守員がいつでもど こでも利用できるようにする エキスパートのノウハウを機械学習で システムに学ばせ世界中に展開する Microsoft Azure をベースに Power BI for Office 365, Azure Machine Learning を組み合わせてシステムを構築 予兆保全と迅速に対応可能な遠隔 診断システムによりエレベーター システムの信頼性を向上 ThyssenKrupp とその顧客の保守費 用を削減 予測モデルを継続的に成長させ精 度を向上し 急成長する市場の未 熟な保守技術者にも展開 デバイスとの双方向のデータフ ローにより エレベータの診断と コマンド送信の遠隔操作が可能に 35
36
Free Standard ML シート (Workspace) ML Studio 1,018.98/ シート / 月 102 / 実行時間 API プロダクション API Compute 時間 プロダクション API 実行回数 無償 204 / 時間 51/ 1,000 回 http://azure.microsoft.com/en-us/pricing/details/machine-learning/ *1 ML Studio Service で格納したデータサイズに応じて Azure Storage ( GRS: ページ BLOB ) の費用とストレージトランザクションの費用が発生します *2 価格は MOSP 価格 ( 従量課金制プラン ) における各リージョンの 2015 年 4 月 1 日時点の価格になります *3 Azure Storage については別途従量課金で費用が発生します (http://azure.microsoft.com/ja-jp/pricing/details/storage/) *4 ML Studio に格納されているデータをダウンロードする場合には Data Transfer の費用が別途発生します 37
認証用アカウント Free Microsoft アカウント ( Azure Subscription / クレジットカードの登録は不要 ) Azure アカウント Standard 一つの Experiment で利用出来るモジュール数 100 制限なし Experiment の最大実行時間 1 時間制限なし 最大ストレージ容量 10 GB 制限なし 実行パフォーマンスシングルノードマルチノード ステージング Web API 利用可能 ( パフォーマンス制限あり ) プロダクション Web API 利用不可利用可能 SLA なしあり 利用可能 ( 選択可能なパフォーマンス ) http://azure.microsoft.com/en-us/pricing/details/machine-learning/ 38
無償開発者標準 プロフェッショナルダイレクト *1 Premier 月額料金 0 2,958 30,600 102,000 個別見積り 課金およびサブスクリプションの管理 コミュニティフォーラム サービスダッシュボード Web ベースのインシデント提出 無制限のプラットフォームの障害ソリューション *2 最初の応答時間 *2 8 時間未満 2 時間未満 1 時間未満 15 分未満 *3 電話サポート ( コールバック ) 3 回 / 月無制限無制限 優先的な対応 *1 プロフェッショナルダイレクトサポートに関連したアドバイザリサポートサービスは 各リージョンの営業時間内に英語および日本語でのみご利用いただけます エスカレーション電話回線 アドバイザリサポート オンサイトサービス 限定 フル *2 現地言語でのお問い合わせには営業時間内に 英語でのお問い合わせには深刻度を問わず 24 時間 365 日体制で 日本語でのお問い合わせには深刻度 A のみ 24 時間 365 日体制で それぞれご対応いたします *3 15 分の応答時間は Microsoft Rapid Response および Azure の Premier サポートを購入されたお客様にのみ適用されます 詳細 : http://azure.microsoft.com/ja-jp/support/plans/ 39
Microsoft Azure では無料でトライアルが可能 http://azure.microsoft.com/ja-jp/ 40
Microsoft Azure Machine Learning Center http://azure.microsoft.com/ja-jp/documentation/services/machine-learning/ Azure Machine Learning Support Forum http://social.msdn.microsoft.com/forums/azure/en-us/home?forum=machinelearning Machine Learning Blog http://blogs.technet.com/b/machinelearning/ 41
本書に記載した情報は 本書各項目に関する発行日現在の Microsoft の見解を表明するものです Microsoft は絶えず変化する市場に対応しなければならないため ここに記載した情報に対していかなる責務を負うものではなく 提示された情報の信憑性については保証できません 本書は情報提供のみを目的としています Microsoft は 明示的または暗示的を問わず 本書にいかなる保証も与えるものではありません すべての当該著作権法を遵守することはお客様の責務です Microsoft の書面による明確な許可なく 本書の如何なる部分についても 転載や検索システムへの格納または挿入を行うことは どのような形式または手段 ( 電子的 機械的 複写 レコーディング その他 ) および目的であっても禁じられています これらは著作権保護された権利を制限するものではありません Microsoft は 本書の内容を保護する特許 特許出願書 商標 著作権 またはその他の知的財産権を保有する場合があります Microsoft から書面によるライセンス契約が明確に供給される場合を除いて 本書の提供はこれらの特許 商標 著作権 またはその他の知的財産へのライセンスを与えるものではありません 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, その他本文中に登場した各製品名は Microsoft Corporation の米国およびその他の国における登録商標または商標です その他 記載されている会社名および製品名は 一般に各社の商標です