教師あり学習

教師あり学習は、ラベル付きデータを使用してモデルを学習させ、予測を行う機械学習手法の一種です。教師あり学習では、既知の入力データとその応答を用いて、モデルに分類や回帰などのタスクを学習させます。

教師あり学習の仕組み

教師あり学習は、最も一般的な機械学習手法です。既知の入力データ (特徴量) とその応答が対になったデータセット (学習用データセット) を用いて、アルゴリズムの学習を行います。学習用データセットには、求められる出力、つまり応答値と対になったラベル付きの入力データが含まれています。このデータセットから、教師あり学習アルゴリズムが特徴量と出力データの間の関係を見つけ出し、モデルを生成して未知のデータセットに対する応答値の予測を行います。

教師あり学習は、エンジニアリングや科学の分野で、実際の課題を解決するモデルの開発に利用されています。たとえば、年齢、体重、身長、血圧などの情報を含む過去の患者データを保有している医師について考えてみましょう。医師は、過去の患者が心臓発作を起こした既往歴を把握しており、新しい患者が心臓発作を起こすリスクがあるかどうかを予測したいと考えています。このような場合は、教師あり学習で既存データをモデル化することで予測できます。

教師あり学習の簡略化されたワークフロー。学習フェーズではデータとラベルが入力として使用され、推論フェーズでは未知のデータと予測応答が示されています。

教師あり学習の学習フェーズと推論フェーズ。

一般的な教師あり学習ワークフローには、データの準備、アルゴリズムの選択、モデルの学習、モデルの評価などのステップが含まれます。教師あり学習ではラベル付きデータを用いてモデルに学習させるため、学習データが現実に即していることが重要です。たとえば、モデルをノイズの多い環境で使用する場合は、学習データにも現実に即したレベルのノイズが含まれている必要があります。また、検証も教師あり学習における重要なステップであり、モデルが未知のデータにも適切に汎化できることを確認し、過学習を未然に防ぐことができます。

教師あり学習モデルの改善

教師あり学習モデルの改善とは、精度や予測能力を高めることで、特徴量エンジニアリングやハイパーパラメーターの調整がよく行われます。特徴量エンジニアリングとは、生データを機械学習モデルの入力として使用する特徴量に変換するプロセスです。ハイパーパラメーターの調整は、モデルの性能を最大限に引き出すパラメーターの組み合わせを特定する作業です。

教師あり学習モデルの改善ワークフロー。特徴量の選択と変換の後に、モデルの学習と調整が反復的に行われます。

特徴量エンジニアリングとハイパーパラメーター調整を適用して、教師あり学習モデルの性能を高めます。

特徴量エンジニアリングには、特徴量選択や特徴量変換などのステップが含まれます。特徴量選択では、データをモデル化する際に、予測精度を最大限に高める特徴量 (変数) を特定します。特徴変換では、主成分分析非負値行列因子分解因子分析などの手法を使用して、既存の特徴量を新しい特徴量に変換します。

ハイパーパラメーター調整では、学習率、バッチサイズ、エポック数など、学習プロセスを制御するパラメーターの最適な設定を見つけ出します。

教師あり学習と教師なし学習の比較

教師あり学習と教師なし学習は、どちらも機械学習の一種です。

教師あり学習手法には分類と回帰が含まれ、教師なし学習手法にはクラスタリングが含まれます。

教師あり学習と教師なし学習の2つの機械学習

教師あり学習と教師なし学習の主な違いは、教師あり学習では機械学習モデルの学習にラベル付きの学習データが必要になるのに対し、教師なし学習ではラベルなしデータを用いて、人の手を介さずにデータ内の隠れた関係性を見つけ出す点です。教師あり学習はラベル付きデータを使用するため、教師なし学習よりも精度の高い結果を得ることができます。しかし、ラベル付きデータを用意するには人手が必要になることが多く、時間やコストがかかり、場合によっては実現が難しい場合もあります。

