Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IBM Dojo #6 Auto AI を使ったらくらく機械学習 / IBM Dojo ML ...

IBM Dojo #6 Auto AI を使ったらくらく機械学習 / IBM Dojo ML with AutoAI 20200219

2020年2月19日開催のIBM Dojo #6 Auto AI を使ったらくらく機械学習の資料です。

Kyoko Nishito

February 19, 2020
Tweet

More Decks by Kyoko Nishito

Other Decks in Programming

Transcript

  1. タイムテーブル 14:00-14:05 (5min) オープニング 資料ダウンロード,出席登録など ⽇本アイ・ビー・エム株式会社 デベロッパーアドボケイト ⻄⼾ 京⼦ 14:05-15:00

    (55min) オンライン: IBM Dojo #6 Auto AI を使ったらくらく機械学習 ⽇本アイ・ビー・エム株式会社 デベロッパーアドボケイト ⻄⼾ 京⼦ 15:00-15:15 (15min) Q&A クロージング ⽇本アイ・ビー・エム株式会社 デベロッパーアドボケイト ⻄⼾ 京⼦
  2. 機械学習 Machine Learning 12 12 課題: ⼼不全がおこるかどうかを判断する *BMI: 体重kg÷(⾝⻑m*⾝⻑m) 実⾏:

    モデルは⼼不全の有無 を予測 学習: 学習し結果予測モデル作成のために データセットを利⽤ ⼼拍数 BMI 年齢 性別 結果 93 25 49 F False 108 24 32 M False 80 31 60 M True 93 27 58 F True ⼊⼒: ⼼拍数, BMI*, 年齢, 性別
  3. 今までのやり⽅ -- Traditional 13 データ ルール if BPM-BMI > 60:

    result = True else: result = False 結果 アルゴリズム
  4. 機械学習 Machine Learning 15 データ ルール アルゴリズム(モデル) 結果 (学習済モデル) 学習

    (パラメータ内部調整) ルール (学習済モデル) 予測したい データ 予測結果
  5. 教師あり学習 機械学習 教師なし学習 強化学習 回帰 Regression 分類 Classification ニューラル ネットワーク

    連続した数値を推定 Watson Studioの AutoAI機能で プログラミングなしで モデル作成が可能! AdaBoost Regression Elastic Net with Cross- Validation Nearest Neighbor Analysis (KNN) Lasso Lars with Cross- Validation MLP Regression Orthogonal Matching Pursuit with Cross- Validation Random Forest Regression Theil-Sen Regression ARD Regression Elastic Net Kernel Ridge Lasso Lars MultiTask Elastic Net CV Orthogonal Matching Pursuit RANSAC Regression XGBoost Regression Bayesian Ridge Regression Gaussian Process Lars with Cross- Validation Lasso Lars IC MultiTask Elastic Net Passive- Aggressive Regression Ridge with Cross- Validation CCA Gaussian Process Regression Lars LGBM Regression Multi Task Lasso CV PLS Canonical Ridge Decision Tree Regression Gradient Boosting Regression Lasso with Cross- Validation Linear Regression Multi Task Lasso PLS Regression SGD Regression Extra Trees Regression Huber Regression Lasso Linear Support Vector Regression Nu SVR Radius Neighbors Regression Support Vector Regression AdaBoost Classifier Gaussian Naïve Bayes Classifier Label Spreading Logistic Regression Passive Aggressive Classifier Ridge Classifier with Cross- Validation Bernoulli Naïve Bayes Classifier Gaussian Process Classifier LGBM Classifier MLP Classifier Perceptron Ridge Classifier Calibrated Classifier with Cross-Validation Gradient Boosted Tree Classifier Linear Discriminant Analysis Multinomial Naïve Bayes Classifier Quadratic Discriminant Analysis SGD Classifier Decision Tree Classifier Nearest Neighbor Analysis (KNN) Classifier Linear Support Vector Classifier Nearest Centroid Radius Neighbors Classifier Support Vector Classifier Extra Trees Classifier Label Propagation Logistic Regression with Cross- Validation Nu Support Vector Classifier Random Forest Classifier XGBoost Classifier 分類クラスを推定
  6. (参考) AutoAIでサポートしているモデル(回帰) 回帰型モデルでは、次の44種類のモデルをサポートしています。 AdaBoost Regression Elastic Net with Cross- Validation

    Nearest Neighbor Analysis (KNN) Lasso Lars with Cross- Validation MLP Regression Orthogonal Matching Pursuit with Cross- Validation Random Forest Regression Theil-Sen Regression ARD Regression Elastic Net Kernel Ridge Lasso Lars MultiTask Elastic Net CV Orthogonal Matching Pursuit RANSAC Regression XGBoost Regression Bayesian Ridge Regression Gaussian Process Lars with Cross- Validation Lasso Lars IC MultiTask Elastic Net Passive- Aggressive Regression Ridge with Cross- Validation CCA Gaussian Process Regression Lars LGBM Regression Multi Task Lasso CV PLS Canonical Ridge Decision Tree Regression Gradient Boosting Regression Lasso with Cross- Validation Linear Regression Multi Task Lasso PLS Regression SGD Regression Extra Trees Regression Huber Regression Lasso Linear Support Vector Regression Nu SVR Radius Neighbors Regression Support Vector Regression
  7. (参考) AutoAIでサポートしているモデル(分類) 分類型モデルでは、次の30種類のモデルをサポートしています。 AdaBoost Classifier Gaussian Naïve Bayes Classifier Label

    Spreading Logistic Regression Passive Aggressive Classifier Ridge Classifier with Cross- Validation Bernoulli Naïve Bayes Classifier Gaussian Process Classifier LGBM Classifier MLP Classifier Perceptron Ridge Classifier Calibrated Classifier with Cross-Validation Gradient Boosted Tree Classifier Linear Discriminant Analysis Multinomial Naïve Bayes Classifier Quadratic Discriminant Analysis SGD Classifier Decision Tree Classifier Nearest Neighbor Analysis (KNN) Classifier Linear Support Vector Classifier Nearest Centroid Radius Neighbors Classifier Support Vector Classifier Extra Trees Classifier Label Propagation Logistic Regression with Cross-Validation Nu Support Vector Classifier Random Forest Classifier XGBoost Classifier
  8. Watson Studio 概念図 エンタープライズ・カタログ (メタデータや分析資産を共有し、だれもが使える状態に) データソース 構造化 パブリック オンプレミス プライベート

    データ加⼯/品質確認 (プレパレーション) AI/マシン ラーニング データ可視化 ダッシュボード データへのアクセス データ蓄積 整える 分析活⽤する つなぐ データ サインティスト ビジネスプロセス スコアリング 結果 提供者の視点 利⽤者の視点 Watson Studio チームで協働する データ分析
  9. Watson Studioの特徴 –分析の全プロセスで⼀貫して使えるツール - データソース カタログ 抽出 加⼯・結合 テーブル作成 (BIモデル

    作成) データ 可視化 機械学習 モデル作成 特徴点 抽出 Tool A Tool B Tool C Watson Studio ガバナンス 再利⽤ 基盤担当 データ エンジニア データサイエンティスト アプリ開発者 データ ガバナンス担当 つなぐ 整える 分析活⽤する チームで協働する
  10. 整える︓データ準備 (探索・確認・加⼯) の効率化 データの品質や分布を可視化 ⽋損値や外れ値を把握・修正 ユーザー⾃⾝が、様々な データをGUIで簡単に加⼯ • 検索機能をつかって探し出す •

    他のユーザが作成した加⼯デー タ等を共有・再利⽤が出来る ⽬的に合う正しいデータを 探し取り出す データの特徴・分布状況を 簡単に確認 データ加⼯や結合を容易に ① データカタログ ② データプロファイル ③ セルフETL
  11. Watson Studio 機能 • カタログ機能: Connection登録 • カタログ機能: テーブル登録 •

    カタログ機能: ⽂書 • Refinery: データ分析 • Refinery: データ整形 • Cognos Service: BI Tool • 機械学習⽤GUIツール (AutoAI) • SPSS modeler機能 • R Studio機能 • Jupyter Notebook機能 • 深層学習⽤GUIツール (Neural Network Designer) • 深層学習⽤GUIツール (Experiment Builder) • 深層学習⽤の実験環境(HPO)の提供 • Decision Optimizer • Machine Learning: モデル管理機能 • Machine Learning: Webサービス化 • Machine Learning: モデルの再評価、再学 習、再配置 • Visual Recognition Model作成ツール • Natural Language Classifier model作成 ツール • NeuNetS(学習データ(イメージ)に応じて最 適な深層学習モデルを⽣成)
  12. Watson Studio 機能 • カタログ機能: Connection登録 • カタログ機能: テーブル登録 •

    カタログ機能: ⽂書 • Refinery: データ分析 • Refinery: データ整形 • Cognos Service: BI Tool • 機械学習⽤GUIツール (AutoAI) • SPSS modeler機能 • R Studio機能 • Jupyter Notebook機能 • 深層学習⽤GUIツール (Neural Network Designer) • 深層学習⽤GUIツール (Experiment Builder) • 深層学習⽤の実験環境(HPO)の提供 • Decision Optimizer • Machine Learning: モデル管理機能 • Machine Learning: Webサービス化 • Machine Learning: モデルの再評価、再学 習、再配置 • Visual Recognition Model作成ツール • Natural Language Classifier model作成 ツール • NeuNetS(学習データ(イメージ)に応じて最 適な深層学習モデルを⽣成) 今回は上記⿊字機能を ご紹介します
  13. Refinery (データ整形) Refineryはデータ整形機能を持っています。下記のような処理をプログラミングなしに実現可能です。 また⼀度実⾏した⼿順を覚えて、同じ処理を⾃動で再実⾏することもできます(スケジュール機能)。 Knowledge Catalog 四則計算 属性変換 フィル ター

    関数計算 除去 リネーム ソート(昇 順) ソート(降 順) 表示マス キング テキスト 処理 欠損値へ変 換 重複行除去 空白行除去 欠損値の置 換 部分文字列 置換 日時データ 抽出 集約 条件置換 ジョイン サンプル抽 出 列分割 連結 ストップ ワード除去 形態素解析
  14. AutoAIの⾃動学習 データ前処理 効率のいいモデル作成に必須の処理である、⽋損値の補間、データのエンコードなどを、最適 な形で⾃動的に⾏います。 モデル選定 モデル選定に関しては、少ないデータで簡易的なモデルを作成し、有⼒な候補のモデルを絞り 込む⽅式を採⽤しています。この⽅法により、少ない処理時間で効率よく精度の⾼いモデルを 選定することが可能です。候補となるモデル数は 分類型: 30種類

    回帰型: 44種類です。 特徴量最適化 AutoAIでは、強化学習の仕組みを利⽤して、しらみつぶしではない効率のいい⽅法により、 精度の最適化をするための特徴量チューニングを⾏います。 ハイパーパラメータ最適化 モデルの精度に影響のある、ハイパーパラメータの最適化についても、計算資源をあまり使わ ない効率のいい⽅法で⾏います。 参照: https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/autoai-overview.html?audience=wdp
  15. (参考) AutoAIでサポートしているモデル(回帰) 回帰型モデルでは、次の44種類のモデルをサポートしています。 AdaBoost Regression Elastic Net with Cross- Validation

    Nearest Neighbor Analysis (KNN) Lasso Lars with Cross- Validation MLP Regression Orthogonal Matching Pursuit with Cross- Validation Random Forest Regression Theil-Sen Regression ARD Regression Elastic Net Kernel Ridge Lasso Lars MultiTask Elastic Net CV Orthogonal Matching Pursuit RANSAC Regression XGBoost Regression Bayesian Ridge Regression Gaussian Process Lars with Cross- Validation Lasso Lars IC MultiTask Elastic Net Passive- Aggressive Regression Ridge with Cross- Validation CCA Gaussian Process Regression Lars LGBM Regression Multi Task Lasso CV PLS Canonical Ridge Decision Tree Regression Gradient Boosting Regression Lasso with Cross- Validation Linear Regression Multi Task Lasso PLS Regression SGD Regression Extra Trees Regression Huber Regression Lasso Linear Support Vector Regression Nu SVR Radius Neighbors Regression Support Vector Regression
  16. (参考) AutoAIでサポートしているモデル(分類) 分類型モデルでは、次の30種類のモデルをサポートしています。 AdaBoost Classifier Gaussian Naïve Bayes Classifier Label

    Spreading Logistic Regression Passive Aggressive Classifier Ridge Classifier with Cross- Validation Bernoulli Naïve Bayes Classifier Gaussian Process Classifier LGBM Classifier MLP Classifier Perceptron Ridge Classifier Calibrated Classifier with Cross-Validation Gradient Boosted Tree Classifier Linear Discriminant Analysis Multinomial Naïve Bayes Classifier Quadratic Discriminant Analysis SGD Classifier Decision Tree Classifier Nearest Neighbor Analysis (KNN) Classifier Linear Support Vector Classifier Nearest Centroid Radius Neighbors Classifier Support Vector Classifier Extra Trees Classifier Label Propagation Logistic Regression with Cross-Validation Nu Support Vector Classifier Random Forest Classifier XGBoost Classifier
  17. 4. Auto AI Demo 1. データ準備 2. Watson Studio のセットアップ

    3. Watson Studio の起動 4. Watson Studio Projectの作成 5. Machine Learningサービスの作成と追加 6. Auto AI モデル作成 7. Auto AI Deploy & テスト
  18. 4. Auto AI Demo 1. データ準備 2. Watson Studio のセットアップ

    3. Watson Studio の起動 4. Watson Studio Projectの作成 5. Machine Learningサービスの作成と追加 6. Auto AI モデル作成 7. Auto AI Deploy & テスト
  19. 4. Auto AI Demo 1. データ準備 2. Watson Studio のセットアップ

    3. Watson Studio の起動 4. Watson Studio Projectの作成 5. サービスの作成と追加 6. Auto AI モデル作成 7. Auto AI Deploy & テスト
  20. 50 2. Watson Studioのセットアップ http://ibm.biz/dojo0219にアクセスして ログインしてください • IBM Cloud ログイン

    アカウントをすでにお持ちの方は、 こちらからログインしてください • IBM Cloud ライトアカウント作成 アカウントをお持ちでない方は、 ご登録をお願いします 本イベント以外では https://cloud.ibm.com/login からログイン可能です
  21. 4. Auto AI Demo 1. Watson Studio のセットアップ 2. Watson

    Studio の起動 3. Watson Studio Projectの作成 4. サービスの作成と追加 5. Auto AI モデル作成 6. Auto AI Deploy & テスト
  22. 54 1. ダッシュボードを表⽰ (左上のIBM Cloudロゴをクリック) 2. 「リソースの表⽰」→「Services」からWatson Studioのサービスを選択 3. Get

    Startedを選択して起動 3. Watson Studioの起動 もし右側にこのような画⾯がでてきたら、 「全詳細の表⽰」をクリックする
  23. 4. Auto AI Demo 1. データ準備 2. Watson Studio のセットアップ

    3. Watson Studio の起動 4. Watson Studio Projectの作成 5. サービスの作成と追加 6. Auto AI モデル作成 7. Auto AI Deploy & テスト
  24. 4. Auto AI Demo 1. データ準備 2. Watson Studio のセットアップ

    3. Watson Studio の起動 4. Watson Studio Projectの作成 5. サービスの作成と追加 6. Auto AI モデル作成 7. Auto AI Deploy & テスト
  25. 3. Machine Learningの[Add]をクリック 4A: [New]のタブが選択された画⾯が表⽰された場合 1. スクロールしてPLANでLiteが選択されていることを確認して⼀番下 の[Create]をクリック 。 2.

    Confirmの画⾯でRegionがDallasになっていることを確認して [Confirm]をクリック 5. サービスの作成と追加 65 スクロール スクロール
  26. 5. サービスの作成と追加 66 4B[Existing]のタブが選択された画⾯が表⽰された場合 Existing Service Instance のドロップダウンから、使⽤するMachine Learningのサービスを選択して[Select]をクリック 。

    [Existing]のタブが選択された画⾯が表⽰されたにもかかわらず、「Existing Service Instance」の下に「 No existing service instances found 」が表⽰された 場合は、「CLOUD FOUNDRY ORG」のドロップダウンを開き、値を選択してみて ください。。
  27. 4. Auto AI Demo 1. データ準備 2. Watson Studio のセットアップ

    3. Watson Studio の起動 4. Watson Studio Projectの作成 5. サービスの作成と追加 6. Auto AI モデル作成 7. Auto AI Deploy & テスト
  28. 6. Auto AI モデル作成 69 1. 右上の[ Add to Project

    ]をクリックします。 2. 表⽰されたウィンドウの[AutoAI experiment]をクリックします。
  29. 6. Auto AI モデル作成 70 3. Asset name : Churn

    Analysisを⼊⼒し、 ⾃分のWatson Machine Learning Service Instanceがセットされているの を確認して、[Create]をクリック スクロール
  30. 6. Auto AI モデル作成 72 5. 「 Select column to

    predict」から予測したい項⽬をクリックします。 CHURNを選択します。 6. 「 Run experiment」をクリックして、モデル作成を開始します。
  31. 6. Auto AI モデル作成 11. Model nameをChurn Analysis Modelに変更して、「Save 」ボタンを

    クリックします。Saveが完了すると右上に以下の右のようなウィンドウが 表⽰されるので「 View in project 」をクリックします。 77 もし、この表⽰が消えてしまった場合は次⾴参照
  32. 6. Auto AI モデル作成 11A. 「 View in project 」が消えてしまった場合は、上部ナビゲーション

    よりProject名をクリック、Assetタブをクリック、下にスクロールして、 Modelsの下の設定したModel名をクリック 78
  33. 4. Auto AI Demo 1. データ準備 2. Watson Studio のセットアップ

    3. Watson Studio の起動 4. Watson Studio Projectの作成 5. サービスの作成と追加 6. Auto AI モデル作成 7. Auto AI Deploy & テスト
  34. 7. Auto AI Deploy & テスト 3. Nameに「 Churn model

    deployment」と⼊⼒後、「Save」ボタンをク リックします。 82
  35. 7. Auto AI Deploy & テスト 4. 「Deployment」タブに⾃動で戻ります。STATUSが、Initializingから readyに変わったら「Churn model

    deployment 」をクリックします。 1分待っても変わらない場合はリロードしてみてください。 83
  36. 7. Auto AI Deploy & テスト 6. [Test]タブをクリックします。そのままフォームでデータを⼊れてもで きますが、今回はJSON inputアイコンをクリックして、JSONで⼊⼒しま

    す。以下の右のJSONデータを⼊⼒エリアにコピぺしします。 85 {"input_data": [{ "fields": [ "ID", "Gender", "Status", "Children", "Est Income", "Car Owner", "Age", "LongDistance", "International", "Local", "Dropped", "Paymethod", "LocalBilltype", "LongDistanceBilltype", "Usage", "RatePlan" ], "values": [[ 6, "M", "M", 2, 29616, "N", 49.42, 29.78, 0, 45.5, 0, "CH", "FreeLocal", "Standard", 75.29, 2 ]] }] } コピー& ペースト する
  37. メインチャレンジ チュートリアル: IBM Watson Studio AutoAI: Modeling for the rest

    of us https://www.ibm.com/cloud/garage/dte/tutorial/ibm-watson-studio- autoai-modeling-rest-us のCreate an AutoAI model for regression 部分 (それより前のセクションは当講義の内容です) ⽇本語解説へのLink: http://ibm.biz/WatsonStudioTutrialJP オプション課題: 上記チュートリアルの Accessing a model through a notebook 部分