つのトピックを取り上げて、その背景について解説します。また、MATLAB® コミュニティや Simulink® コミュニティからのいくつかの質問にも回答します。
今回のコラムでは、回帰学習器アプリに関する質問をまとめています。アプリの概要について説明してから、5 つの質問を見ていきます。
このコラムでは、MATLAB の回帰学習器アプリについての質問に回答します。回帰一般に関するものではありません。
回帰学習器アプリは、2017 年からエンジニアや科学者に提供されています。回帰分析は、変数と数値的な応答の関係を理解するのに役立ち、エネルギー消費量、財務実績、製造工程パラメーターの予測などのタスクに適用することができます。
基本的には、回帰学習器アプリを使用することで、コードを記述せずに対話的に回帰モデルを構築し、モデルの精度と性能を測定することができます。さまざまな回帰モデルや機能の性能を迅速に比較することができます。
回帰学習器アプリに慣れていない方は、理解に役立つ以下のデモビデオをご覧ください。
他の機械学習アプリケーションと同様に、時系列データをアプリで使用する前に、前処理を行い、データをクリーンにしておくことが重要です。これには、データの正しいフォーマットへの整形、すべて同じスケールでのデータの正規化、データの均等な分配、重複データや欠損データの処理、その他必要に応じたあらゆる作業が含まれます。
回帰学習器アプリには、学習速度を上げるいくつかの方法があります。ここでは、アプリ自体の技術に焦点をあてています。
お使いのデータが非常に大きい場合は、正しい検証オプションを使用しているかどうかをご確認ください。回帰学習器アプリで新しいセッションを開いてデータを選択した場合、既定では交差検証が選択されます。
交差検証は、データを k 分割し、モデルの学習を行い、すべての分割の平均テスト誤差を計算するのに役立ちます。この手法は、他のオプションと比較して過適合の防止に優れていますが、複数モデル学習を必要とするため、中小規模のデータセットではうまく機能します。
ホールドアウト検証では、スライダー コントロールを使用して、テストセットとして使用するデータの割合を選択することができます。アプリは、学習セットでモデルの学習を行い、テストセットでその性能を評価します。テストに使用されるモデルはデータの一部のみを基にするため、ホールドアウト検証は、特に大規模なデータセットに適しています。
もちろん、モデルの検証を行わないこともできますが、その場合、学習データへの過適合は回避できません。
交差検証は、新しいセッションを開始するときに既定で選択されます。
十分なデータを入手するにはどうしたらよいかということがよく議論されますが、ここで重要なのは、正しいデータが十分にあるかどうかということです。もう利用できない過去の不要なデータが残っているということもあるかもしれません。このようなデータの削減によって学習時間を短縮させることができますが、当然ながらデータの精度やデータ表現には注意する必要があります。データの削減は非常に慎重に行う必要があるため、他に選択肢がある場合は行わないようにします。
これはとてもよい質問です。読み込んだデータで学習したモデルの結果を解釈するには、いくつかの手順が必要です。
RMSE は、予測値と各モデルで観測された値の間の距離、つまり、これらの残差の広がりを測定します。このアプリでは、最小の RMSE が四角で囲まれます。
最小の RMSE は太字になっていて、四角で囲まれています。
応答プロット
予測と実際のプロット
[予測と実際のプロット] は、モデルの性能を確認するのに役立ちます。モデルの予測された応答が、実際の真の応答に対してプロットされます。このプロットでは、完全な回帰モデルであれば、予測された応答が観測された値と同じになるためすべての点が対角線上に並ぶことになります。しかし、現実にはそうはなりません。そこで、対角線にできるだけ近いところに点が位置し、対角線の周囲で大まかに左右対称になるよう分散することを目標にします。プロットでパターンを検出した場合、モデルが改良可能であることを意味します。別のモデルタイプの学習を行うか、または高度なオプションを使用することでモデルをより柔軟性の高いものにすることができます。
[予測と実際のプロット] は、回帰モデルの精度を可視化するのに役立ちます。
データの初期モデルの学習を行って評価した後、モデルのハイパーパラメーターを調整することで、最高の性能を得られます。
モデルに最適なハイパーパラメーター値を自動的に選択して求めるには、
ハイパーパラメーター調整の影響はモデルによって異なるため、初期モデルでは最適な性能を得られない場合があります。この場合、複数のタイプのモデルでハイパーパラメーターを最適化する必要があります。
十分に学習済みの最適化されたモデルを使用して新しいデータで予測を行うには、モデルを別の場所に送る必要があります。MATLAB のワークスペースにエクスポートしたり、アプリと同じ手順でモデルの学習を行うための MATLAB コードを生成したりすることができます。そこから、MATLAB Compiler™ を使用してモデルを展開するか、MATLAB Coder™ を使用してモデルから C/C++ コードを生成することができます。