Oracle Machine Learning for SQLについて

Oracle Machine Learning for SQL (OML4SQL)は、PL/SQLおよびSQL APIを使用して、スケーラブルなデータベース内機械学習アルゴリズムを提供します。アルゴリズムは高速かつスケーラブルで、アルゴリズム固有の自動データ準備をサポートし、バッチまたはリアルタイムでスコアリングできます。

OML4SQLにより、Oracle Database内に強力かつ最先端の機械学習機能が提供されます。データベース内の並列化されたアルゴリズムにより、データはデータベースの制御下に置かれます。別の機械学習エンジンにデータを抽出する必要はありません。抽出した場合、データ・アクセスに遅延が生じ、データの安全性、保存性および最新性に懸念が生じます。アルゴリズムは高速かつスケーラブルで、アルゴリズム固有の自動データ準備をサポートし、バッチまたはリアルタイムでスコアリングできます。OML4SQLを使用して予測的かつ記述的な機械学習アプリケーションを作成およびデプロイし、既存のアプリケーションに、高い知能を備えた機能を追加することや、データ調査のための予測問合せを生成することができます。OML4SQLは、データのスコアリング時に説明的な予測の詳細を提供するため、個々の予測が行われた理由を理解できます。

OML4SQLでは、様々な機械学習のタスク(分類、回帰、異常検出、特徴抽出、クラスタリング、マーケット・バスケット分析など)を実行するためのインデータベース・アルゴリズムの幅広いセットを提供しています。このアルゴリズムは、標準的なケース・データ、トランザクション・データ、スター・スキーマおよび非構造化テキスト・データで機能します。OML4SQLは、巨大なデータセットの分析に最適なものです。

Oracle Machine Learning for SQLは、Oracle Machine Learning for RおよびOracle Machine Learning for Pythonとともに、特にインデータベース機械学習用の3つの強力なAPIを提供するOracle Machine Learningのコンポーネントです。

データベース・カーネルのOracle Machine Learning for SQL

Oracle DatabaseカーネルのOracle Machine Learning for SQL (OML4SQL)の実装とその利点について学習します。

OML4SQLは、Oracle Databaseカーネルに実装されています。OML4SQLのモデルは、最初のクラス・データベース・オブジェクトです。Oracle Machine Learning for SQLのプロセスは、Oracle Databaseの組込み機能を使用することでスケーラビリティを最大化して、効率的にシステム・リソースを利用します。

Oracle Database内のOML4SQLには、次のような多くの利点があります。

  • データ移動なし: 一部の機械学習製品では、企業のデータベースからデータをエクスポートして、特別な形式に変換する必要があります。OML4SQLを使用すると、データの移動や変換が不要になります。このため、プロセス全体の簡略化、作業時間の短縮、エラー発生頻度の抑制が実現し、非常に大規模なデータセットの分析が可能になります。

  • セキュリティ: データはOracle Databaseの広範なセキュリティ・メカニズムで保護されます。さらに、機械学習の様々なアクティビティには特定のデータベース権限が必要になります。適切な権限を持つユーザーのみが、機械学習モデル・オブジェクトを定義、操作または適用できます。

  • データ準備および管理: ほとんどのデータは、マイニング前に様々な方法での整備、フィルタリング、正規化、サンプリング、変換を必要とします。機械学習プロジェクトの取組みのうち、その80%までがデータの準備に費やされることもよくあります。OML4SQLでは、データ準備プロセスの主要なステップを自動的に管理できます。また、Oracle Databaseでも、データ準備および管理用の豊富な管理ツール群が提供されています。

  • データ・リフレッシュの簡易化: Oracle Database内の機械学習プロセスは、リフレッシュ済のデータにすぐにアクセスできます。OML4SQLでは、現在のデータに基づく機械学習の結果を簡単に配信できるため、最大限の適時性と適合性が得られます。

  • Oracle Database Analytics: Oracle Databaseには、高度な分析やビジネス・インテリジェンス用の機能が多数用意されています。機械学習は、その他のデータベースの分析機能(統計的分析やOLAPなど)と簡単に統合できます。

  • Oracle Technology Stack: オラクル社に集積されたテクノロジのあらゆる側面を利用して、ビジネス・インテリジェンスや科学調査といった、より大規模なフレームワーク内に機械学習を統合できます。

  • ドメイン環境: 機械学習のモデルは、適切なアプリケーション・ドメイン環境で作成、テスト、検証、管理および配置する必要があります。機械学習の結果には、永続リポジトリまたはデータ・ウェアハウスに格納する前に、ドメイン固有の計算(推定リスクや反応確率の計算など)の一部として後処理を必要とするものもあります。OML4SQLでは、機械学習アクティビティの前処理と後処理をすべて同じ環境で実行できます。

  • アプリケーション・プログラミング・インタフェース: PL/SQL APIおよびSQL言語の演算子を利用することで、Oracle Database内のOML4SQL機能に直接アクセスできます。

