数値解析における最小最大近似と最小二乗近似
📂数値解析数値解析における最小最大近似と最小二乗近似
ビルドアップ
与えられた関数f:[a,b]→Rを近似する問題が与えられているとしよう。計算はコンピュータの仕事なので、多項式fで近似することが目標だ。関数を近似するというのは、ある点の計算だけでなく、定義域[a,b]全体でfに似た関数を使いたいということなので、最も大きく間違っている部分を減らすことが目標だ。このような状況を最小極大化minimax問題と言う。[ 注: ‘最小極大化’という言葉は、経済学で最小の利益を極大化する状況から来た表現なので、今の問題には当てはまらない。漢字表現にこだわるより、「ミニマックス」で覚えておこう。 ]
ρn(f):=deg(q)≤ninf∥f−q∥∞
最小極大化問題を式で書き直すと、ρn(f)が最も小さくなるようなn次以下の多項式qを見つけることだ。∥⋅∥∞は最大ノルムを表し、これが最も小さくなるようなqn∗を見つけることが目標だ。つまり、ρn(f)=∥f−qn∗∥を満たすqn∗を見つけることが最小極大化近似だ。
しかし、これは言うは易し行うは難し。再度強調するが、最小極大化近似をするには、一点ではなく[a,b]全体の誤差を一度に考慮しなければ成し遂げられない作業だ。よく考えてみれば、[a,b]は、閉区間を考える前に、数え切れないほど多くの点を含む集合で、見た目より扱いにくい。
最小二乗近似
Mn(f):=deg(r)≤ninf∥f−r∥2
このような困難を回避するため、数学者たちは最小二乗近似を取り入れた。変動の二乗が最も小さくなる解を見つける方法を最小二乗法といい、式でいうと、Mn(f)が最も小さくなるようなn次以下の多項式rを見つける方法だ。つまり、Mn(f)=∥f−rn∗∥を満たすrn∗を探すことが最小二乗近似だ。この方法の実装で使われる線型代数技術は、関数解析にも自然に応用される。
最小二乗、∥f−r∥2=∫ab∣f(x)−r(x)∣2dxを使う理由は、ヒルベルト空間でのみ内積が定義されているからだ。内積が定義できることで、比較的多様な技巧を使うことができるので、ルベーグ空間の中でもヒルベルト空間を選ぶのだ。
そして、驚くべきことに、ある方法で作られた最小二乗解Cnは、∥⋅∥2ではなく∥⋅∥∞でもかなり良いパフォーマンスを示す。最小極大まではいかなくても、∥f−Cn∥≤nlnn程度に限定されても、lnnの発散速度がnの発散速度よりもはるかに遅いため、Cnもまあまあ使える近似になり得るのだ。