1 機械学習とは

機械学習技術の知識がないユーザーのための説明です。

ノート:

機械学習に関する情報は、幅広く提供されています。現在の知識がどの程度であっても、機械学習に関する有用なドキュメントや記事を見つけることができます。

1.1 機械学習とは

機械学習について学びます。

機械学習は、人工知能(AI)のサブセットであり、自らが使用したデータを学習するシステム、または自らが使用したデータに基づいて性能が向上するシステムを構築することが主な目的となっています。機械学習とAIという用語は、よく同義的に使用されます。重要な違いとして、すべての機械学習はAIですが、すべてのAIが機械学習であるわけではありません。機械学習とは、データ内の未知の関係性を見つける手法です。機械学習は、自動的に、大量に保管されているデータを検索して単純な分析では得られないパターンや傾向を見つけます。機械学習は、高度な数学的アルゴリズムを使用することで、データを分割し、過去のイベントに基づいて将来のイベントの発生可能性を予測します。

機械学習には主に次のような特性があります。

  • パターンの自動検出

  • 発生確率の高い結果の予測

  • 実用的な情報の作成

  • 大規模なデータセットおよびデータベースへの特化

機械学習を行うと、単純な問合せ手法やレポート手法では対処できない問題について、答えを得ることができます。

1.1.1 自動検出

機械学習は、一連のデータが対象となるアルゴリズムを使用するモデルによって実行されます。

機械学習のモデルは、その作成の基になったデータをマイニングするために使用できますが、ほとんどのタイプのモデルは新しいデータに一般化可能です。新しいデータに対してモデルを適用するプロセスはスコアリングとも呼ばれます。

1.1.2 予測

機械学習の形式の多くは予測です。たとえば、あるモデルは、教育レベルなどの人口統計要素に基づいて収入を予測します。予測には、確率(この予測が正しいことの確からしさ)が関連しています。予測確率は信頼度(この予測を信頼できる程度)とも呼ばれます。

一部の予測機械学習では、特定の結果を示す条件である、ルールが生成されます。たとえば、あるルールは、学士号を持っていて特定の地域に住んでいる人は、収入が地域の平均収入よりも高いことが多い、ということを表します。ルールには、支持度(母集団のうちこのルールに適合する個体の割合)が関連しています。

1.1.3 グループ化

機械学習のその他の形式として、データ内の自然なグループを識別するというものがあります。たとえば、モデルによって、母集団のうち、収入が特定の範囲内にある集団、良好な運転歴を持つ集団、年単位で新車をリースする集団を識別するような場合です。

1.1.4 実用的な情報

機械学習では、大量のデータから実用的な情報を導き出すことができます。たとえば、都市設計家の場合、低所得者向け住宅を開発する際に、人口統計に基づいて収入を予測するモデルを使用することが可能です。自動車のリース会社では、付加価値の高い顧客を対象とする販促を計画するために、顧客の各セグメントを識別するモデルを使用できます。

1.1.5 機械学習と統計

機械学習統計はかなりの部分で重複しています。実際、機械学習で使用される手法のほとんどは統計の範疇に収まります。しかし、機械学習の手法は従来の統計手法と同一ではありません。

統計モデルでは、通常、データについて強い仮定をし、その仮定に基づいて、結果について強い表明を行います。ただし、仮定に欠陥があると、モデルの妥当性は疑わしくなります。これに対し、機械学習の手法では、通常、データについて弱い仮定を行います。その結果、機械学習では、一般的に、結果についてそのような強い表明を行うことはできません。しかしながら、機械学習では、データにかかわらず非常に良好な結果を得ることができます。

従来の統計手法では一般的に、モデルの精度を検証するためにユーザーとの対話が相当量必要になります。そのため、統計手法の自動化は難しい場合があります。統計手法は、大規模な母集団内の小規模な代表サンプルに基づいた仮説の検定または相関の検出に依存しているためです。

機械学習では、ユーザーとの対話やデータの知識は少なくて済みます。ユーザーは、ある手法が特定のデータセットに対して有効となることを保証するために、データを操作する必要はありません。Oracle Machine Learningの手法は、従来の統計手法よりも簡単に自動化できます。

1.1.6 Oracle Machine LearningとOLAP

On-Line Analytical Processing (OLAP)は、多次元データの高速な分析であると定義できます。OLAPとOracle Machine Learningは異なりますが、相互に補完的なアクティビティです。

OLAPでは、データ集約、コスト割当て、時系列分析およびwhat-if分析などのアクティビティがサポートされています。ただし、ほとんどのOLAPシステムには、時系列予測のサポートを超える帰納的推論の機能はありません。特定のサンプルから一般的な結論を導き出すプロセスである帰納的推論は、機械学習の特性です。帰納的推論は、計算論的学習とも呼ばれます。