Oracle ExadataのOracle Machine Learning for SQL

Oracle Exadataを使用して複雑なスコアリングやアルゴリズムの処理を実行する方法について説明します。

スコアリングとは、OML4SQLモデルをデータに適用して予測を生成するプロセスのことです。スコアリング・プロセスには、システム・リソースがかなり必要になることがあります。状況によっては、膨大な量のデータが関係するため、アルゴリズムの処理は非常に複雑になります。

OML4SQLでは、スコアリングの負荷を処理が非常に高速でインテリジェントなOracle Exadata Storage Serverに移行できます。

Oracle Exadata Storage Serverは、オラクル社の高性能なストレージ・ソフトウェアとオラクル社の業界標準仕様のハードウェアを組み合せて、業界最高レベルのデータベース・ストレージ・パフォーマンスを実現します。Oracle Exadataの詳細は、Oracle Technology Networkにアクセスしてください。

Oracle Machine Learning for SQL APIのハイライト

OML4SQLのアプリケーション・プログラミング・インタフェース(API)の利点について学習します。

機械学習は、多くのアプリケーション・ドメインで有益なテクノロジです。これは、業務を最適化して競争力を維持するためのツールとして、民間部門で徐々に欠かせないものになってきました。また、公共部門や科学研究にも、重要な機械学習のアプリケーションがあります。ただし、機械学習アプリケーション開発の複雑さや、大量のデータの管理と保護に固有の複雑さにより、機械学習テクノロジの採用が制限される場合があります。

これらの問題に対処するには、OML4SQLが最も適しています。機械学習エンジンがデータベース・カーネルに実装されます。データの管理と保護にはOracle Databaseの堅牢な管理機能を使用できます。APIは、あらゆる種類の機械学習アルゴリズムと手順をサポートする一方で、機械学習アプリケーションの開発を簡素化する機能も備えています。

OML4SQL APIは、Oracle SQL (データベースのネイティブ言語)に対する拡張機能で構成されています。このAPIには、次の利点があります。

  • SQL問合せのコンテキスト内のスコアリング。スコアリングは動的に実行することも、機械学習モデルの適用により実行することもできます。

  • 自動データ準備(ADP)と組込み変換。

  • モデルの透過性。アルゴリズム固有の問合せでは、モデルの作成に使用された属性に関する詳細が戻されます。

  • スコアリングの透過性。予測、クラスタリングまたは特徴抽出の操作に関する詳細をスコアとともに戻すことができます。

  • 予測分析を実行するためのシンプルなルーチン。

  • Oracle SQL Developer内のワークフローベースのグラフィカル・ユーザー・インタフェース(GUI)。SQL Developerは次のサイトから無料でダウンロードできます。

    Oracle Data Miner

ノート:

この公開の例は、GitHubで利用できるOML4SQLの例を採用しています。例の詳細は、OML4SQLの例についてを参照してください。