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

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/

yukinagae

April 26, 2019
Tweet

More Decks by yukinagae

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. 話すこと・話さないこと
    話すこと
    ● BigQuery MLの概要
    ● 新機能の紹介
    ● ユースケース(こういう用途に使えるよ)
    話さないこと
    ● 機械学習の難しい話
    ● 数学

    View Slide

  4. 自己紹介
    ● 永江悠紀 @yukinagae
    ● データエンジニア(Go/Python + GCP)
    ○ SQL絶対に書きたくない(˘ω˘)スヤァ
    ● 経歴
    ○ 元Java/Scalaエンジニア
    ○ オーストラリアでデータ分析を勉強
    ○ 今はデータ分析基盤の構築・開発
    ● 最近の趣味は勉強会を主催すること
    ○ Kaggleもくもく、競プロもくもく

    View Slide

  5. 本題、というか結論

    View Slide

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

    View Slide


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

    View Slide

  8. BigQuery MLとは?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  14. BigQueryをMLに使う利点
    データをBigQuery上で機械学習ができる
    ● データの移動が不要
    ○ 開発スピードの高速化
    ○ 複雑なアーキテクチャが不要
    ● BigQueryのプロセスパワーを使える
    ○ 機械学習の学習処理は時間がかかるが、こ
    れを高速化できる(かも?)

    View Slide

  15. BigQuery MLの新機能

    View Slide

  16. 今までの機能
    ● Linear Regression: 線形回帰
    ● Logistic Regression: ロジスティック分類
    つまり、あんまり複雑なことはできなかった
    レコメンデーションの活用事例:
    Wantedly: BigQuery ML を使ってみた話

    View Slide

  17. Cloud Next ‘19で発表された新機能
    ● BigQuery UI上での機械学習モデルの評価指標の可視化
    ● k-means クラスタリングのサポート (Beta)
    ● Matrix Factorization(行列分解)の サポート (Alpha)
    ● TensorFlow を用いたディープニューラルネットワークのサ
    ポート (Alpha)
    ● BigQuery 上でのプレディクション用のTensorFlow モデルの
    インポート (Alpha)
    ● 特徴量の前処理関数のサポート (Alpha)

    View Slide

  18. 各機能を見てみましょう

    View Slide

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

    View Slide

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

    View Slide

  21. (やってみた)モデル構築
    参照: Getting started with BigQuery ML for data analysts

    View Slide

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

    View Slide

  23. View Slide

  24. なぜ評価指標を見たいの?
    ● 機械学習モデルの学習結果を確認したい
    ● どこで間違えているか知りたい
    ● オーバーフィットしていないか確認したい
    ○ 既存データには精度がよくても、  未知
    のデータの精度が悪いことがある
    ● リリースバージョン毎のモデルの精度を見て、
    必要なら切り戻す等できる(かも)

    View Slide

  25. k-meansクラスタリング(Beta)

    View Slide

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

    View Slide

  27. k-means クラスタリングのユースケース
    ● ユーザーセグメンテーション
    1. ユーザーに関する特徴(変数)が  多い
    場合に、任意のグループに分割
    2. そのグループ毎に施策を実施する
    ● データクオリティの改善
    ○ これを次のスライドから説明します

    View Slide

  28. Booking.com(宿泊予約サイト)の例
    ● kmeansクラスタリングで        データク
    オリティ改善

    View Slide

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

    View Slide

  30. しかし、データの質の問題がある
    例)有料チャネルあり & TVなし

    データがおかしい!
    しかし、
    if/elseのルールベースや人手でチェックするのは
    難しい

    View Slide

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

    View Slide

  32. Matrix Factorization(行列分解)
    (Alpha)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  36. TensorFlowを用いた深層学習 (Alpha)
    ● 深層学習(Deep Neural Network)だとデータ
    の非線形な特徴を捉えられる

    ● ただの線形回帰では捉えられない複雑性を
    扱える

    View Slide

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

    View Slide

  38. TensorFlowモデルのインポート (Alpha)
    ● GCSにおいた学習済みのTensorFlowモデル
    を読み込むだけ
    制限
    ● モデルサイズ制限: 250MB
    ● RNNやLSTMなどは使えない

    View Slide

  39. 特徴量の前処理のサポート
    (Alpha)

    View Slide

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

    View Slide

  41. まとめ
    ● BigQuery MLを使うと、    SQLだ
    けで機械学習ができる
    ● 新機能
    ○ 評価指標の可視化
    ○ 色々なモデルやTensorFlowのサポート
    ○ 前処理関数のサポート
    ● 実用的に使えそうな予感
    ● 今後の新機能も期待大(´∀`*)

    View Slide

  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を書いて機械学習モデルを構築&予
    測できる!

    View Slide