Main Content

分類学習器アプリにおける分類モデルの学習

分類学習器を使用して、分類器 (決定木、判別分析、サポート ベクター マシン、ロジスティック回帰、最近傍、単純ベイズ、カーネル近似、アンサンブル、ニューラル ネットワーク) のモデルに学習をさせます。モデルの学習に加えて、データの探索、特徴量の選択、検証方式の指定、および結果の評価を行うことができます。新しいデータに対してモデルを使用するためにモデルをワークスペースにエクスポートするか、プログラムによる分類について学ぶために MATLAB® コードを生成することができます。

分類学習器におけるモデルの学習は、2 つの部分から構成されます。

  • 検証済みモデル: 検証方式を指定してモデルに学習させます。既定では、過適合を防ぐため交差検証が適用されます。あるいは、ホールドアウト検証を選択できます。検証済みモデルはアプリに表示されます。

  • 完全なモデル: 検証を行わず、データ全体に対してモデルに学習させます。このモデルの学習は、検証済みモデルの学習と同時に行われます。ただし、データ全体に対して学習をさせたモデルはアプリに表示されません。分類器を選択してワークスペースにエクスポートすると、完全なモデルがエクスポートされます。

メモ

アプリによるモデルの学習に検定データは使用されません。アプリからエクスポートされるモデルは、検定用に確保されたデータを除くデータ全体で学習させたものです。

検証済みモデルの結果が表示されます。診断尺度 (モデルの精度など) とプロット (散布図や混同行列チャートなど) には、検証済みモデルの結果が反映されます。1 つ以上の分類器の学習を自動的に行い、検証結果を比較し、特定の分類問題に対する最適なモデルを選択できます。モデルを選択してワークスペースにエクスポートすると、完全なモデルがエクスポートされます。分類学習器は学習時に完全なモデルのモデル オブジェクトを作成するので、すぐにモデルをエクスポートできます。エクスポートしたモデルを使用して、新しいデータに対して予測を行うことができます。

選択したタイプのモデルに学習をさせることから始める場合は、自動化された分類器の学習を参照してください。学習させる分類器のタイプが既にわかっている場合は、手動による分類器の学習を参照してください。

自動化された分類器の学習

分類学習器を使用すると、データに対して、選択した各種の分類モデルに自動的に学習をさせることができます。

  • 複数のモデルの同時学習の自動化から始めます。選択したモデルを素早く試し、その後、有望なモデルを対話的に探すことができます。

  • 必要な分類器が既にわかっている場合は、代わりに個々の分類器に学習をさせます。手動による分類器の学習を参照してください。

  1. [アプリ] タブの [機械学習および深層学習] グループで [分類学習器] をクリックします。

  2. 分類学習器アプリの [分類学習器] タブで、[ファイル] セクションの [新規セッション] をクリックし、ワークスペースまたはファイルからデータを選択します。応答変数と、予測子として使用する変数を指定します。あるいは、[開く] をクリックして前に保存したアプリ セッションを開きます。分類用のデータの選択または保存したアプリ セッションを開くを参照してください。

  3. [モデル] セクションで、矢印をクリックして分類モデルのリストを展開します。[すべてのクイック学習] を選択します。このオプションは、選択したデータ セットに利用可能な、事前設定されている、当てはめに手間のかからないすべてのモデルに学習をさせます。

    All Quick-To-Train button in the Models gallery on the Classification Learner tab

  4. [学習] セクションで、[すべてを学習] をクリックして [すべてを学習] を選択します。

    メモ

    Parallel Computing Toolbox™ がある場合、既定ではモデルの学習が並列に実行されます。並列的な分類器の学習を参照してください。

    選択されたモデル タイプが [モデル] ペインに表示されます。モデルの学習が終了すると、パーセンテージが最も高い [精度 (検証)] のスコアが四角で囲まれて強調表示されます。

    Models pane where the highest validation score is outlined in a box

  5. [モデル] ペインでモデルをクリックし、対応するプロットを開いて結果を確認します。

    以後の手順については、手動による分類器の学習または分類モデルの比較と改善を参照してください。

  6. 選択したデータ セットに対して使用できる事前設定済みの最適化不可能な分類器モデルをすべて試すには、[分類学習器] タブの [モデル] セクションで [すべて] をクリックします。次に、[学習] セクションで、[すべてを学習] をクリックして [選択を学習] を選択します。

    All button in the Models gallery

