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

Oracle Database Technology Night #47 DBAのための機械学...

Oracle Database Technology Night #47 DBAのための機械学習&グラフデータベース入門(DBAのための機械学習入門)

グラフ・データベースや機械学習、これらの技術はいまや幅広い分野で利用され、これからのデジタル・トランスフォーメーション時代のシステムには欠かせない技術の1つとなっています。一方で今までデータベースの開発・運用に携わってきた皆さんの中には、なかなか手を出しづらいと思われている方もいらっしゃるのではないでしょうか?

今回のOracle Database Technology Nightでは、Oracleのエキスパートよりデータベース・エンジニアの皆様に向けたグラフおよび機械学習の入門講座を行います。
Oracle Databaseですぐにグラフや機械学習を始められるGraph StudioやAutoML UIといったツールも登場しています。これらの分野は初めて、といった方でもお楽しみいただける、技術的説明+実演といった構成になっております。
是非ここからグラフや機械学習を始めてみませんか?

oracle4engineer

August 27, 2021
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. 機械学習とは Copyright © 2021, Oracle and/or its affiliates 3 機械学習(きかいがくしゅう、英:

    Machine Learning)とは、 経験からの学習により自動で改善するコンピューターアルゴリズムもしくはその研究領域で、人工知能の一種であるとみなされている。 「訓練データ」もしくは「学習データ」と呼ばれるデータを使って学習し、学習結果を使って何らかのタスクをこなす。 例えば過去のスパムメールを訓練データとして用いて学習し、スパムフィルタリングというタスクをこなす、といった事が可能となる。 https://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92 Wikipedia:機械学習 より引用 機能的には、 データから学習されたプログラムを生成、利用する
  2. モデル構築 ( ≒学習,モデリング,フィッティング.. ) モデル適用(≒ 予測, スコアリング.. ) 機械学習の 基本構造

    Copyright © 2021, Oracle and/or its affiliates 4 過去 データ アルゴリズム + モデル + モデル データ 結果
  3. モデル構築 ( ≒学習,モデリング,フィッティング.. ) モデル適用(≒ 予測, スコアリング.. ) 機械学習の 基本構造

    Copyright © 2021, Oracle and/or its affiliates 5 過去 データ アルゴリズム + モデル + モデル データ 結果 入力データから特定の数理モ デルの生成を行うプログラム生 成機構 生成されたプログラム 学習結果を適用したいデータ 適用結果
  4. モデル構築 ( ≒学習,モデリング,フィッティング.. ) モデル適用(≒ 予測, スコアリング.. ) 機械学習の 基本構造

    Copyright © 2021, Oracle and/or its affiliates 6 過去 データ アルゴリズム + モデル + モデル データ 結果 A = aX + bY となるaとbを探す A = X + 2Y A, X, Y 3, 1, 1 4, 2, 1 9, 3, 3 10,2, 4 11,5, 3 A, X, Y ?, 1, 3 1 + 2 x 3 = .. A = 7
  5. 教師あり学習と教師なし学習 良性(1) クラスタリング 分類 回帰分析 相関分析 異常検出 どこに属するかを予測する 数字(連続値)を予測する グループに分割する

    異常を検知する 関係性が強いものを見つける 悪性(0) 患者A 年収 保 険 料 Q.発見された癌が 悪性かどうか Q.年収から 保険料を 予測する Q. 優等生を 見つける Q.カードの 不正利用を みつける カード利用場所 通常の 使用範囲 Q.年収に一番影響するものは何か 部活の成績 成 績 教師あり学習 教師なし学習 凡例) Copyright © 2021, Oracle and/or its affiliates 7
  6. v v 機械学習のプロセス Copyright © 2021, Oracle and/or its affiliates

    8 データ準備 モデル構築 モデル評価 デプロイ モデルの評価 精度やモデルの内部を確 認し、解釈する等の作業 を通して、モデルが目的に 対して適切なものであるか、 利用に耐えるものであるか を判断 事業への適用 機械学習モデルをシステム に組み込むことで実現する ことが多い データ分析屋の領分 システム屋・DBAの領分 データ準備 有用なデータを探索し、 持ってきて、データ変換等 を行うことでモデル構築用 のデータを生成する
  7. v v 機械学習のプロセス - システムとの境界 9 データ準備 モデル構築 モデル評価 デプロイ

    適用対象システムの理解 適用による影響 データ分析屋の領分 システム屋・DBAの領分 データ理解 データ抽出 データ変換 Copyright © 2021, Oracle and/or its affiliates
  8. v v 機械学習のプロセス - システムとの境界 10 データ準備 モデル構築 モデル評価 デプロイ

    適用対象システムの理解 適用による影響 データ分析屋の領分 システム屋・DBAの領分 データ理解 データ抽出 データ変換 ここはある意味普遍的であま り近道が無いところ Copyright © 2021, Oracle and/or its affiliates
  9. DBエンジニアの優位な点 • データリテラシを向上させやすい • データ取り回しに強いSQLという言語に親しんでる • 表構造、データ構造に対する理解が早い DBエンジニアの苦労する点 • 良く利用されている言語(Python/R)になじみがない

    • 機械学習や統計に対する知識 DBエンジニアが機械学習に取り組むと・・・ Copyright © 2021, Oracle and/or its affiliates 11 普遍的なテーマに対応す るスキルがあるため、本当 は全然近い領分 各社 AutoMLや機械学 習部分の自動化に取り組 みつつあり、壁は下がって きている
  10. 80% of time is still spent preparing, searching, and governing

    data "80%の時間がデータの準備/検索/管理に費やされています" IDC Data Literacy: A Foundation for Succeeding in a Data-Driven World 13 Copyright © 2021, Oracle and/or its affiliates
  11. v v 機械学習のプロセス Copyright © 2021, Oracle and/or its affiliates

    14 データ準備 モデル構築 モデル評価 デプロイ 適用対象システムの理解 適用による影響 データ分析屋の領分 システム屋・DBAの領分 データ理解 データ抽出 データ変換 80%
  12. 分析、データ理解 ・顧客属性表の取得 ⇒ データ連携( DB Link, GoldenGate, expdp/impdp..) ・特定商品のオーダーと顧客属性の関係 ⇒

    オーダー表と顧客属性表の結合 ⇒ 集計 データ変換処理(例) ・週次の出荷の予測 ⇒ 出荷データの週次集計 ⇒ Window関数 ・日付から曜日の抽出 ⇒ TO_CHAR(日付,'D') データ抽出 ・契約2か月のキャンペーン対象の顧客だけの属性データを集計し、コンバージョンレートと 顧客属性のデータセットを抽出 データ準備作業の具体イメージ Copyright © 2021, Oracle and/or its affiliates 15
  13. データベース よくあるデータ準備作業 と DBエンジニアだからできるデータ準備作業 Copyright © 2021, Oracle and/or its

    affiliates 16 データ Pythonインタープリタ データベース Pythonインタープリタ データ データ解釈 データ理解 抽出 データ解釈 データ理解 データ変換 データ変換 モデル構築・・・ モデル構築・・・ 抽出 大量データをPythonで回す
  14. データベース よくあるデータ準備作業 と DBエンジニアだからできるデータ準備作業 +OML Copyright © 2021, Oracle and/or

    its affiliates 17 データ Pythonインタープリタ データベース データ データ解釈 データ理解 抽出 データ解釈 データ理解 データ変換 データ変換 モデル構築・・・ モデル構築・・・ 大量データをPythonで回す
  15. ▪データベースに統合された機械学習エンジン データベースの内部カーネルに機械学習のエンジンを統合 • 他サーバへのデータ移動は不要 • 高鮮度の機械学習環境の実現 ▪大規模なデータ分析に データベースの大規模向け並列処理機構を利用 • メモリを節約し大量データ分析を実現可能

    ▪データベース内 機械学習モデル モデルはデータベース内に生成、管理 • 機械学習結果(モデル)の即時適用が可能 • DB監査の仕組みの上で動作 Oracle Machine Learning for SQL (OML4SQL) Copyright © 2021, Oracle and/or its affiliates 19 SQL Interfaces SQL*Plus SQL Developer … Oracle Autonomous Database OML Notebooks Oracle Database 完全にSQLベース の機械学習エンジン
  16. シンプルなSQL文を用いた分類モデルの活用例 OML4SQL: モデルの作成とリアルタイム予測 BEGIN DBMS_DATA_MINING.CREATE_MODEL( model_name => 'BUY_INSUR1', mining_function =>

    dbms_data_mining.classification, data_table_name => 'CUST_INSUR_LTV', case_id_column_name => 'CUST_ID', target_column_name => 'BUY_INSURANCE', settings_table_name => 'CUST_INSUR_LTV_SET'); END; SELECT prediction_probability(BUY_INSUR1, 'Yes' USING 3500 as bank_funds, 825 as checking_amount, 400 as credit_balance, 22 as age, 'Married' as marital_status, 93 as MONEY_MONTLY_OVERDRAWN, 1 as house_ownership) FROM dual; モデル作成(PL/SQL) リアルタイムスコアリング(SQLクエリ) ※クエリ内で予測され結果が取得できます Copyright © 2021, Oracle and/or its affiliates 20
  17. Oracle Machine Learning AutoML UI AutoML 搭載の簡単機械学習インターフェイス 概要 • データと予測対象を選択するだけ

    • モデルを自動で構築、管理、デプロイ • ノーコード の AutoML ユーザインターフェイス AutoML • 自動で モデル選択、特徴選択、モデルチューニン 利点 • 専門知識が無くても、機械学習モデルの構築が可能 Copyright © 2021, Oracle and/or its affiliates 21 ※ Autonomous Databaseでのみ提供 より簡単に
  18. Oracle Machine Learning Notebooks スクリプトベースの機械学習インターフェイス 概要 • データを確認しながら分析作業を行うデータサイエンティ スト、DBエンジニア、データアナリスト向け •

    SQL, PL/SQL, Python をサポート • OML4SQL、OML4Pyを利用可能 • コラボレーション/共有機能 利点 • SQLだけで機械学習を完結できる • データの管理性、セキュリティを手放さず分析を促進 Copyright © 2021, Oracle and/or its affiliates 22 ※ Autonomous Databaseでのみ提供 より高度に
  19. データ サイエンティストの生産性の向上 – 全体的なコンピューティングの削減時間 AutoML 自動モデル 選択 適合モデル探しを 高速に実現 特徴量を50%削減

    自動モデル チューニング 大幅なスコア改善 ML モデル エキスパート以外のユーザーにも機械学習の活用を広げる Data Table 自動特徴選択 – 予測的に有用でない特徴 量を削減し特徴の数を最 適化 – モデル性能と精度の向上 自動モデル選択 – 網羅的なモデル探しよりも高 速に、最も適切なデータベー ス内アルゴリズムを識別 自動モデルチューニング – パイパーパラメータを自動調整 – 大幅なモデル精度の向上 – 総当たりのパラメータ評価なしで の高精度の実現 Copyright © 2021, Oracle and/or its affiliates 23
  20. v v 機械学習のプロセス / Copyright © 2021, Oracle and/or its

    affiliates 24 データ準備 モデル構築 モデル評価 デプロイ 適用対象システムの理解 適用による影響 データ分析屋の領分 システム屋・DBAの領分 データ理解 データ抽出 データ変換 Oracle AutoML の領分 Oracle AutoML UI の領分 Oracle OML notebook (SQL) の領分
  21. Forth Corporation, Thailandとその子会社であるForth Smart Corp.は、プリペイド携帯電話の充電、銀行送金、公共 料金の支払い、モバイルゲームの支払いなどの金融サービスを提 供する12万台以上のキオスクを運営しています。 Forth Smart社は、データベース内のOracle Machine

    Learningを使用して、MLモデルの構築、評価、展開にオラクル の既存の投資を活用しながら、事業範囲を拡大し、新しい機会 を模索しています。 Oracle Machine Learningを使用することで、Forth Smart は90%もの精度でターゲットを絞ることができ、コンバージョン数 が3倍になったことを確認しました。 Oracle Database と Oracle Machine Learning で新しい顧客を獲得 Copyright © 2021, Oracle and/or its affiliates 25
  22. Oracle Machine Learningを内蔵した Autonomous Databaseを使用することで、 クエリ時間を3時間から数分に短縮し、 顧客の広告コンバージョン率を2倍から3倍に高めることができました。 これにより、マーケティングの予算と労力をより有効に活用できます。 出典: https://www.oracle.com/customers/infrastructure/forth-smart/

    キオスクを使用した何百万もの顧客のトランザクションデータをOracleデータベー スに保存します。このデータベースの学習モデルを使用して、非常に高い精度で ターゲット顧客セグメントを特定することができました。 トランザクションデータの即時活用 大量データ分析 クエリ処理能力 Copyright © 2021, Oracle and/or its affiliates 26
  23. Oracle Machine Learningを内蔵した Autonomous Databaseを使用することで、 クエリ時間を3時間から数分に短縮し、 顧客の広告コンバージョン率を2倍から3倍に高めることができました。 これにより、マーケティングの予算と労力をより有効に活用できます。 出典: https://www.oracle.com/customers/infrastructure/forth-smart/

    キオスクを使用した何百万もの顧客のトランザクションデータをOracleデータベー スに保存します。このデータベースの学習モデルを使用して、非常に高い精度で ターゲット顧客セグメントを特定することができました。 トランザクションデータの即時活用 大量データ分析 クエリ処理能力 機械学習においても DBエンジニア的なスキルがもたらす価値は 非常に意味のあるもの Copyright © 2021, Oracle and/or its affiliates 27
  24. デモ: Oracle Machine Learning デモ 28 AutoML UI, OML Notebooks

    Copyright © 2021, Oracle and/or its affiliates
  25. 31 デモの流れ Copyright © 2021, Oracle and/or its affiliates <初期状態>

    ADWにタイタニックの乗客情報に関する表が格納されている 乗客データと事故における生死の情報が入っており、機械学習の世界では有名なデータセット • TRAIN表(機械学習モデルを作成するための学習用データセット) • TEST表(機械学習モデルが実際に予測を行う未知のデータセット) <やること> 1. AutoML UIで自動で予測モデルを作る 1. 見所:数クリックで、予測モデルが完成! 2. 予測モデルでタイタニック号の事故における生存予測を行う 1. 見所: OML NotebookにSQLで実行! 3. APEXで生存予測のアプリケーションを構築 1. 見所:SQLだけで簡単に作れる予測アプリ!
  26. 32 まとめ Copyright © 2021, Oracle and/or its affiliates •

    SQLのスキルセットだけで、 機械学習モデルの作成と、 APEXでのアプリ作成・活用まで可能! • ADBに全て無償機能として内包