ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

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

教師あり学習 (機械学習) の手順

教師あり学習 (機械学習) は、既知の入力データのセットとそのデータに対する既知の応答をもとに、新しいデータに対して応答する際に適切な予測の生成が可能な予測モデルの構築を目指すものです。

誰かが 1 年以内に心臓発作を起こすかどうかを予測するとします。既往歴のある人々について、年齢、体重、身長、血圧などの各種データが用意されています。そのため、1 年以内に心臓発作を起こした人に関する測定データを利用できます。したがって、ここで問題となるのは、既存のすべてのデータを結びつけてモデルを作成することによって、1 年以内に心臓発作を起こす可能性のある人を予測できるようにすることです。

教師あり学習は、次の 2 つのカテゴリに分類されます。

  • 'true' または 'false' など、わずかな既知の値しか期待できない応答に対して適用される分類。分類アルゴリズムは序数的な応答値にではなく、ノミナルな応答値に適用されます。

  • 特定の自動車のガロンあたりのマイル数など、実数値で表現される応答に適用される回帰。

ここで、必要としているモデルが分類なのかまたは回帰なのか、簡単に判断できない場合が考えられます。その場合には、まず回帰モデルを作成します。多くの場合、回帰モデルのほうが効率的な計算が行われるためです。

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

  1. データの準備

  2. アルゴリズムの選択

  3. モデルの近似

  4. 検証法の選択

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

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

データの準備

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

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

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

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

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

アルゴリズムの選択

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

  • 学習の速度

  • メモリ使用量

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

  • 予測に使用するアルゴリズムの内部動作に対する把握の容易さを表す、透明性または解釈可能性

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

モデルの近似

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

アルゴリズム近似関数
分類木ClassificationTree.fit
回帰木RegressionTree.fit
判別分析 (分類)ClassificationDiscriminant.fit
k 最近傍 (分類)ClassificationKNN.fit
単純ベイズ (分類)NaiveBayes.fit
分類集団または回帰集団fitensemble
並列の分類集団または回帰集団TreeBagger

検証法の選択

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

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

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

一部のタイプのモデルで満足のいく結果が得られたら、適切な compact メソッド (分類木では compact、分類集団では compact、回帰木では compact、回帰集団では compact、判別分析では compact) を使用してトリミングします。compact は学習データや枝刈り情報を削除するため、モデルのメモリ使用率を少なくできます。

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

最適な近似モデルについての分類または回帰の応答値を予測するには、predict メソッドを使用します。

Ypredicted = predict(obj,Xnew)
  • obj は、近似されたモデル オブジェクトです。

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

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

classregtree には、predict の代わりに、eval メソッドを使用します。

アルゴリズムの特性

以下の表では、さまざまな教師あり学習アルゴリズムの主な特性を示しています。特定のケースでは、リストされたものとは異なる特性を示す可能性があります。この表の情報はアルゴリズムを最初に選択するときに利用できますが、一部の問題に対しては精度が低下する場合がありますので注意してください。

教師あり学習アルゴリズムの特性

アルゴリズム予測精度近似速度予測速度メモリ使用量解釈しやすいカテゴリカル予測子の処理
Treesはいあり
SVM***なし
単純ベイズ******はいあり
最近傍点***高***いいえあり***
判別分析****はいなし
集団適切な集団アルゴリズムの選択に関するヒント」と「集団アルゴリズムの一般的な特徴」を参照してください。

* — サポートするベクトルの数が少なければ、SVM 予測の速度とメモリ使用量の特性が向上しますが、ベクトルの数が多すぎると低下します。カーネル関数を使用すると、既定の線形スキームの解釈は楽ですが、SVM によるデータの分類の解釈が困難になる場合があります。

** — 単純ベイズの速度とメモリ使用量の特性は、単純な分布では向上しますが、カーネル分布やサイズの大きなデータセットでは低下します。

*** — 通常、最近傍点は低次元での予測では優れた結果をもたらしますが、高次元での予測ではうまくいかない場合があります。線形探索では、最近傍点はいかなる近似も実行しません。kd ツリーでは、最近傍点は近似を実行します。最近傍点は、連続予測子またはカテゴリカル予測子のいずれかをもつことができますが、両方もつことはできません。

**** — モデルの仮定を満たす場合、判別分析は正確です (クラス別の多変量正規)。それ以外の場合、予測精度が変化します。

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