rls

逐次最小二乗法

パラメータの推定に使う。
森本先生の論文ではモータのパラメータ推定に使用していたので読んでみた。

同定対象のモデルを以下とする $$ Y(k)=\boldsymbol{\varTheta}^{T}\boldsymbol{Z}(k) $$

推定したい未知のパラメータベクトルを$\hat{\boldsymbol{\varTheta}}$、行列ゲインを$\boldsymbol{P}$、出力信号を$Y$、入力信号ベクトルを$\boldsymbol{Z}$とする。
パラメータ$\hat{\boldsymbol{\varTheta}}$を更新するための漸化式を組むと、 $$ \hat{\boldsymbol{\varTheta}}(k) = \hat{\boldsymbol{\varTheta}}(k-1)+\frac{\boldsymbol{P}(k-1)\boldsymbol{Z}(k)}{\lambda+\boldsymbol{Z}^{T}(k)\boldsymbol{P}(k-1)\boldsymbol{Z}(k)}\varepsilon(k) $$

$$ \varepsilon(k)= Y(k)-\boldsymbol{Z}^{T}(k)\hat{\boldsymbol{\varTheta}}(k-1) $$

$$ \boldsymbol{P}(k)=\frac{1}{\lambda}\left\{\boldsymbol{P}(k-1)-\frac{\boldsymbol{P}(k-1)\boldsymbol{Z}(k)\boldsymbol{Z}^{T}(k)\boldsymbol{P}(k-1)}{\lambda+\boldsymbol{Z}^{T}(k)\boldsymbol{P}(k-1)\boldsymbol{Z}(k)}\right\} $$ ここで$\lambda$は忘却係数(0~1)、だいたい0.95~0.99位の値をいれる。

参考文献

  • rls.txt
  • 最終更新: 2025/04/03
  • by yuqlid