Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Oracle Advanced Analytics 概要

2,259 views

Published on

Oracle Advanced Analytics
データベースを用いた高速な機械学習

Published in: Engineering
  • Be the first to comment

Oracle Advanced Analytics 概要

  1. 1. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Oracle Advanced Analytics データベースを用いた高速な機械学習 2017年3月30日 更新 日本オラクル株式会社 クラウド・テクノロジー事業統括
  2. 2. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明する ものです。また、情報提供を唯一の目的とするものであり、いかなる 契約にも組み込むことはできません。以下の事項は、マテリアルや コード、機能を提供することをコミットメント(確約)するものでは ないため、購買決定を行う際の判断材料になさらないで下さい。オラ クル製品に関して記載されている機能の開発、リリースおよび時期に ついては、弊社の裁量により決定されます。 OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における 登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。 2
  3. 3. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 3 機械学習と予測分析
  4. 4. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 従来型 BI から Business Analytics へのシフト 4 V A L U E D I F F I C U L T 何が起きたのか? Descriptive Analytics どうして起きたのか? Diagnostic Analytics 何が起きるのか? Predictive Analytics どうやって起こせるのか? Prescriptive Analytics 従来型 BI Business Analytics
  5. 5. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 分析ツールの種類・技術の例 用途 構造化 データ 非構造化データ テキストなど 帳票 •帳簿や伝票などの定型的な書類の作成、印刷 ○ - - - レポーティング •定型レポートの作成、公開(Web等)、配信 •ダッシュボード ○ - - - 分析 •定型分析、非定型分析、アドホック・クエリ •実績・推移に基づくシミュレーション (What-If分析) •事前定義された分析切り口 •人手による分析 ○ - - - 探索 •反復的なデータ検索・絞込みによる分析 •新たな分析切り口の発見 •人手による分析 ○ ○ 統計解析 機械学習 •データから意味のあるパターンやルール、 相関関係を抽出する •大容量のデータを自動的/半自動的に解析 ○ ○ 5 帳票ツール Discovery ツール BIツール (OLAP分析 ツール) マイニング ツール Oracle BI Enterprise Edition (BIEE) Oracle Endeca Oracle Advanced Analytics
  6. 6. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 人工知能における機械学習の役割 6 センサやデータベースなどから、ある程度の数の サンプルデータ集合を入力して解析を行い、その データから有用な規則、ルール、知識表現、判断 基準などを抽出し、アルゴリズムを発展させる 特化型 AI 各々のデータ 最近暖かくなりましたね 今年は桜の開花が早いそ うです。楽しみですね (人間なのかな…) 会話 天気 運転 地図 クイズ 辞書 https://ja.wikipedia.org/wiki/機械学習
  7. 7. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 顧客情報から、新規顧客が優良顧客か予測したい! 問題「顧客情報(属性値や、過去の購買履歴など)から、 その新規顧客が今後ある商品Xを買う可能性を求めたい」 7 分類モデル 顧客データ このモデルをどのように 作成するのか? この顧客は商品Xを買う? (その確率は?) 性別、所在地、他サービス使用状況、 継続期間、前月請求額、前々月支給額、・・・
  8. 8. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 機械学習によるモデル作成の自動化 8 分類モデル 顧客データ = 学習データ 予測された 優良顧客リスト 性別、所在地、他サービス使用状況、 継続期間、前月請求額、前々月支給額、 …、商品Xを買ったかどうか アルゴリズムを選択 予測モデルを適用 顧客データとアルゴリズム によって自動生成 アルゴリズム • 重回帰 • SVM • 決定木 など
  9. 9. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 自動生成されるモデルのイメージ 9 前月請求額 <5,000円 >=5,000円 女性男性 性別 商品X=No 商品X=No IF ( 前月請求額 >= 5000 AND 性別 = “女性” ) THEN 商品X = Yes Prob = 0.77(信頼度) Support = 0.250(組み合わせの出現率) ID 性別 年齢 職業 前月請求額 商品X 101 男性 31 会社員 10,000円 No 102 女性 42 主婦 5,000円 Yes 103 女性 36 主婦 200円 No 104 男性 43 会社員 3,000円 No 105 女性 22 会社員 7,000円 Yes 過去顧客データ ID 性別 年齢 職業 前月請求額 商品X 314 男性 40 会社員 4,000円 No 315 女性 26 会社員 5,500円 Yes 新規顧客データ 商品X=Yes
  10. 10. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 予測による個別化とデータベース 10 個人 ターゲット マス(全ての人口) データの 活用価値 • One-to-one マーケティング • 個々人やモノに対する適切な犯罪抑止施策 • 過去の病歴や生活習慣に応じた予防医療 • ターゲット・マーケティング • 対象や地域を選定し、集中した犯罪抑止施策 • 遺伝子情報に応じた薬剤の使い分け • 電車広告などマス・マーケティング • 全市民を対象とした防犯への啓蒙活動 • 画一的な医療 • 市場競争優位 • 安全な社会 • 医療費の削減
  11. 11. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 機械学習の有効性の評価 11 全体の何割にアプローチするか 100%0% ターゲットへヒットする割合 20% 50%20% 70% 50% 有効性 顧客をランダムで 選択した場合 機械学習を使用して 選択した場合 ROI(投資対効果) が向上している 100%
  12. 12. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. ビッグデータ: データを増やして予測精度を上げる ランダム 100%0% 20の属性からなるモデル 75の属性からなるモデル 250の属性からなるモデル ビッグデータ(例えば数百の属性 からなる入力)で生成されたモデル • 統計データ • POSトランザクションデータ • テキストやコメント • 位置情報 • 過去データと直近の行動データ • ウェブログデータ • センサーデータ etc. 100% 全体の何割にアプローチするか ターゲット層へヒットする割合 8
  13. 13. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. データ活用におけるPDCAサイクル(CRISP-DM) 13 ビジネスの 理解 データの 理解 データの 準備 データの モデリング 評価 展開 ビジネス 目的の 決定する 状況を 評価する 分析の ゴールを 決定する プロジェクト 計画を 建てる 初期 データを 収集する データを 記述する データを 調べる データの 品質を 検証する データを 選択する データを 整理する データを 構築する データを 統合する データを 設定する モデリング 手法を 選択する テスト 結果を 生成する モデルを 構築する モデルを 評価する 結果を 評価する プロセスを 審査する 次の ステップを 決定する 展開を 計画する 運用を 計画する 最終 レポートを 作成する プロジェクト を審査する ビジネスの 理解 データの 理解 データの 準備 評価 展開 データの モデリング CRISP-DM (Cross-Industry Standard Process for Data Mining)
  14. 14. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. ビジネスの 理解 データの 理解 データの 準備 評価 展開 データの モデリング データ分析サイクル の導入と継続運用を 自動化・サポート データ活用におけるPDCAサイクル(CRISP-DM) 14 CRISP-DM (Cross-Industry Standard Process for Data Mining)
  15. 15. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 15 オラクルのデータ分析製品
  16. 16. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Oracle Database Enterprise Edition Advanced Analytics Oracle Data Mining • データベース内部でマイニング処理 • 12個のマイニング・アルゴリズム • 予測分析のためのアプリケーションの開発 • Oracle Data Miner (SQL Developer) を 用いたGUIによる解析ワークフローの構築 • PL/SQL API と Java API の提供 • Exadataのパワーを利用したモデルの生成 Oracle Advanced Analytics オプション 高度な分析プラットフォームをデータベースに内包 Oracle R Enterprise • オープンソースの統計言語 • 一部の処理をデータベースにオフロード することで大規模なデータを分析可能 • 広範で高度な統計解析のための関数を提供 • Rの機能をアプリケーションやOBIEEに統合 • 対話的なデータ分析と優れたグラフ描画機能 • オープンソースRパッケージ (CRAN) の利用 16
  17. 17. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Oracle のデータ分析機能の歴史 データ分析SQLをデータベースに 17 1998 1999 2002 2005 20082004 2011 2015 • シンキングマシンズ社よ り“Darwin”データ・マ イニングソフトウェア +開発チームを獲得 • データ・マイニングSQL 関数, 7つの新しいアル ゴリズム, GUIウィザー ド型GUI Oracle Data Miner “Classic”を提供 • 3つの新しいアルゴリズム (EM, PCA, SVD)を追加 • SQLDEV/Oracle Data Miner 4.0 においてSQLス クリプト作成機能+SQLク エリーノード機能、R連係 機能が提供 • OAA/ORE 1.3 + 1.4 ス ケールする新しいRアルゴ リズムを提供 • Hadoopと連携するOracle R Advanced Analytics for Hadoopを提供 • 二つのアルゴリズム (NB, AR) をJava APIとして提供 • 自動データ準備 (ADP), テキストマイニング機能追加 • SQL Developerプラグイン Oracle Data Miner 3.2 を提供 • Oracle R Enterpriseによる Oracle DatabaseとRとの連係 • Oracle Advanced Analytics (ODM + ORE)に名称変更
  18. 18. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. BIEE、BICS Oracle Database Enterprise Edition Oracle Advanced Analytics の位置づけ 18 Advanced Analytics オプション SQLによるデータ分析機能と高性能なRの統合 データベース内で拡張可能で分散されたパラレル処理を実行可能 SQL Developer HCM、CRMなどR Client データ分析担当者 R プログラマー マネージメント エンドユーザー
  19. 19. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 19 Advanced Analytics 製品概要 「Data Mining」
  20. 20. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Oracle Data Mining 20 • DB内でデータマイニングを実行 – PL/SQL APIとJava API – 予測分析アプリケーションの開発と運用 • Oracle Data Miner (GUI) – ウィザードを利用した、ガイド付きの マイニングツール
  21. 21. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Oracle Data Mining アーキテクチャ 21 ODMRSYS Data Miner リポジトリ USERS 機械学習用 テーブル/ビュー サービス Data Mining XML DB Scheduler Text SQL Developer (Data Miner プラグイン) SQL, PL/SQL
  22. 22. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Oracle Data Miner GUI • クライアントツールで操作、 処理はデータベースで実行 • GUI でワークフローを設計、 複数のユーザーで共有可能 • SQL による ETL 処理を ワークフローとして記述可能 • 自動的に入力データを加工 (欠損値補完など) • 複雑な機械学習のパラメータ を自動的に調整して実行 分析対象データ モデル構築 新規データの分析 (モデルの適用) 結果出力
  23. 23. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. In-Database Data Mining アルゴリズム 23 アルゴリズム 応用範囲の例 分類 Logistic Regression (GLM) Decision Trees Naïve Bayes Support Vector Machines (SVM) ロイヤルカスタマーの予測 稼働会員から外れる会員の予測 優良商品へ成長する製品の予測 インバウンドニーズのある店舗の予測 回帰 Linear Regression (GLM) Support Vector Machine (SVM) 特定商品の売り上げを予測 特定顧客の消費金額を予測 異常検出 One Class SVM 不正検知や異常値の検出 属性重要度 Minimum Description Length (MDL) Principal Components Analysis (PCA) 属性の絞り込み、ノイズの低減 相関ルール Apriori バスケット分析 / NBO(Next Best Offer)分析 クラスタリング Hierarchical k-Means Hierarchical O-Cluster Expectation-Maximization Clustering (EM) 製品のグルーピング/ テキストマイニング 遺伝子-タンパク質分析 特徴抽出 Nonnegative Matrix Factorization (NMF) Singular Value Decomposition (SVD) テキスト分析 / 因子分析 A1 A2 A3 A4 A5 A6 A7 F1 F2 F3 F4
  24. 24. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 24 Advanced Analytics 製品概要 「R Enterprise」
  25. 25. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 従来のRの制限 • メモリの制約 • データをメモリ上に展開しての演算処理 • 処理データ量に制限 • 大規模データの扱いには向いていない • 処理に応じて繰り返されるメモリへのデータロード • メモリ・リソースが枯渇しやすい • シングル・スレッド処理 • マルチコア環境で性能のスケーラビリティが低い 25
  26. 26. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Oracle R Enterprise 26 • データベースの機能としてRの実行環境を提供 – データフレーム上またはOracle表/View上でRを実行可能 – コマンド、コンソール、ワークスペースはRと同じものを提供 • 企業のデータベースをRで利用 – データベース内のデータに対してダイレクトかつ透過的に処理 – 大規模データセットをRで扱うことが可能 • 高いパフォーマンス – プログラミングレスで 並列処理をDB内にて実行 R
  27. 27. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 27 R の処理を透過的に Oracle Database 内で実行します。 Oracle R Enterprise アーキテクチャ R言語の処理を透過的にOracle Database内の処理に変換することで、大規模な分析を実現します。 またDB内処理に変換できない部分もDBサーバ上でRプロセスを実行します。 R EngineR Engine R Engine Other R packages Rの処理をDB内の処理に変換・オフロードします。 Oracle R Enterprise packages 接続 結果 DBサーバー内で外部プロセスとしてRを実行することが可能です Rクライアント • RスクリプトをOracle Databaseで実行 するようにスクリプトを発行します。 • グラフの描画や処理フローの制御は、 通常のRの機能を利用し、クライアント 側で実行します。 データベース・サーバー上のR実行 • データベースが複数のRのプロセスをデー タベースサーバー上に外部プロセスとし て起動しますので、追加機器が不要です。 • SQLやPL/SQLからRのスクリプトを呼び 出し可能です。 分析者 データベース・サーバー 外部 プロセス Oracle Database内部での実行 • Rの関数をSQLに変換して実行します。 • Oracle Databaseの並列実行の仕組みを 活用し、大量のデータに対応します。 • Oracle Databaseの持つ統計関数、データ マイニング機能を内部的に活用します。 DB 起動 結果 R Engine Other R packages Oracle R Enterprise packages
  28. 28. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 高速化のためにORE透過層を利用した検証事例 • データの加工、モデルの作成、スコアリ ングなどの処理を透過層にて処理できる 場合は、さらなる高速化が期待できます • 一例として、新日鉄住金ソリューション ズ様による検証では、透過層の利用によ り、OSS Rと比べ処理時間を約40分の1 に短縮可能なことを確認できました • 参考記事 • 検証結果の特集記事(左の画像) • 新日鉄住金ソリューションズ様の プレスリリース 28
  29. 29. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. ORE を使用する 29 library(ORE) ORE のライブラリを読み込みます ore.connect( user="ore_user", sid="orcl", host="192.168.56.101", password="oracle", port=1521, all=TRUE) データベースのユーザーで接続します ore.ls() データベース上の表に R プロセスからアクセスできます
  30. 30. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. どこにあるデータでモデルを生成するか 30 model <- lm(Sepal.Length ~ ., data = iris) pred <- predict(model, iris, se.fit = TRUE, interval = "prediction") result <- cbind(iris, pred) head(result[c(1,6)]) クライアントの R でモデルを生成・適用します R EngineR Engine R Engine Other R packages Oracle R Enterprise packages 接続 結果 分析者 外部 プロセス DB 起動 結果 R Engine Other R packages Oracle R Enterprise packages
  31. 31. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. どこにあるデータでモデルを生成するか 31 iris_db <- ore.push(iris) データベースの一時的な表にデータを複製します model2 <- ore.lm(Sepal.Length ~ ., data = iris_db) pred <- ore.predict(model2, iris_db, se.fit = TRUE, interval = "prediction") result <- cbind(iris_db, pred) head(result[c(1,6)]) データベース上でモデルを生成・適用します R EngineR Engine R Engine Other R packages Oracle R Enterprise packages 接続 結果 分析者 外部 プロセス DB 起動 結果 R Engine Other R packages Oracle R Enterprise packages
  32. 32. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. どこにあるデータでモデルを生成するか 32 ore.create(iris, table="iris_tab") データベースに表を作成してデータを複製します model3 <- ore.lm(Sepal.Length ~ ., data = iris_tab) pred <- ore.predict(model3, iris_tab, se.fit = TRUE, interval = "prediction") result <- cbind(iris_tab, pred) head(result[c(1,6)]) データベース上でモデルを生成・適用します R EngineR Engine R Engine Other R packages Oracle R Enterprise packages 接続 結果 分析者 外部 プロセス DB 起動 結果 R Engine Other R packages Oracle R Enterprise packages
  33. 33. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 33 In-Database Analytics
  34. 34. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. データ分析の際のデータの「在り処」 34 データベースなど データがある場所から、 データをツールのある 場所に移動または複製 して分析を実行 典型的な統計解析ツール in-Database データ分析 データベースや Hadoopなど データが存在する場所で 分析を実行
  35. 35. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. データ分析の導入における課題 35  データ分析用のハードウェアの導 入やソフトウェアのインストール の作業  データベースからデータを出力し、 必要に応じて変換し、データ分析 用ソフトウェアにロードする作業 作業工数  データ分析用ソフトウェアの選定 と導入  データ分析用ハードウェアの導入 と、データ量の変化と分析の要件 に応じた拡張 S/WとH/Wのコスト  データがデータベース外に複製さ れることによるデータの拡散リス クの増加  データを分析するユーザーに対す るアクセス制御の低下 セキュリティ インフラ担当者 データベース・サーバー 分析用サーバー 分析担当者 データの拡散リスク H/WやS/Wの導入 データ加工の手間
  36. 36. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. in-Database で迅速なデータ分析 36  データベースにデータが格納され ている場合、新たなソフトウェア やハードウェアは不必要  この場合、データ分析がデータ ベース・サーバーないで完結する ためデータの変換や移動も不必要 作業工数  データベースの Advanced Analytics オプションが必要  新たなデータ分析用ハードウェア の導入は不必要 S/WとH/Wのコスト  データがデータベース外に複製さ れないため、データの拡散を防止 可能  データを分析するユーザーに対す るアクセス制御が可能 セキュリティ インフラ担当者 データベース・サーバー 分析担当者 計算リソースの活用 アクセス制御
  37. 37. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Cloud でクイック・スタート 37  OS やデータベースのセットアッ プなしに環境構築が可能 作業工数  データベースの Advanced Analytics オプションは High Performance インスタンスに 含まれている  オンプレミスに移行できるハイブ リッド・クラウド S/WとH/Wのコスト  データの暗号化も可能  オンプレミス同様、データを分析 するユーザーに対するアクセス制 御が可能 セキュリティ インフラ担当者 クラウド 分析担当者 構築作業削減 暗号化
  38. 38. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 機械学習はシステムに組み込める時代に 従来の分析ソフトウェアでは • 既存のデータベース・サーバーと別に 分析用サーバーやソフトウェアが必要 • 予測分析の結果が得られても、すぐに システムに組み込むことができない データベースの分析機能を使えば • 既存のデータベース・サーバーを 用いてデータの前処理からモデル生成、 モデルを活用したアプリ開発ができる • 予測分析の結果をシステムに組み込み ユーザーのフィードバックを得ることで、 予測精度を向上させるサイクルができる Yes 68% アプリケーション データベース・クラウド システム担当者 分析担当者 予測モデルの 生成とデプロイ フィードバック 速いPDCA サイクル In-Database
  39. 39. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. オラクル DB で機械学習を使う3つの理由 1. データの前処理が効率的 • データのエクスポート/インポートが不要 • SQLを使って集計やフィルタリング 2. 非常に高速、高い拡張性 • データベース内で高速にモデル生成 • クラウド環境であれば簡単に拡張できる 3. アプリケーションへの導入が容易 • SQLでモデルによる予測を取得できる • 予測の正否をフィードバックできる データの前処理が分析全体 の工数の80%を占めること もしばしばと言われます モデル生成に必要なスペッ クを見積もるのは難しいの でクラウドが便利です モデル適用後の予測を表示 したりユーザーの評価を 収集するアプリを作れます
  40. 40. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Advanced Analytics 顧客事例 Manufacturing FinanceProfessional Services Media, Communication CPGScience Health, Public Sector http://www.oracle.com/technetwork/database/options/advanced-analytics/odm/odm-customers-086483.html http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/overview/index.html https://www.oracle.com/search/customers?Dy=1&Nty=1&Ntk=S3&Ntt=Advanced+Analytics 公開されている事例でも20社以上、その他多くの企業でデータ分析基盤 として、また、OracleのSaaSアプリケーションでも使用されています。
  41. 41. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 参考資料 • Oracle Advanced Analytics:まとめページ • Data Miner チュートリアル 01. Data Miner のセットアップ 02. 分類モデルによる予測 03. 表データの加工とモデル構築 • R Enterprise 使い方ガイド Oracle R Enterprise のセットアップ Oracle R Enterprise の使い方 41
  42. 42. Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

×