教師あり学習を適用する前に、教師なし学習を使って入力データのパターンを把握し、教師あり学習に適した特徴量を特定することもあります。特徴量の特定に加えて、学習用データセットのすべての観測値に対して正しいカテゴリまたは応答を特定しなければなりません。また、半教師あり学習という機械学習手法もあり、より少ないラベル付きデータでモデルの学習が可能になるため、ラベル付け作業の負担を軽減できます。

教師あり学習の種類

教師あり学習アルゴリズムによって作成される機械学習モデルの主な種類は、分類モデルと回帰モデルです。タスクの種類 (分類または回帰) ごとに、異なるアルゴリズムを使用してデータをモデル化できます。

分類モデルに使用される教師あり学習アルゴリズムには、単純ベイズ、最近傍法、判別分析などがあります。回帰モデルのアルゴリズムには、線形回帰、一般化線形モデル、ガウス過程などがあります。サポート ベクター マシン、決定木、アンサンブル法、ニューラル ネットワークは、分類と回帰の両方に使用されます。

教師あり学習アルゴリズムの種類。

分類のための教師あり学習

教師あり学習では、分類とはデータを特定のクラスやカテゴリに分けることを指します。目標は、有限個のクラス (またはラベル) の集合から、観測値にクラスを割り当てることです。つまり、分類モデルの応答はカテゴリカル変数です。

代表的な用途には、画像診断、音声認識、信用スコアリングなどがあります。たとえば、電子メールが正規かスパムか、あるいは機器の部品が欠陥品か良品かを判断することなどが挙げられます。

分類タスクでよく利用される教師あり学習モデル
ロジスティック回帰では、二項応答でどちらかのクラスに属する確率を予測するモデルを当てはめて学習します。 判別分析では、異なるクラスがガウス分布に基づいてデータを生成すると仮定し、特徴量の線形結合を見つけることでデータを分類します。 k 最近傍 (kNN) では、データセット内の最近傍点のクラスに基づいてオブジェクトをカテゴリ化します。kNN による予測では、互いに距離が近い対象物同士は類似していると仮定しています。 単純ベイズ分類器では、クラス内に存在する特徴量は他の特徴量の影響を受けないと仮定します。最も高い確率で属すると考えられるクラスに新しいデータを分類します。
直線によってデータ点が 2 つのクラスに分けられている散布図。
曲線によってデータ点が 2 つのクラスに分けられている図。
最近傍点から異なる距離にあるデータ点の図。
        
同心円状のクラスにグループ分けされたデータの図。

回帰のための教師あり学習

教師あり学習で回帰手法を使用すると、応答変数と入力変数の関係を理解できます。回帰手法は、値が幅広く分布しているデータセットであったり、応答が温度や機器の故障までの時間といった実数である場合に役立ちます。つまり、回帰モデルは連続的な応答を予測します。代表的な用途には、電力需要予測、バッテリー残存サイクル寿命予測、アルゴリズム取引、疾病発生率、株価予測、音響信号処理などがあります。

回帰タスクでよく利用される教師あり学習アルゴリズム
線形回帰は、連続的な応答変数を 1 つ以上の予測子変数の線形関数として表現するために用いる統計的モデリング手法です。線形回帰モデルは解釈しやすい上に学習も容易なため、新しいデータセットに当てはめる最初のモデルとしてよく用いられます。 非線形回帰は、実験データの非線形な関係を表現する上で役立つ統計的モデリング手法です。非線形回帰モデルは通常パラメトリックであると想定され、非線形方程式で表されます。 一般化線形モデルは、非線形モデルの中でも特別なクラスで、線形手法を用います。入力の線形結合を出力の非線形関数 (リンク関数) に当てはめるという方法でモデル化します。
線形トレンドラインが示された散布図。
非線形トレンドラインが示された散布図。
     
データ点に当てはめられた曲線。

分類/回帰のための教師あり学習

いくつかの教師あり学習アルゴリズムは、分類タスクと回帰タスクの両方に使用できます。

