逐次最小二乗法(RLS)
逐次最小二乗法(Recursive Least Squares, RLS)について,問題設定から以下の更新式の導出まで解説します。
逐次最小二乗法の問題設定
逐次最小二乗法の問題設定
行列 と列ベクトル が与えられたときに, を最小にする を求める問題を考えます(最小二乗法)。
この問題の重要性は,以下でも紹介しています。
は特徴量の値を並べた行列, は正解ラベル, は推定したい 次元のパラメータです。
さらに,ここではデータが1つずつ追加されていく状況を考えます。つまり,
という 個のデータがある場合の最小二乗パラメータ は分かっている状況で,新しいデータ を追加した場合のパラメータ の計算方法を考えます。
最小二乗パラメータを計算する2つの方法
最小二乗パラメータを計算する2つの方法
方法1:愚直に計算
個のデータがある場合の最小二乗パラメータを愚直に直接計算すると,
となります。→最小二乗法の行列表現(単回帰,多変数,多項式)
方法2:逐次最小二乗法(RLS)
一方,1つ前の最適パラメータ と新しいデータ から
という更新式で を計算することもできます。ただし, とは のことで,この 行列も
という別の式を使って更新できます。つまり, だけでなく も覚えておく必要があります。
計算量の比較
方法1は,行列積や逆行列の計算を含むので計算に時間がかかりますが,方法2は で計算できます。
このように「毎回1から全部計算し直す」のではなく「1つ前の結果をうまく更新して新しい結果を得る」ことで計算時間や使用メモリ量を削減できることがあります(オンラインアルゴリズム,逐次アルゴリズム)。
RLS の更新式の導出
RLS の更新式の導出
を,
を使って表すのが目標です。逆行列の補助定理(Woodburyの恒等式)が登場するのが楽しいです。
の部分を分解すると,
となる。よって,
よって,
ここで,
という関係式(※)を使って上式の を消去すると,
となり, の更新式を得た。
さらに, の更新式を得るために,さきほどの関係式(※)に逆行列の補助定理
を使うと,
なお, に逆行列が存在しない場合のことは考えていません。実際, に逆行列が存在するくらい十分なデータがある状態からRLSを開始すればOKです。または,L2正則化(リッジ回帰)をすれば, となり,逆行列は必ず存在します。
全然高校数学ではないですが,逆行列の補助定理の応用例をぜひとも紹介したいので書きました。