ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

教師あり学習のワークフローとアルゴリズム

教師あり学習とは

教師あり機械学習の目的は、不確定要素が存在する状況で証拠に基づいて予測を行うモデルを構築することです。適応アルゴリズムでデータのパターンを識別するにつれて、コンピューターは観測から "学習" します。観測値の数が増えると、コンピューターの予測性能が向上します。

具体的には、教師あり学習アルゴリズムでは、既知の入力データのセットとそのデータに対する既知の応答 (出力) を使用して、新しいデータに対する応答を適切に予測するようにモデルを "学習" させます。

たとえば、誰かが 1 年以内に心臓発作を起こすかどうかを予測するとします。年齢、体重、身長、血圧など、過去の患者に関する一連のデータを利用できます。データを測定してから 1 年以内に過去の患者に心臓発作が起こったかどうかは既知の情報です。したがって、問題は既存のすべてのデータを結びつけて、ある人が 1 年以内に心臓発作を起こすかどうかを予測できるモデルを作成することになります。

入力データ全体は、異種混合成分から構成される行列と見なすことができます。この行列の行は "観測値"、"例" または "インスタンス" と呼ばれ、それぞれに被験者 (この例では患者) についての一連の測定値が格納されます。この行列の列は "予測子"、"属性" または "特徴量" と呼ばれ、それぞれは各被験者に対する測定値 (この例では年齢、体重、身長など) を表す変数です。応答データは、入力データ内の対応する観測値 (患者が心臓発作を起こしたかどうか) の出力が、各行に格納されている列ベクトルと見なすことができます。教師あり学習モデルを "近似" または "学習" させるには、適切なアルゴリズムを選択し、入力と応答データを渡します。

教師あり学習は、分類および学習という 2 つのカテゴリに大別されます。

  • "分類" では、有限個のクラスの集合からクラス (または "ラベル") を観測値に割り当てることが目標です。つまり、応答はカテゴリカル変数です。応用例には、スパム フィルター、広告推奨システム、画像と音声の認識などがあります。ある患者が 1 年以内に心臓発作を起こすかどうかを予測することは分類問題であり、可能なクラスは truefalse です。通常、分類アルゴリズムはノミナルな応答値に適用されます。ただし、一部のアルゴリズムは順序クラスに対応できます (fitcecoc を参照してください)。

  • "回帰" では、観測値について連続的な測定値を予測することが目標です。つまり、応答変数は実数です。応用例には、株価、エネルギー消費、疾患の発生に関する予測などがあります。

Statistics and Machine Learning Toolbox™ の教師あり学習機能は、効率的なオブジェクト フレームワークから構成されています。さまざまなアルゴリズムの学習、モデルの結合による集団の作成、モデルの性能の評価、交差検定、および新しいデータに対する応答の予測を効率的に行うことができます。

教師あり学習のステップ

Statistics and Machine Learning Toolbox には、教師あり学習に利用できるアルゴリズムが数多く用意されていますが、ほとんどの場合、予測モデルの取得には同じ基本的なワークフローを使用します。(アンサンブル学習の手順の詳しい説明は、アンサンブル学習のフレームワークを参照してください)。教師あり学習の手順は次のとおりです。

データの準備

どのような教師あり学習の方式でも、ここで通常 X と表記されている入力データ行列から開始されます。X の各行が、1 つの観測値を表します。X の各列が、1 つの変数または予測子を表します。X に存在する NaN 値で欠損値を表します。Statistics and Machine Learning Toolbox の教師あり学習アルゴリズムは、NaN 値を処理できますが、その値を無視するか、または NaN 値を含む行を無視するかのどちらかになります。

応答データ Y には、さまざまなデータ型を使用できます。Y の各要素は X の対応する行に対する応答を表します。Y データが欠落している観測値は無視されます。

  • 回帰の場合、YX の行数と同じ数の要素をもつ数値ベクトルでなければなりません。

  • 分類の場合、Y には、次の表に示す任意のデータ型を使用できます。この表では、欠損値を表現する方法も示しています。

    データ型欠損値
    数値ベクトルNaN
    カテゴリカル ベクトル<undefined>
    文字配列空白行
    文字ベクトルのセル配列''
    論理ベクトル(表現できません)

アルゴリズムの選択

特性の異なるアルゴリズムには、それぞれ次のようなトレードオフが存在します。

  • 学習の速度

  • メモリ使用量

  • 新規データに関する予測精度

  • アルゴリズムによる予測の背景理解の容易さを表す、透明性または解釈可能性

アルゴリズムの詳細は、分類アルゴリズムの特性で説明します。集団アルゴリズムの詳細は、適用するアンサンブル法の選択で詳しく説明します。

