BigQuery MLの新機能紹介 Cloud Next '19 / BigQuery ML New Features Announced at Google Cloud Next 2019

BigQuery MLの新機能紹介 Cloud Next '19 / BigQuery ML New Features Announced at Google Cloud Next 2019

「#bq_sushi #10 Next19特集!」で発表したBigQuery MLの新機能紹介
参照: https://bq-sushi.connpass.com/event/128348/

79a92313bba008d66f30b226ee618fa7?s=128

yukinagae

April 26, 2019
Tweet

Transcript

  1. BigQuery MLの新機能紹介 Google Cloud Next ‘19

  2. アジェンダ ▷ 話すこと・話さないこと ▷ 自己紹介 ▷ BigQuery MLとは? ▷ 新機能の紹介

    ▷ デモ ▷ まとめ
  3. 話すこと・話さないこと 話すこと • BigQuery MLの概要 • 新機能の紹介 • ユースケース(こういう用途に使えるよ) 話さないこと

    • 機械学習の難しい話 • 数学
  4. 自己紹介 • 永江悠紀 @yukinagae • データエンジニア(Go/Python + GCP) ◦ SQL絶対に書きたくない(˘ω˘)スヤァ

    • 経歴 ◦ 元Java/Scalaエンジニア ◦ オーストラリアでデータ分析を勉強 ◦ 今はデータ分析基盤の構築・開発 • 最近の趣味は勉強会を主催すること ◦ Kaggleもくもく、競プロもくもく
  5. 本題、というか結論

  6. Google、 機械学習で本気出すってよ

  7. “ BigQuery MLは機械学習を民主化する 参照: Introduction to BigQuery ML

  8. BigQuery MLとは?

  9. BigQuery ML BigQuery(SQL) + ML = BigQuery ML ※つまり、BigQuery上の  SQLで機械学習のタスク全てが実行できる

  10. 今まで機械学習に必要だったスキル • Python ◦ Jupyter ◦ scikit-learn等ライブラリ • Java •

    SQL • etc
  11. BigQuery ML以後の機械学習 • SQLのみ BigQueryがあればよい (´∀`*)

  12. BigQuery MLでプロセスが変わる Before After データ蓄積 モデル構築 予測

  13. BigQuery MLによる機械学習の民主化 エンジニアだけでなく、SQLが使えれば 誰もが機械学習を使える(´∀`*)

  14. BigQueryをMLに使う利点 データをBigQuery上で機械学習ができる • データの移動が不要 ◦ 開発スピードの高速化 ◦ 複雑なアーキテクチャが不要 • BigQueryのプロセスパワーを使える

    ◦ 機械学習の学習処理は時間がかかるが、こ れを高速化できる(かも?)
  15. BigQuery MLの新機能

  16. 今までの機能 • Linear Regression: 線形回帰 • Logistic Regression: ロジスティック分類 つまり、あんまり複雑なことはできなかった

    レコメンデーションの活用事例: Wantedly: BigQuery ML を使ってみた話
  17. Cloud Next ‘19で発表された新機能 • BigQuery UI上での機械学習モデルの評価指標の可視化 • k-means クラスタリングのサポート (Beta)

    • Matrix Factorization(行列分解)の サポート (Alpha) • TensorFlow を用いたディープニューラルネットワークのサ ポート (Alpha) • BigQuery 上でのプレディクション用のTensorFlow モデルの インポート (Alpha) • 特徴量の前処理関数のサポート (Alpha)
  18. 各機能を見てみましょう

  19. 機械学習モデルの評価指標の可視化

  20. 機械学習の評価指標の可視化 機械学習のさまざまな評価指標が BigQueryのUIで見れる: • Recall • Precision • ROC curve

    • Confusion Matrix • Loss curve • などなど
  21. (やってみた)モデル構築 参照: Getting started with BigQuery ML for data analysts

  22. (やってみた)評価指標の可視化

  23. None
  24. なぜ評価指標を見たいの? • 機械学習モデルの学習結果を確認したい • どこで間違えているか知りたい • オーバーフィットしていないか確認したい ◦ 既存データには精度がよくても、  未知 のデータの精度が悪いことがある

    • リリースバージョン毎のモデルの精度を見て、 必要なら切り戻す等できる(かも)
  25. k-meansクラスタリング(Beta)

  26. k-means クラスタリング • 教師なし学習の手法の一つ ◦ 人間が答えを教える必要がない • 入力データをグルーピング

  27. k-means クラスタリングのユースケース • ユーザーセグメンテーション 1. ユーザーに関する特徴(変数)が  多い 場合に、任意のグループに分割 2. そのグループ毎に施策を実施する •

    データクオリティの改善 ◦ これを次のスライドから説明します
  28. Booking.com(宿泊予約サイト)の例 • kmeansクラスタリングで        データク オリティ改善

  29. Booking.com • 検索フィルタが充実(176個!)

  30. しかし、データの質の問題がある 例)有料チャネルあり & TVなし ↓ データがおかしい! しかし、 if/elseのルールベースや人手でチェックするのは 難しい

  31. 不整合データ(外れ値)を見つける 1. ほとんどのデータの質は高い 2. 質が高いデータ同士は似ている 3. 似ていないデータ(外れ値)は   不整合データでは?  (右図では緑丸が外れ値)

    4. 外れ値のデータを人力チェック
  32. Matrix Factorization(行列分解) (Alpha)

  33. Matrix Factorization(行列分解) ユーザー 商品 既知の rating 未知の rating • 既知から未知の値(レーティング)を埋める

  34. Matrix Factorization(行列分解) ユースケース • 商品レコメンデーション ◦ Netflix ◦ Spotify ◦

    etc
  35. TensorFlowを用いた深層学習 (Alpha)

  36. TensorFlowを用いた深層学習 (Alpha) • 深層学習(Deep Neural Network)だとデータ の非線形な特徴を捉えられる ↓ • ただの線形回帰では捉えられない複雑性を

    扱える
  37. BigQueryにTensorFlowモデルの インポート (Alpha)

  38. TensorFlowモデルのインポート (Alpha) • GCSにおいた学習済みのTensorFlowモデル を読み込むだけ 制限 • モデルサイズ制限: 250MB •

    RNNやLSTMなどは使えない
  39. 特徴量の前処理のサポート (Alpha)

  40. 特徴量の前処理のサポート (Alpha) • 特徴量変換をモデル構築中に定義できる • 汎用的に使える • 前処理に関してSQL関数が使える

  41. まとめ • BigQuery MLを使うと、    SQLだ けで機械学習ができる • 新機能 ◦ 評価指標の可視化 ◦

    色々なモデルやTensorFlowのサポート ◦ 前処理関数のサポート • 実用的に使えそうな予感 • 今後の新機能も期待大(´∀`*)
  42. 参考資料 • Introduction to BigQuery ML • What’s New with

    BigQuery ML and Using it to Assess Data Quality (Cloud Next ’19) - YouTube • CREATE MODEL ステートメント | BigQuery | Google Cloud • Google Cloud Next 2019 in SF , BigQuery 関連発表まとめ – google-cloud-jp – Medium • How to use K-Means clustering in BigQuery ML to understand and describe your data better • 「BigQuery ML」でSQLを書いて機械学習モデルを構築&予 測できる!