教師ありの学習

教師あり学習のタスクは明確に定義されており、スパムの特定や降水量の予測など、さまざまなシナリオに適用できます。

教師あり学習の基礎的なコンセプト

教師あり機械学習は、次の基本コンセプトに基づいています。

  • データ
  • モデル
  • トレーニング
  • 評価
  • 推論

データ

データは ML の原動力です。データは、テーブルに格納される単語と数値の形式、または画像ファイルや音声ファイルでキャプチャされたピクセルと波形の値になります。関連データはデータセットに保存されます。たとえば、次のようなデータセットがあるとします。

  • 猫の画像
  • 住宅価格
  • お天気情報

データセットは、特徴ラベルを含む個々のサンプルで構成されています。スプレッドシートの 1 行のような例と考えることができます。特徴とは、教師ありモデルがラベルの予測に使用する値です。ラベルは「答え」 つまりモデルに予測させる値です降雨を予測する気象モデルでは、緯度、経度、気温、湿度、雲量、風向、大気圧などの特徴があります。ラベルは「降水量」になります。

特徴とラベルの両方を含む例は、ラベル付き例と呼ばれます。

2 つのラベル付きサンプル

プレースホルダ画像。

一方、ラベルのない例には特徴は含まれますが、ラベルはありません。モデルを作成すると、このモデルは特徴からラベルを予測します。

ラベルのない 2 つの例

プレースホルダ画像。

データセットの特性

データセットは、そのサイズと多様性に特徴があります。サイズはサンプルの数を示します。多様性は、これらの例がカバーする範囲を示します。優れたデータセットは、規模が大きく、多様性に富んでいます。

データセットの中には、大規模かつ多様なものがあります。ただし、大規模なデータセットもあれば多様性が低いデータセットもあります。また、小規模ながら多様性に富むデータセットもあります。つまり、大規模なデータセットであっても十分な多様性が保証されるわけではありません。また、多様性が非常に高いデータセットであっても、十分なサンプルが保証されるわけではありません。

たとえば、データセットに 7 月分の 100 年分のデータが含まれている場合があります。このデータセットを使用して 1 月の降雨量を予測する場合、予測の精度は低くなります。逆に、データセットの対象は数年だけであっても、すべての月が含まれる場合があります。このデータセットには、変動性を考慮するのに十分な年が含まれていないため、予測の精度が低下する可能性があります。

理解度をチェックする

データセットのどの属性を ML に使用するのが理想的ですか。
サイズが大きい / 多様性が高い
ML システムがデータの基礎となるパターンを理解するには、さまざまなユースケースをカバーする多数のサンプルが不可欠です。このタイプのデータセットでトレーニングされたモデルは、新しいデータに対して適切な予測を行う可能性が高くなります。
大規模 / 多様性: 低
機械学習モデルの品質は、トレーニングに使用するサンプルで決まります。モデルでトレーニングされたことのない新しいデータに対する予測の精度は低くなります。
小規模 / 多様性が高い
ほとんどのモデルは、小規模なデータセットでは信頼できるパターンを見つけることができません。この予測では、大規模なデータセットから得られる信頼度は得られません。
小規模 / 多様性が低い
データセットが小さく、ばらつきが少ない場合、ML のメリットは得られません。

データセットは、特徴の数によって特徴付けられる場合もあります。たとえば、一部の気象データセットには、衛星画像から雲量の値まで、数百の特徴が含まれている場合があります。また、湿度、大気圧、温度などの特徴が 3 つまたは 4 つしかないデータセットもあります。データセットに含まれる特徴が多いほど、モデルは追加のパターンを検出し、予測の精度を高めることができます。ただし、一部の特徴がラベルと因果関係を持たない可能性があるため、特徴が多いデータセットであれば予測精度の高いモデルが常に生成されるとは限りません。

モデル

教師あり学習におけるモデルは、特定の入力特徴パターンから特定の出力ラベル値への数学的関係を定義する数の複雑な集合です。モデルはトレーニングを通じてこれらのパターンを検出します。

トレーニング

教師ありモデルは、予測を行う前にトレーニングする必要があります。モデルをトレーニングするには、ラベル付きサンプルを含むデータセットをモデルに渡します。このモデルの目標は、特徴からラベルを予測するための最適な解決策を見つけることです。モデルは、予測値をラベルの実際の値と比較することで、最適な解を見つけます。モデルは予測値と実際の値の差(損失として定義)に基づいて、解を徐々に更新します。つまり、未知のデータに対して最適な予測ができるように、モデルは特徴とラベルの間の数学的関係を学習します。

たとえば、モデルが降水確率 1.15 inches を予測したのに、実際の値が .75 inches であった場合、モデルは予測が .75 inches に近づくようにソリューションを変更します。モデルは、データセット内の各サンプルを(場合によっては複数回)確認した後、各サンプルに対して平均して最良の予測を行うソリューションに到達します。

モデルのトレーニング方法を以下に示します。

  1. このモデルは 1 つのラベル付きサンプルを受け取り、予測を行います。

    予測を行うモデルの画像。

    図 1. ラベル付きサンプルから予測を行う ML モデル。

     

  2. モデルは予測値と実際の値を比較し、解を更新します。

    予測と実際の値を比較するモデルの画像。

    図 2. 予測値を更新する ML モデル。

     

  3. モデルは、データセット内のラベル付きサンプルごとにこのプロセスを繰り返します。

    実際の値に対して予測のプロセスを繰り返すモデルの画像。

    図 3. トレーニング データセット内のラベル付きサンプルごとに予測を更新する ML モデル。

     

これにより、モデルは特徴とラベルの正しい関係を徐々に学習します。この段階的な理解が、大規模で多様なデータセットが優れたモデルを生成する理由にもなります。モデルは、より広い範囲の値を持つより多くのデータを認識し、特徴とラベルの関係についての理解を深めました。

トレーニング中、ML の実務担当者は、モデルが予測に使用する構成と特徴を微調整できます。たとえば、特定の特徴は他の特徴よりも予測能力が高くなります。そのため、ML の実務担当者は、トレーニング中にモデルが使用する特徴を選択できます。たとえば、気象データセットに特徴として time_of_day が含まれているとします。この場合、ML 担当者はトレーニング中に time_of_day を追加または削除して、使用の有無にかかわらずモデルの予測精度が向上します。

評価

トレーニング済みモデルを評価して、学習状況を判断します。モデルを評価する際はラベル付きデータセットを使用しますが、モデルにはデータセットの特徴のみを付与します。次に、モデルの予測をラベルの真の値と比較します。

トレーニング済みモデルの予測値と実際の値の比較を示す画像。

図 4. ML モデルの予測を実際の値と比較して評価します。

 

モデルの予測によっては、モデルを実際のアプリケーションにデプロイする前に、より多くのトレーニングと評価を行う場合があります。

理解度をチェックする

予測を行う前にモデルをトレーニングする必要があるのはなぜですか。
データセット内の特徴量とラベルとの間の数学的関係を学習するには、モデルをトレーニングする必要があります。
モデルをトレーニングする必要はありません。モデルはほとんどのパソコンでご利用いただけます。
予測を行うためにデータを必要としないようにモデルをトレーニングする必要があります。

推論

モデルの評価結果に満足したら、モデルを使用して、ラベルのないサンプルに対して推論と呼ばれる予測を行うことができます。天気アプリの例では、モデルに現在の気象条件(温度、大気圧、相対湿度など)を与え、降雨量を予測します。