分類タスクと回帰タスクの両方でよく利用される教師あり学習アルゴリズム
決定木では、木に沿ってルートノード (開始点) からリーフノードまでの決定をたどることで、データに対する応答を予測します。決定木は分岐条件によって構成されており、各分岐で学習によって決定された重みと予測子の値を比較します。分岐数と重みの値は学習時に決定されます。 サポート ベクター マシン (SVM) は、すべてのデータ点を 2 つのクラスに最適に分離する超平面を見つけることでデータを分類します。SVM 回帰の場合、データを分離する超平面を見つけるのではなく、アルゴリズムで測定データからの逸脱が許容範囲内の小さい値に収まるモデルを見つけ、(誤差に対する感度を最小限に抑えるために) パラメーター値もできる限り小さくします。 ニューラル ネットワークは、人間の脳に似た層構造内で相互につながるノードまたはニューロンを使用して学習を行う適応システムです。ニューラルネットワークはデータから学習できるため、パターン認識、データ分類、将来のイベント予測に適しています。ニューラル ネットワークの動作は、個々の要素間のつながりやその強度 (重み) によって決まります。この重みは学習中に自動的に調整されます。
最上部に 1 つのルートがあり、複数の層に分岐している決定木の図。
直線によってデータ点が 2 つのクラスに分けられている図。
複数のノードが相互につながる 3 つの層を示すモデル。

ディープラーニングは、機械学習の中でも特化した形態であり、ディープ ニューラル ネットワークを活用して、より複雑なタスクや大規模なデータセットを処理します。畳み込みニューラル ネットワーク (CNN)リカレント ニューラル ネットワーク (RNN)長短期記憶 (LSTM) ネットワークなど、よく利用されるディープラーニング アルゴリズムは一般的に教師あり学習です。

適切な教師あり学習アルゴリズムの選択

データに適した教師あり学習アルゴリズムを選択する際は、計算やメモリの要件、予測精度、解釈可能性など、さまざまなアルゴリズム間でトレードオフを考慮する必要があります。このプロセスは試行錯誤を伴うこともありますが、自動機械学習 (AutoML) を活用することで容易に行うことができます。

X 軸に解釈可能性、Y 軸に予測力をプロットした教師あり学習アルゴリズムを示すグラフ。

複数の教師あり学習アルゴリズムにおける予測精度と解釈可能性のトレードオフ。

教師あり学習が重要な理由

教師あり学習は、機械学習人工知能 (AI) の主要分野の 1 つです。エンジニアや科学者は、現実世界の問題を解決するために教師あり学習を用いて AI モデルを構築しています。たとえば、バーチャル センサー モデリングでは、教師あり学習アルゴリズムを用いて、センサー開発に使用する AI モデルの学習を行っています。教師あり学習の応用分野には次のようなものがあります。

  • バイオインフォマティクスと医療機器: 教師あり学習手法は、医用画像処理、腫瘍検出、創薬などの医療分野で広く利用されています。不整脈、うっ血性心不全、正常洞調律を識別する ECG データ分類など、信号ベースのタスクにも活用できます。
  • エネルギー生産: 回帰手法に教師あり学習を用いることで、エンジニアはエネルギー価格や電力負荷を予測し、さまざまな再生可能エネルギー用途向けのモデルを作成できます。
  • 産業オートメーション: 教師あり学習は、異常検知、障害検出、診断のための予測モデルの開発に活用できます。
  • 計量経済とリスク評価: 教師あり学習アルゴリズムは、信用スコアリング、アルゴリズム取引、株価予測、債券の分類などに利用されています。

教師あり学習の実例

バッテリーの充電状態 (SOC) は、電池の容量に対する充電レベルをパーセンテージで測定します。SOC は、電気自動車などの多くの用途で正確に推定する必要があります。物理ベースのモデリング手法を用いたリチウムイオン バッテリーの SOC 推定は、同じメーカーのバッテリーでも動作条件の変動や個体差が大きいため、非常に複雑です。