モデルの近似

使用する近似関数は、選択したアルゴリズムによって異なります。

アルゴリズム近似関数
分類木fitctree
回帰木fitrtree
判別分析 (分類)fitcdiscr
k 近傍法 (分類)fitcknn
単純ベイズ (分類)fitcnb
分類用のサポート ベクター マシン (SVM)fitcsvm
回帰用の SVMfitrsvm
SVM または他の分類器向けのマルチクラス モデルfitcecoc
分類集団または回帰集団fitensemble
並列の分類または回帰木集団 (ランダム フォレスト[9]など)TreeBagger

これらのアルゴリズムの比較については、分類アルゴリズムの特性を参照してください。

検証法の選択

近似した結果のモデルの精度を検査するには、主に次の 3 つの手法があります。

近似の検証とモデルの最終調整

モデルを検証した後で、精度や速度、メモリ使用率を向上させるために、パラメーターを変更したい場合があります。

いずれかのタイプのモデルで満足のいく結果が得られたら、適切な関数 compact (分類木用の compact、回帰木用の compact、判別分析用の compact、単純ベイズ用の compact、SVM 用の compact、ECOC モデル用の compact、分類集団用の compact および回帰集団用の compact) を使用してトリミングします。compact は予測に必要ない他のプロパティ (決定木の枝刈り情報など) と学習データをモデルから削除するので、メモリ使用量が少なくなります。kNN 分類モデルではラベルを予測するためにすべての学習データが必要なので、ClassificationKNN モデルのサイズを小さくすることはできません。

近似モデルを使用した予測

分類または回帰の応答値を予測するには、ほとんどの近似モデルで predict メソッドを使用します。

Ypredicted = predict(obj,Xnew)
  • obj は、近似させたモデルまたはコンパクト モデルです。

  • Xnew は、新しい入力データです。

  • Ypredicted は予測応答値であり、分類または回帰のどちらかになります。

分類アルゴリズムの特性

以下の表では、さまざまな教師あり学習アルゴリズムの主な特性を示しています。特定のケースでは、リストされたものとは異なる特性を示す可能性があります。はじめにアルゴリズムを選択するときの指針として使用してください。速度、メモリ使用量、柔軟性および解釈可能性に関するトレードオフに基づいて判断してください。

    ヒント:   高速で解釈が容易なので、はじめは決定木または判別分析を試してください。応答を予測するにはモデルの精度が不十分な場合は、柔軟性が高い他の分類器を試してください。

    柔軟性の制御については、各分類器のタイプの詳細を参照してください。過適合を回避するには、十分な精度が得られる柔軟性が低いモデルを探してください。

分類器マルチクラスのサポートカテゴリカル予測子のサポート予測速度メモリ使用量解釈可能性
決定木fitctreeありあり容易
判別分析fitcdiscrありなし線形の場合は小、二次の場合は大容易
SVMfitcsvmなし。
fitcecoc を使用して複数の SVM 分類器を結合
あり線形の場合は中。
他の場合は低
線形の場合は中。
他のすべて: マルチクラスの場合は中、バイナリの場合は大
線形 SVM の場合は容易。
他のすべてのカーネル タイプの場合は困難
単純ベイズfitcnbありあり単純な分布の場合は中。
カーネル分布または高次元データの場合は低
単純な分布の場合は小。
カーネル分布または高次元データの場合は中
容易
最近傍fitcknnありあり3 次元の場合は低。
他の場合は中
困難
集団fitensembleありありアルゴリズムの選択によって高から中アルゴリズムの選択によって低から高困難

この表の結果は、多くのデータセットの分析に基づいています。調査に使用したデータセットには、最大で 7000 個の観測値、80 個の予測子および 50 個のクラスが含まれています。以下のリストで、表の用語を定義します。

速度:

  • 高 ― 0.01 秒

  • 中 ― 1 秒

  • 低 ― 100 秒

メモリ

  • 小 ― 1MB

  • 中 ― 4MB

  • 大 ― 100MB

    メモ:   この表は、一般的な指針を示しています。データとマシンの速度によって、結果は異なります。

カテゴリカル予測子のサポート

次の表に、各分類器の予測子のデータ型サポートを示します。

分類器すべての予測子が数値すべての予測子がカテゴリカル一部がカテゴリカル、一部が数値
決定木ありありあり
判別分析ありなしなし
SVMありありあり
単純ベイズありありあり
最近傍点ユークリッド距離のみハミング距離のみなし
集団ありあり。ただし、判別分析分類器の部分空間集団は除くあり。ただし、部分空間集団は除く

この情報は役に立ちましたか?