手動による分類器の学習

個々のモデル タイプを調べる場合や必要な分類器のタイプが既にわかっている場合は、分類器を一度に 1 つずつかグループとして学習させることができます。

  1. 分類器を選択します。[分類学習器] タブの [モデル] セクションで、分類器のタイプをクリックします。利用可能なすべての分類器を表示するには、[モデル] セクションの右端にある矢印をクリックして分類器のリストを展開します。[モデル] ギャラリーの最適化不可能なモデル オプションは、種々の設定が事前に行われている開始点であり、さまざまな分類問題に適しています。

    各分類器の説明を表示するには、詳細表示に切り替えます。

    Details view of the classifiers in the Models gallery

    各オプションについての詳細は、分類器のオプションの選択を参照してください。

  2. 分類器を選択したら、モデルに学習させることができます。[学習] セクションで、[すべてを学習] をクリックして [選択を学習] を選択します。このプロセスを繰り返してさまざまな分類器を試します。

    あるいは、複数のドラフト モデルを作成し、それらのモデルをグループとして学習させることができます。[学習] セクションで、[すべてを学習] をクリックして [すべてを学習] を選択します。

    ヒント

    はじめは決定木と判別分析を試してください。応答を予測するにはモデルの精度が不十分な場合は、柔軟性が高い他の分類器を試してください。過適合を回避するには、十分な精度が得られる柔軟性が低いモデルを探してください。

  3. 同じタイプまたは異なるタイプのすべての最適化不可能なモデルを試す場合、[モデル] ギャラリーで [すべて] のオプションのいずれかを選択します。

    あるいは、特定のモデル タイプのハイパーパラメーターを自動的に調整する場合、対応する最適可能なモデルを選択してハイパーパラメーターの最適化を実行します。詳細は、分類学習器アプリのハイパーパラメーターの最適化を参照してください。

以後の手順については、分類モデルの比較と改善を参照してください。

並列的な分類器の学習

Parallel Computing Toolbox がインストールされている場合、分類学習器を使用して並列的にモデルに学習をさせることができます。並列学習を使用すると、同時に複数の分類器に学習をさせ、作業を続行することができます。

並列学習を制御するには、[分類学習器] タブの [学習] セクションで [並列の使用] ボタンを切り替えます。ドラフト モデルに並列に学習させるには、このボタンがオンに切り替わっていることを確認してから [すべてを学習] ボタンをクリックします。[並列の使用] ボタンが使用可能になるのは、Parallel Computing Toolbox がある場合だけです。

Use Parallel button in the Train section

[並列の使用] ボタンは既定ではオンになります。[すべてを学習] をクリックして [すべてを学習] または [選択を学習] を初めて選択すると、ダイアログ ボックスが表示されると同時にワーカーの並列プールが開きます。プールが開いた後で、同時に複数の分類器に学習をさせることができます。

並列的に分類器に学習をさせているときに、[モデル] ペインにある、学習中のモデルと待機中モデルのそれぞれについて、進行状況インジケーターが表示されます。必要な場合は、個々のモデルを取り消すことができます。学習中に、モデルの結果およびプロットを確認したり、別の分類器に学習を開始させることができます。

Parallel Computing Toolbox がある場合、分類学習器で最適化不可能なモデルに対して並列学習が使用可能になり、関数 statsetUseParallel オプションを設定する必要はありません。

メモ

