31
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. Oracle Advanced Analytics Oracle Databaseを活用した機械学習 2017年9月27日 日本オラクル株式会社 クラウドプラットフォームソリューション統括 Big Data & Analytics ソリューション部

Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要

  • View
    203

  • Download
    4

Embed Size (px)

Citation preview

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

Oracle Advanced Analytics

Oracle Databaseを活用した機械学習

2017年9月27日

日本オラクル株式会社クラウドプラットフォームソリューション統括Big Data & Analytics ソリューション部

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

2

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

本セッションの内容

• 機械学習と予測分析

• 予測分析の活用

• オラクルのデータ分析製品

• まとめ

3

Yes68%

Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 4

機械学習と予測分析

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

人工知能における機械学習の役割

5

センサやデータベースなどから、ある程度の数のサンプルデータ集合を入力して解析を行い、そのデータから有用な規則、ルール、知識表現、判断基準などを抽出し、アルゴリズムを発展させる

特化型 AI 各々のデータ

最近暖かくなりましたね

今年は桜の開花が早いそうです。楽しみですね

(人間なのかな…)

会話 天気

運転 地図

クイズ 辞書

https://ja.wikipedia.org/wiki/機械学習

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

保険を契約してくれるか予測したい!

問題「顧客情報(年齢/性別/住所/家族構成などの属性値)から、その顧客が今後保険を契約してくれる可能性を求めたい」

6

分類モデル顧客データ

このモデルをどのように作成するのか?

この顧客は契約する?(その確率は?)

年齢、性別、住所、家族構成、年収、預金残高、持ち家の有無、車の有無、…

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

機械学習によるモデル作成

7

分類モデル顧客データ = 学習データ

予測結果年齢、性別、住所、家族構成、年収、預金残高、持ち家の有無、車の有無、…、保険を契約してくれたかどうか

アルゴリズム

• 重回帰• SVM• 決定木 など

予測対象データ

Yes68%

アルゴリズムでモデルを自動生成

過去データとアルゴリズムで予測モデルを作成

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

作成されるモデルのイメージ

8

預金残高

<50万円 >=50万円

女性男性

性別

No

No

IF ( 預金残高 >= 50万円AND 性別 = “女性” )

THEN商品X = Yes

Probability = 0.77(信頼度)Support = 0.250(組み合わせの出現率)

ID 性別 年齢 職業 預金残高 契約

101 男性 31 会社員 100万円 No

102 女性 42 教員 50万円 Yes

103 女性 36 教員 10万円 No

104 男性 43 会社員 30万円 No

105 女性 22 弁護士 70万円 Yes

過去顧客データ

ID 性別 年齢 職業 預金残高 契約

314 男性 40 弁護士 40万円 No

315 女性 26 美容師 55万円 Yes

新規顧客データ

Yes

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

機械学習の有効性の評価

9

全体の何割にアプローチするか

100%0%

ター

ゲッ

トへ

ヒッ

トす

る割

20%

50%20%

70%

50%

有効性

顧客をランダムで選択した場合

機械学習を使用して選択した場合

ROI(投資対効果)が向上している

100%

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

例)保険を契約してくれそうな人を探す

10

この保険、契約しませんか?

営業マン

Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 11

予測モデルをどう活用するか?

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

学習モデルをどう活用するか

12

分析担当者システム担当者 システム アプリケーション

Business Intelligence

データサイエンス!

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

学習モデルをどう活用するか

13

分析担当者

Business Intelligenceデータ

分析報告書

by データサイエンティスト

システム担当者 システム アプリケーション

データサイエンス!

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

学習モデルをどう活用するか

14

分析担当者

Business Intelligence大量のデータ

分析用サーバー

分析報告書

by データサイエンティスト

営業部隊

システム担当者 システム アプリケーション

データサイエンス!

? ?? ?

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

学習モデルをどう活用するか

15

分析担当者

Business Intelligence

分析用サーバー

分析報告書

by データサイエンティスト

大量のデータ

NO!営業部隊

システム担当者 システム アプリケーション

データサイエンス!

? ?? ?

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

データでなく「分析」を移動する

16

分析担当者

Business Intelligence ▷ Business Analytics

システム担当者 システム アプリケーション

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

予測アプリケーションを作成する

17

Yes68%

