👌

線形モデルの逆解析 ー 制約付き最小二乗法(CLS)

2021/05/26に公開

逆問題では観測誤差により逆過程で求めた解が大きくばらつく誤差鋭敏性が起きます。
誤差鋭敏性の対応策として制約付き最小二乗法の説明と実装方法を紹介します。

誤差鋭敏性については以下の記事で取り上げています。
https://zenn.dev/mamamajohn/articles/9b5929c30d239f

制約付き最小二乗法

誤差鋭敏性を直接的に抑える手法ではありませんが、解集合を有界にすることで解の変動を制約条件内に抑えられます。
手法は解に制約条件を設けて最小二乗法をするだけでシンプルです。

Min \space (Ax-b)^2 \space s.t. \space lb \leqq x \leqq ub
import numpy as np
from scipy.optimize import lsq_linear

# lbは下限、ubは上限、Arは一般逆行列、yは観測値
bounds = np.array([lb0, lb1], [ub0, ub1])
res = lsq_linear(Ar, y, bounds=bounds, lsmr_tol="auto", verbose=2)
# 解
res.x 

制約付き最小二乗解の可視化

逆問題の誤差鋭敏性についての観測値b1にガウスノイズ(観測誤差)を加えます。
制約付き最小二乗法で求めた解の分布を一般逆行列と比較しましょう。

n=100で解x1とx2の分布を箱ヒゲ図にしました。
横軸はノイズの標準偏差です。
下限を-40、上限を40にしています。

制約付き最小二乗解のx1は上限の40に張り付き、x2も上限40に張り付いています。
これは最小二乗解が制約条件外にあり、制約条件を満たす中で最もいい解は上限になったからです。
誤差鋭敏性はありませんが最小二乗解から外れているので精度は良くありません。

まとめ

制約付き最小二乗法の説明と実装方法を紹介しました。解集合を有界にすることで解の変動を制約条件内に抑えられます。低ランク近似やチホノフ正則化と併用できる強力な手法です。最小二乗法と謳っています線形計画を使っているのでご注意を。

Discussion