回答:
システム同定は、観測データから動的モデルを構築する科学です。主に2つのアプローチがあります。予測エラー識別(PEI)とサブスペース識別(SID)です。どちらも、いわゆるパラメトリックモデル、つまり固定構造のモデルを提供しています。通常、ユーザーが基になるシステムの構造(特にPEIメソッド)を選択するか、少なくともシステムの順序(両方のメソッド)を選択します。必要ではありませんが、低次のシステムが求められています(つまり、基底係数の数が比較的少ない)。これは、制御の目的でよく使用されるため、回避するためにできるだけシンプルにする必要があります。計算上の問題など。このモデルを使用して、入力が与えられた場合のシステムの将来の動作について予測を行うことができます。
一方、機械学習(ML)には、分類アルゴリズムと回帰アルゴリズムという2つの主要なブランチがあります。後者は予測にも使用されます。機械学習で最も有名な2つのアプローチは、サポートベクターマシン(SVM)とガウスプロセス(GP)です。システム識別手法との主な違いは、ML手法がノンパラメトリックモデルを提供していることです。後者は、新しい入力の予測が、モデルの「トレーニング」(学習、識別)に使用されるデータポイントの関数として与えられることを意味します。したがって、トレーニングにN = 1000データポイントを使用した場合、予測はこれらのデータポイントの関数として表されます。MLメソッドは、ユーザーからの構造選択を必要としないため、より柔軟ですが、他の制限に直面します(例:
最近まで、MLとシステム識別技術は独立して開発されていました。しかし、後年には共通の基盤を確立するための多大な努力があります(たとえば、Ljungの論文「システム識別との4つの出会い」を参照)
コンテキスト:SysIDおよびMLに参加した人を制御します。
user110686の答えは、いくつかの違いを説明するという公正な仕事をしていると思います。SysIDは必然的に入出力データからの動的モデルに関するものですが、MLはより広範なクラスの問題をカバーします。しかし、私が見る最大の違いは、(a)メモリ(パラメーターの数)を使用することです。(b)「学習済み」モデルの最終用途。システム識別は、周波数領域表現、時間周波数分析などを考慮した信号処理アプローチです。一部のMLの人々は、これを「機能エンジニアリング」と呼んでいます。
(思い出:SysIDは、研究分野が形作られるにつれて、MLよりずっと前に有名になりました。したがって、統計と信号処理は理論的基礎の主要な基礎であり、計算は怖かったです。そのため、人々は非常に単純なクラスのモデル(バイアスと分散のトレードオフ)を使用し、パラメーターはほとんどありませんでした。私たちは、問題が非線形であることを人々が明確に知っている場合でも、せいぜい30〜40個のパラメータとほとんど線形モデルについて話している。ただし、計算は非常に安価ですが、SysIDはまだシェルから出ていません。人々は、今でははるかに優れたセンサーがあり、非常に豊富なモデルセットで数千のパラメーターを簡単に推定できることを認識し始めなければなりません。一部の研究者は、SysIDにニューラルネットワークを使用しようとしましたが、多くの理論的保証がないため、多くの人がこれらを「主流」として受け入れることを渋っているようです。
(b)学習したモデルの最終使用:これはSysIDが非常に正確になったことの1つですが、多くのMLアルゴリズムはキャプチャに失敗します。ターゲットアプリケーションでは、オンライン最適化に効果的に使用できるモデルを構築する必要があることを認識することが重要です。これらのモデルは、行われた制御決定を伝播するために使用され、これを最適な制御問題として設定すると、モデルが制約になります。そのため、非常に複雑なモデル構造を使用すると、オンライン最適化がさらに難しくなります。また、これらのオンライン決定は数秒以下のスケールで行われることに注意してください。提案された代替案は、最適な制御のためにオフポリシー方式で価値関数を直接学習することです。これは基本的に強化学習であり、SysIDとRLの間に優れた相乗効果があると思います。
システムを識別するためのノンパラメトリックアプローチもあります。詳細については、MATLABのSysIdツールボックスまたはLjungの本を参照してください。ノンパラメトリックアプローチは、後のパラメトリック研究のためにモデルのクラスを最初に識別するためによく使用されます。また、推定問題を制御問題から分離することが重要です(OODAループを考えてください)。システムを特定する際に、後で設計されるタイプの特定の制御入力なしでシステムを特徴付けることが、多くの場合の目標です(ただし、これは常に可能とは限りません)。最後に、システムは数学的な観点から、関数空間を関数空間にマッピングする演算子であることを理解することが役立つと思います。したがって、微分方程式は多くの場合特定された種類のものであり、これらは関数に関数をマップします。SysIDの関数は、しばしば連続時間信号、つまり連続時間信号です。(ただし、それらは離散時間でも構いません。)したがって、SysIDは実数(またはベクトル)を実数(またはベクトル)にマッピングしようとしているだけではありません。入力信号を出力信号にマッピングする最適な演算子(LTI、LTV、非線形など)を特定しようとします。