分析担当者

予測アプリケーション

Business Intelligence ▷ Business Analytics

営業部隊

予測結果

システム担当者 システム アプリケーション

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

予測アプリケーションを作成する

18

Yes68%

予測結果

フィードバック

追加の情報

契約

年齢 33

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

データを収集して予測精度を高める

19

Yes68%

分析担当者

予測アプリケーション

Business Intelligence ▷ Business Analytics

営業部隊

予測結果

フィードバック+ 追加の情報

システム担当者 システム アプリケーション

Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 20

オラクルのデータ分析製品

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) の利用

21

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

Oracle Data Mining - Oracle Data Miner GUI

• クライアントツールで操作、処理はデータベースで実行

• GUI でワークフローを設計、複数のユーザーで共有可能

• SQL による ETL 処理をワークフローとして記述可能

• 自動的に入力データを加工(欠損値補完など)

• 複雑な機械学習のパラメータを自動的に調整して実行

分析対象データ

モデル構築

新規データの分析(モデルの適用)

結果出力

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

Oracle Data Mining – In-Database Data Mining アルゴリズム

23

アルゴリズム 応用範囲の例

分類

Logistic Regression (GLM)Decision TreesNaï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-MeansHierarchical O-ClusterExpectation-Maximization Clustering (EM)

製品のグルーピング/ テキストマイニング遺伝子-タンパク質分析

特徴抽出Nonnegative Matrix Factorization (NMF)Singular Value Decomposition (SVD)

テキスト分析 / 因子分析

A1 A2 A3 A4 A5 A6 A7

F1 F2 F3 F4

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

Oracle R Enterprise - 従来のRの制限

• メモリの制約

• データをメモリ上に展開しての演算処理

• 処理データ量に制限

• 大規模データの扱いには向いていない

• 処理に応じて繰り返されるメモリへのデータロード

• メモリ・リソースが枯渇しやすい

• シングル・スレッド処理

• マルチコア環境で性能のスケーラビリティが低い

24

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

Oracle R Enterprise

25

• データベースの機能としてRの実行環境を提供

–データフレーム上またはOracle表/View上でRを実行可能

–コマンド、コンソール、ワークスペースはRと同じものを提供

• 企業のデータベースをRで利用

–データベース内のデータに対してダイレクトかつ透過的に処理

–大規模データセットをRで扱うことが可能

• 高いパフォーマンス

–プログラミングレスで並列処理をDB内にて実行

R

Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 26

R の処理を透過的に Oracle Database 内で実行します。

Oracle R Enterprise - アーキテクチャ

R言語の処理を透過的にOracle Database内の処理に変換することで、大規模な分析を実現します。またDB内処理に変換できない部分もDBサーバ上でRプロセスを実行します。

R EngineR EngineR 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

Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 27

まとめ

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

データ分析の際のデータの「在り処」

28

データベースなどデータがある場所から、データをツールのある場所に移動または複製して分析を実行

典型的な統計解析ツール in-Database データ分析

データベースやHadoopなどデータが存在する場所で分析を実行

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

オラクル DB で機械学習を使う3つの理由

1. データの前処理が効率的

• データのエクスポート/インポートが不要

• SQLを使って集計やフィルタリング

2. 非常に高速、高い拡張性

• データベース内で高速にモデル生成

• クラウド環境であれば簡単に拡張できる

3. アプリケーションへの導入が容易

• SQLでモデルによる予測を取得できる

• 予測の正否をフィードバックできる

データの前処理が分析全体の工数の80%を占めることもしばしばと言われます

モデル生成に必要なスペックを見積もるのは難しいのでクラウドが便利です

モデル適用後の予測を表示したりユーザーの評価を収集するアプリを作れます

Copyright © 2017 Oracle and/or its affiliates. All rights reserved.

参考資料 (社外)

• Oracle Advanced Analytics:まとめページ

• https://github.com/oracle4engineer/advanced-analytics/wiki

• Data Miner チュートリアル

01. Data Miner のセットアップ

02. 分類モデルによる予測

03. 表データの加工とモデル構築

• R Enterprise 使い方ガイド

Oracle R Enterprise のセットアップ

Oracle R Enterprise の使い方

30

Copyright © 2017 Oracle and/or its affiliates. All rights reserved. 31