Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

分類学習器アプリを使用したニューラル ネットワーク分類器の学習

この例では、分類学習器アプリにおいてニューラル ネットワーク分類器を作成および比較する方法と、学習済みのモデルをワークスペースにエクスポートして新しいデータに対する予測を行う方法を示します。

  1. MATLAB® コマンド ウィンドウで、fisheriris データ セットを読み込み、データ セットにある変数から分類に使用する table を作成します。

    fishertable = readtable('fisheriris.csv');
    
  2. [アプリ] タブをクリックしてから、右にある [さらに表示] 矢印をクリックしてアプリ ギャラリーを開きます。[機械学習および深層学習] グループの [分類学習器] をクリックします。

  3. [分類学習器] タブで、[ファイル] セクションの [新規セッション] をクリックし、[ワークスペースから] を選択します。

    Classification Learner tab

  4. [ワークスペースからの新規セッション] ダイアログ ボックスで、[データセット変数] のリストから table fishertable を選択します (必要な場合)。データ型に基づいて応答および予測子変数が選択されていることを確認します。花弁とがく片の長さおよび幅は予測子、種は分類対象の応答です。この例では、選択を変更しないでください。

  5. 既定の検証方式をそのまま使用して続行するため、[セッションの開始] をクリックします。既定の検証オプションは 5 分割交差検証であるため、過適合が防止されます。

    データの散布図が作成されます。

  6. 散布図を使用して、どの変数が応答の予測に有用であるかを調べます。[予測子][X] および [Y] のリストで異なるオプションを選択して、種と測定値の分布を可視化します。種の色が最も明確に分離されるのはどの変数であるかに注意してください。

  7. ニューラル ネットワーク モデルを選択して作成します。[分類学習器] タブの [モデル タイプ] セクションで矢印をクリックしてギャラリーを開きます。[ニューラル ネットワーク分類器] グループで、[すべてのニューラル ネットワーク] をクリックします。

  8. [学習] セクションで [学習] をクリックします。ギャラリー内の各ニューラル ネットワーク分類オプションの学習が 1 つずつ行われます。[モデル] ペインに、最適なモデルの [精度 (検証)] スコアの概要が表示されます。また、最初のニューラル ネットワーク モデル ([ナロー ニューラル ネットワーク]) の検証の混同行列も表示されます。

    ヒント

    Parallel Computing Toolbox™ を使用している場合、[学習] セクションにある [並列の使用] ボタンを選択してから [学習] をクリックすることにより、すべてのモデル ([すべてのニューラル ネットワーク]) を同時に学習させることができます。[学習] をクリックすると [並列プールを開いています] ダイアログ ボックスが開いたままになります。同時に、ワーカーの並列プールが開きます。この間、ソフトウェアの対話的な操作はできません。プールが開いた後、モデルの学習が同時に行われます。

  9. 結果を表示するため、[モデル] ペインでモデルを選択します。たとえば、[ナロー ニューラル ネットワーク] モデル (モデル 1.1) を選択します。[現在のモデルの概要] ペインを調べます。[現在のモデルの概要] ペインには、検証セットに対して計算された [学習結果] のメトリクスが表示されます。

  10. 学習済みモデルの散布図を確認します。[分類学習器] タブの [プロット] セクションで矢印をクリックしてギャラリーを開き、[検証結果] グループの [散布] をクリックします。正しく分類された点には O が付けられ、正しく分類されなかった点には X が付けられます。

    Scatter plot of the Fisher iris data modeled by a neural network classifier

    メモ

    検証により、結果に無作為性が導入されます。実際のモデルの検証結果は、この例に示されている結果と異なる場合があります。

  11. 各クラスにおける予測子の精度を調べます。[分類学習器] タブの [プロット] セクションで矢印をクリックしてギャラリーを開き、[検証結果] グループの [混同行列 (検証)] をクリックします。真のクラスと予測したクラスの結果が含まれている行列が表示されます。

  12. 他のモデルを [モデル] ペインで選択し、各モデルについて検証の混同行列を開いてから、結果を比較します。

  13. [モデル] ペインで最適なモデルを選択します (最高のスコアは [精度 (検証)] ボックスで強調表示されます)。モデルを改善するため、異なる特徴量をモデルに含めます。予測力が低い特徴量を削除するとモデルを改善できるかどうか調べます。

    [分類学習器] タブの [特徴量] セクションで [特徴選択] をクリックします。[特徴選択] ダイアログ ボックスで、モデルから削除する予測子を指定して [OK] をクリックします。[学習] セクションの [学習] をクリックして、新しいオプションで新しいモデルに学習をさせます。[モデル] ペインで各分類器の結果を比較します。

  14. 追加または除外する特徴量を調べるには、散布図と平行座標プロットを使用します。[分類学習器] タブの [プロット] セクションで矢印をクリックしてギャラリーを開きます。次に [検証結果] グループの [平行座標] をクリックします。

  15. [モデル] ペインで最適なモデルを選択します。モデルをさらに改善するため、詳細設定を変更します。[分類学習器] タブの [モデル タイプ] セクションで [詳細設定] をクリックし、[詳細設定] を選択します。[ニューラル ネットワークの詳細オプション] ダイアログ ボックスで、全結合層のサイズや正則化強度などの設定の変更を試して [OK] をクリックします。[学習] セクションの [学習] をクリックして、新しいモデルに学習をさせます。

    ニューラル ネットワーク モデルの設定の詳細については、ニューラル ネットワーク分類器を参照してください。

  16. 学習済みのモデルの完全なバージョンまたはコンパクトなバージョンをワークスペースにエクスポートできます。[分類学習器] タブの [エクスポート] セクションで、[モデルのエクスポート] をクリックして、[モデルのエクスポート] または [コンパクト モデルのエクスポート] のどちらかを選択します。新しいデータを予測するための分類モデルのエクスポートを参照してください。

  17. この分類器に学習をさせるためのコードを確認するため、[エクスポート] セクションで [関数の生成] をクリックします。

ヒント

このワークフローを使用すると、分類学習器で学習させることができる他のタイプの分類器を評価および比較できます。

選択したデータ セットに対して使用できる事前設定済みの最適化不可能な分類器モデルをすべて学習させるには、次のようにします。

  1. [分類学習器] タブの [モデル タイプ] セクションで矢印をクリックしてモデルのギャラリーを開きます。

  2. [開始] グループで [すべて] をクリックします。次に、[学習] セクションで [学習] をクリックします。

    Option selected for training all available classifier types

他の分類器のタイプについては、分類学習器アプリにおける分類モデルの学習を参照してください。

関連するトピック