教師あり学習を用いたデータ駆動型手法で作成した SOC 推定向け予測モデルは、こうした課題の解決に役立ちます。このモデルは、電圧、電流、温度などのさまざまなバッテリー測定値と、平均電圧や平均電流などの派生特徴量を表す時系列データから、車両のリチウムイオン バッテリーの充電状態を予測できます。この例の詳細を見る。

教師あり学習を用いて実際の SOC と予測 SOC を示す 5 つの折れ線グラフ。最初のグラフは学習データを示し、他の 4 つのグラフは異なる温度でプロットされたテストデータを示しています。

実際の SOC と Statistics and Machine Learning Toolbox でガウス過程回帰モデルを使用した予測 SOC。(コードを参照)

MATLAB による教師あり学習

MATLAB® は、教師あり学習を用いて予測モデルを作成できます。Statistics and Machine Learning ToolboxDeep Learning Toolbox を活用して、教師あり学習モデルの学習、検証、調整を行うことができます。機械学習やディープラーニングのツールを他の MATLAB ツールボックスと組み合わせることで、業界固有のワークフローを実行できます。組み込み関数と対話型アプリを使用して、データの処理やラベル付け、モデル学習、モデル実行の可視化、ハイパーパラメーターの調整を行い、モデルの性能を向上させることができます。

データの準備

MATLAB は、信号データ、視覚データ、テキストデータをサポートしています。コマンドラインからデータにアクセスしたり、ローコードアプリを使用してインタラクティブにデータを操作することができます。

教師あり学習における外れ値処理のステップで使用するデータ クリーナー アプリのスクリーンショット。

MATLAB のデータ クリーナー アプリを使用して、データ前処理のステップを適用します。(ドキュメンテーションを参照。)

MATLAB は、特徴量エンジニアリング向けに、特徴抽出特徴選択に対応する組み込みツールを提供します。

ローコードアプリによる AI モデリング

分類学習器アプリと回帰学習器アプリは、それぞれ分類と回帰向けの機械学習モデルの設計、調整、評価、最適化に教師あり学習を適用するのに役立ちます。これらの機械学習アプリを使用すると、以下を行うことができます。

  • さまざまな機械学習アルゴリズムによるモデルの学習
  • 結果の可視化とモデル性能の評価
  • 複数のモデル性能の比較
  • 学習済みモデルの自動コード生成
  • ワークスペース、Simulink®、MATLAB Production Server™ への学習済みモデルのエクスポート

分類学習器アプリ

分類学習器アプリで可視化された教師あり学習モデルのスクリーンショット。

回帰学習器アプリ

回帰学習器アプリで可視化された教師あり学習モデルのスクリーンショット。

ディープ ネットワーク デザイナー アプリを使用すると、ディープラーニング ネットワークを対話的に設計、分析、変更することができます。事前学習済みネットワークの読み込みや、PyTorch® や TensorFlow からのネットワークのインポートも可能です。

教師あり学習向けに MATLAB で作成したディープ ニューラル ネットワークのスクリーンショット。

MATLAB のディープ ネットワーク デザイナー アプリを使用してディープ ニューラル ネットワークを設計します。(ドキュメンテーションを参照。)

AI モデリング以外にも、実験マネージャーアプリを利用すれば、複数の機械学習やディープラーニングの実験のインポートや管理、学習パラメーターの追跡、ハイパーパラメーターの調整、結果解析、異なる実験間のコード比較などが可能です。

教師あり学習と組み込み AI

MATLAB と Simulink を活用すると、複雑な組み込みシステムの性能や機能を強化する教師あり学習を活用した AI モデルの設計、シミュレーション、テスト、検証、展開が可能になります。専用の Simulink ブロックを使用すれば、複雑なシステムへの AI モデルの統合をシミュレーションしてテストできます。リソースに制約のあるターゲットへの展開に向けて、最適化されたコードを自動生成することもできます。