Parallel Computing Toolbox がない場合も、モデル学習中のアプリの応答性を確保できます。ドラフト モデルに学習させる前に、[分類学習器] タブの [学習] セクションで [すべてを学習] をクリックし、[バックグラウンド学習を使用] チェック ボックスが選択されていることを確認します。その後、[すべてを学習] オプションを選択します。ダイアログ ボックスが表示されると同時にバックグラウンド プールが開きます。プールが開いた後、モデルの学習をバックグラウンドで実行しながらアプリの操作を続けることができます。

分類モデルの比較と改善

  1. 各モデルについて [モデル] ペインに表示される [精度 (検証)] スコアを確認します。[モデル] ペインでモデルをクリックし、対応するプロットを開いて結果を確認します。プロットで結果を検査して、モデルの性能を比較します。プロットのレイアウトを再編成して複数のモデルの結果を比較できます。[レイアウト] ボタンのオプションを使用するか、プロットをドラッグ アンド ドロップするか、モデル プロットのタブの右にある [ドキュメント アクション] 矢印に表示されるオプションを選択します。

    さらに、[モデル] ペインの [並べ替え] オプションを使用して、モデルを比較できます。不要なモデルがあれば、モデルを選択してペインの右上にある [選択したモデルの削除] ボタンをクリックするか、[分類学習器] タブの [モデル] セクションで [削除] ボタンをクリックするか、モデルを右クリックして [削除] を選択して削除します。

    分類学習器における分類器の性能評価を参照してください。

  2. [モデル] ペインから最適なモデルを選択してから、モデルに対するさまざまな特徴量の追加と除外を試します。

    まず、モデルのコピーを作成します。モデルを選択した後、[分類学習器] タブの [モデル] セクションで [複製] ボタンをクリックするか、モデルを右クリックして [複製] を選択します。

    次に、[分類学習器] タブの [オプション] セクションで [特徴選択] をクリックします。使用可能な特徴ランク付けアルゴリズムを使用して特徴量を選択します。

    平行座標プロットは、削除する特徴量を識別するために役立ちます。予測力が低い特徴量を削除するとモデルを改善できるかどうか調べます。モデルに含める予測子を指定し、新しいオプションを使用して新しいモデルを学習させます。[モデル] ペインで各モデルの結果を比較します。

    PCA で特徴量を変換して次元を削減することもできます。[分類学習器] タブの [オプション] セクションで [PCA] をクリックします。

    分類学習器アプリの使用による特徴選択と特徴変換を参照してください。

  3. モデルをさらに改善できるか試すため、モデルを複製してから、モデルの [概要] タブの [モデルのハイパーパラメーター] セクションで分類器のハイパーパラメーターのオプションを変更し、新しいオプションを使用してモデルに学習させることができます。モデルの柔軟性を制御する方法についての詳細は、分類器のオプションの選択を参照してください。モデルのハイパーパラメーターを自動的に調整する方法の詳細については、分類学習器アプリのハイパーパラメーターの最適化を参照してください。

  4. 特徴選択、PCA、または新しいハイパーパラメーターの値でモデルが改善される場合は、新しい設定で [すべて] のモデル タイプの学習を試します。別のモデル タイプで新しい設定を使用すると良好な結果が得られるかどうかを調べます。

ヒント

過適合を回避するには、十分な精度が得られる柔軟性が低いモデルを探してください。たとえば、高速で解釈が容易な決定木や判別分析などの単純なモデルを探します。応答を予測するにはモデルの精度が不十分である場合は、柔軟性が高い他の分類器 (アンサンブルなど) を選択します。モデルの柔軟性の詳細については、分類器のオプションの選択を参照してください。

次の図には、アプリと、さまざまなタイプの分類器が含まれている [モデル] ペインが示されています。

Classification Learner app with trained models in the Models pane

異なる分類器を比較する詳しい手順の例については、分類学習器アプリを使用した決定木の学習を参照してください。

以後の手順では、異なるデータでモデルに学習をさせるコードを生成するか、新しいデータを使用して予測を行うために学習済みモデルをワークスペースにエクスポートします。新しいデータを予測するための分類モデルのエクスポートを参照してください。

関連するトピック