OLAPシステムではデータの多次元的ビューが提供され、階層が完全にサポートされます。このデータ・ビューは、企業や組織の分析に一般的に使用される様式です。

Oracle Machine LearningとOLAPは、様々な方法で統合できます。OLAPを使用すると、機械学習の結果を様々な粒度で分析できます。機械学習は、より興味深い有益なキューブを構築するために役立ちます。たとえば、予測機械学習の結果をカスタム・メジャーとしてキューブに追加できます。このようなメジャーにより、各顧客について「債務を履行しない可能性が高い」または「購入する可能性が高い」などの情報を提供できます。OLAP処理を使用すれば、さらに確率を集計したり要約したりできます。

1.1.7 Oracle Machine Learningとデータ・ウェアハウス

データは、フラット・ファイル、スプレッドシート、データベース表またはその他の格納形式で保存されている場合でもマイニングできます。データの重要な基準は格納形式ではなく、解決すべき問題への適用性にあります。

機械学習では、データの整備および準備を適切に行うことが非常に重要であり、これらのアクティビティはデータ・ウェアハウスで円滑に実行できます。ただし、問題の解決に必要なデータが含まれていないデータ・ウェアハウスは役に立ちません。

1.2 機械学習で実行可能なことと不可能なこと

機械学習は、データ内のパターンや関係性の検出に役立つ強力なツールです。しかし、機械学習は単独では機能しません。データ・マイニングを実施しても、ユーザーによるビジネス、データおよび分析手法への理解が必要であることに変わりはありません。機械学習では、データ内の隠れた情報が見つかりますが、その情報がユーザーの組織にとってどのような価値を持つかを示すことはできません。

ユーザーは、長期にわたってデータを処理してきた結果、重要なパターンについてはすでに認識している可能性があります。機械学習では、そうした経験的観測の追認や適切性の確認ができ、その上で、簡単な観測ではすぐには認識できない新たなパターンを発見できます。

機械学習によって発見された予測的な関係性は因果関係を示すものではないと覚えておくことが重要です。たとえば、機械学習によって、収入が$50,000から$65,000で特定の雑誌を購読する男性は特定の製品を購入する傾向にある、と判断されたとします。ユーザーは、この情報をマーケティング戦略の開発に利用できますが、ただし、機械学習によって識別された集団に属しているという理由から、その集団の構成員がその製品を購入するとみなすべきではありません。

機械学習によって得られるのは、確率であり、正確な答えではありません。頻度の低いイベントが、頻繁ではなくとも、起こる可能性があることに注意してください。

1.2.1 適切な問題の設定

機械学習では、ガイダンスなしで自動的に情報が発見されることはありません。機械学習によって発見されるパターンは、ユーザーが問題をどのように設定するかで大きく異なります。

意味のある結果を得るには、適切な設問のしかたを学ぶ必要があります。たとえば、ダイレクト・メールによるセールスへの反応を向上させる方法を知ろうとするよりは、過去にセールスに対して反応した顧客の特性を検出しようとする方が有用な場合があります。

1.2.2 データの理解

有意義な機械学習結果を確実に得るには、保有しているデータを理解する必要があります。機械学習のアルゴリズムは、多くの場合、外れ値(データベース内の典型的な値と大幅に異なるデータ値)、無関係な列、一緒に変化する列(年齢と誕生日など)、データ・コーディング、ユーザーによるデータ選別(追加または除外)など、データの特定の特性に影響を受けます。アルゴリズムに必要となるデータ準備の多くは、Oracle Machine Learningによって自動的に実行可能です。ただし、一部のデータ準備は、一般的に、分野や機械学習の問題に特有のものとなります。いずれにしても、モデルの適用時に結果を正しく解釈できるように、モデルの作成に使用するデータについて理解しておく必要があります。

1.3 Oracle Machine Learningのプロセス

次の図に、機械学習プロジェクトの各フェーズおよび反復的な性質を示します。このプロセス・フローは、特定の解を得ることができても機械学習プロジェクトは停止しないということを示しています。その結果から新たなビジネス上の問題が提起され、この問題を利用してさらに的確なモデルを開発できます。

図1-1 Oracle Machine Learningのプロセス

図1-1の説明が続きます
「図1-1 Oracle Machine Learningのプロセス」の説明

1.3.1 問題の定義

Oracle Machine Learningプロジェクトの最初のフェーズでは、プロジェクトの目的および要件の把握に取り組みます。ビジネスの観点から問題を特定した後は、それを機械学習の問題として形成し、暫定的な実装計画を開発できます。

たとえば、ユーザーの抱えるビジネス上の課題が、「顧客に対する製品の販売数を増やすにはどうしたらよいか」であるとします。これは、どのような顧客が最もその製品を購入する傾向にあるかなどの機械学習問題にすることができます。どの顧客が最もその製品を購入する傾向にあるかを予測するモデルは、過去にその製品を購入した顧客を説明しているデータに基づいて作成する必要があります。モデルを作成する前に、対象製品を購入したことがある顧客と購入したことがない顧客との間の関係が含まれている可能性のあるデータを集めることが必要です。顧客の属性となるものには、年齢、子供の数、居住年数、持ち家/賃貸などが考えられます。

1.3.2 データの収集と準備

ビジネス上の課題を解決するためのデータの収集、データの準備および機能のエンジニアリング方法を理解します。

データの把握フェーズでは、データの収集や調査を行います。データを詳細に調べるほど、そのデータによって当該のビジネス問題をどの程度解決できるかを判断できるようになります。一部のデータの削除や、他のデータの追加を行います。また、このフェーズでは、データの質に関する問題の識別やデータ内のパターンのスキャンも行います。

データの収集および準備フェーズでは、モデルの作成に使用する表またはビューの作成に必要なタスクをすべて実施します。データ準備のタスクは複数回にわたって実行される可能性が高く、所定の順序には従いません。タスクには、列の選択およびビューの作成に加え、データの整備や変換も含まれることがあります。たとえば、DATE_OF_BIRTH列のAGEへの変換や、INCOME列がNULLのケースへの平均収入の挿入といったタスクが考えられます。

さらに、データの表層に近い情報を得るために、新しく計算した属性を追加する場合もあります(通常、機能エンジニアリングと呼ばれます)。たとえば、購入金額を使用するかわりに、「12か月のうちで購入金額が500ドルを超えた回数」といった新しい属性を作成できます。大きい買い物を頻繁に行う顧客も、値引きに反応する顧客または反応しない顧客と関連がある場合があります。

十分に考慮してデータを準備し、特定分野の知識を獲得する新しい「エンジニアリングされた特徴」を作成すると、機械学習で発見されるパターンの質を大幅に高めることができます。Oracle Database内で、データ・アナリストがデータ・アセンブリ、データ準備、データ変換および特徴エンジニアリングを実行できるようにすることがOracleの卓越した特性です。

ノート:

Oracle Machine Learning for SQLでは、データ準備プロセスを大幅に単純化する自動データ準備(ADP)がサポートされています。

関連項目

1.3.3 モデルの作成と評価

このフェーズでは、様々なモデリング手法を選択して適用し、パラメータを最適な値に調整します。アルゴリズムでデータの変換が必要な場合、前のフェーズに戻って、その変換を行う必要があります。

完全なデータセットには数百万から数十億の行が存在する可能性があるため、多くの場合、暫定的なモデルを作成するときは、縮小したデータセットで作業する方が合理的です。データのサブセットで特定のアルゴリズムがどのように動作するかを理解することは、プロセスの早い段階でデータ品質の問題とアルゴリズム設定の問題を特定するのに役立ちます。

プロジェクトのこの段階では、(フェーズ1で)最初に掲げたビジネス上の目標をモデルがどの程度満たしているかを評価します。製品を購入する可能性のある顧客をモデルで予測するはずだった場合、そのモデルは2つのクラス間を十分に区別していますか。リフトは十分に存在しますか。混同マトリックスに示されているトレードオフは許容できますか。テキスト・データを追加することによって、そのモデルの精度は向上できますか。購入品など、トランザクショナル・データ(マーケット・バスケット・データ)は含める必要がありますか。不適切なポジティブまたは不適切なネガティブに関連付けられるコストをモデルに組み込む必要がありますか。

1.3.4 知識の配置

知識の配置とは、ターゲット環境内で機械学習を使用することです。配置フェーズでは、本質的かつ実用的な情報をデータから導き出すことができます。

配置では、スコアリング(新しいデータへのモデルの適用)、モデル詳細(ディシジョン・ツリーのルールなど)の抽出の他、アプリケーション、データ・ウェアハウス・インフラストラクチャ、問合せツールやレポート・ツール内への機械学習モデルの統合などを行うことができます。

Oracle Machine LearningではOracle Database内で機械学習モデルが作成され適用されるため、その結果はすぐに利用できます。機械学習の結果は、BIレポート・ツールおよびダッシュボードで簡単に表示できます。また、機械学習では、単一のSQL SELECT文の一部として、単一ケースまたは単一レコードの同時スコアリングをサポートします。単一のデータベース・トランザクションで、データをマイニングして結果を返すことができます。たとえば、販売担当者は、不正の可能性を予測するモデルをオンライン販売のトランザクションのコンテキスト内で実行できます。