逆問題
逆問題(ぎゃくもんだい、inverse problem)とは、数学・物理学の一分野であり、入力(原因)から出力(結果、観測)を求める問題を順問題(じゅんもんだい、direct problem)と呼び、その逆に出力から入力を推定する問題や入出力の関係性を推定する問題を逆問題と呼ぶ。
逆関数の問題であると解釈すると、紀元前から扱われている問題である。しかし歴史的には物理において順問題と逆問題は今の使われ方とは異なっていた。例えばニュートンの時代では物体の動きからその作用する力を導くことが順問題だとされ、作用する力から物体の軌道を導くことが逆問題だとされていた。順問題と逆問題の定義は実際曖昧で、時代や学問分野によって異なることが多い。一般的には1820年代にニールス・アーベルがヤコビの逆問題を研究したのが、逆問題の最初の研究とされる。アーベルは方程式の解の公式の研究でも有名だが、方程式の解の公式自体も逆問題である。1929年にヴィクトル・アンバルツミャンも逆問題に関する論文を発表している。第二次世界大戦中に、弾道計算やレーダー探査など軍事上の目的により急速に発展した。現在では、非破壊検査や医療を目的とした利用も盛んに研究されている。
順問題と逆問題は対になる概念であり、どちらが順でどちらが逆かというのは相対的な問題である。しかし対称的ではない。一般に、古くから問題として認識され研究が行われている方向のプロセスによるものを順問題とし、その逆方向のプロセスで解く方法は自明ではないのだが、それを解くことで何らかの工学的・その他の利用ができるような問題のことを逆問題と言う。
単純な順問題・逆問題の例を示す。f(x) = x2 という関数について考える。f(2) や f(3) を計算して 4 や 9 と求めるのが順問題である。逆問題は2通りある。1つ目は、f(x) = 25 という問題で、x = 5 と解く問題である。2つ目は、関数が未知で、f(1) = 1, f(2) = 4, f(3) = 9 という情報から、f(x) が何になるか推測する問題である。
この例において、特にひとつめは逆関数 f-1(x) = √x によって容易に得られる。しかし、一般には逆関数が容易にはわからない関数も多く、そういった場合を特に扱うのがこの分野である。
逆問題は入力を求める、と一口に言っても、ここでの「入力」とは単に入力信号のようなものだけを指すのではない。例えば、物理学・工学で材料に関する問題においては、扱う材料に作用している外力を求める逆問題だけでなく、
材料の境界・領域形状を求める
といった、複数の逆問題が存在する。様々な問題設定があるように、様々な有益な用途があり、理論・実用の両面から研究が行われている。
逆問題としては、以下の2つのパターンがある。
既知:モデル(関数)と出力 未知:入力
既知:入力と出力 未知:モデル(関数)
順問題は、入力とモデル(関数)が既知で、出力が未知である。
逆問題を解く際によく問題になるのが適切性 (良設定問題、well-posedness) である。次の3つの条件が満たされるとき、アダマールの意味で適切であるという。
解の存在性: 解が存在すること
解の一意性: 解がただ一つであること
解の安定性: 入力に微小な変動を与えたときに、出力の変動も微小であること
上に挙げた f(1) = 1, f(2) = 4, f(3) = 9 から f(x) を推測する例で、逆問題の答えとしては f(x) = x^2 のほか、例えば f(x) = x^3 - 5 x^2 + 11x - 6 も解となり、解の一意性が満たされない。よって、非適切 (ill-posed) な問題といえる。
その他、微分方程式、積分方程式などに関する逆問題では解の安定性が得られず非適切な問題となることが多い。
非適切な問題の近似解を得る手法として最もよく使われるのがティホノフの正則化法 (Tikhonov regularization method) である。
線形有界作用素 K : X→Y についての方程式 Kx = y の近似解を得るために、ティホノフ汎関数:
J_\alpha(x) = \|Kx-y\|^2+\alpha\|x\|^2  for x∈X  α:正則化パラメータ
を導入し、これを最小にする xα∈X を求める。
近似解を真の解に近づけるためには、正則化パラメータ α を誤差 η = (δ, h) に応じて次のように設定すればよいといわれている:
\mu_\eta(K_h, y_\delta) = \inf_{x \in D} \|K_h x-y_\delta\|_Y
という汎関数を設定し、
\rho_\eta^\kappa(\alpha) = \|K_h x_\eta^\alpha-y_\delta\|_Y^2 - (\delta+h\|x_\eta^\alpha\|_X)^2 - \mu_\eta^\kappa(K_h, y_\delta)^2
について、ρηκ (α*) = 0 となるような α* (η) を選ぶ。
関連項目: ヒルベルト空間、コンパクト
ここでは、モデルと出力が既知で、入力が未知の問題を扱う。モデルは線形モデルである。N 個の誤差のある観測値(出力) y1, y2, \dotsc, yN から、M 個のパラメタ(入力) x1, x2, \dotsc, xM を推定するという問題を扱う。
観測不可能な真の値 xi と、観測値 yμ は、線形の関係がある(線形モデル)と仮定する。
y_i = \sum_\mu K_{i\mu} x_\mu + n_i
ここで、Kiμ は分かっているものとする。ノイズ ni は観測不可能だが、その統計的性質として平均 0 と、共分散
S_{ij} = \mathrm{E}(n_i n_j)
は分かっているものとする。ここで、E() は統計平均を取る操作。
もし、観測が全て独立でその数 N が、パラメタの数 M より多ければ、最小自乗法で x の推定値を求めることができる。しかし、観測が独立でなかったりその数がパラメタの数より少ないとき、x を求める問題は劣決定となり、上記適切性のうち解の一意性が満たされない非適切な問題となる。よって、その問題に即した適当な正則化を行って、解を求める必要がある。
式で書けば、ノイズを最小にするには
J = \sum^N_{i=1} \sum^N_{j=1} n_i S^{-1}_{ij} n_j
あるいは、行列表示して(上付き添字 \intercal は転置行列を表す)
J = \boldsymbol{n}^\intercal \boldsymbol{S}^{-1}\boldsymbol{n}
= (\boldsymbol{K}\boldsymbol{x} - \boldsymbol{y})^\intercal \boldsymbol{S}^{-1}(\boldsymbol{K}\boldsymbol{x} - \boldsymbol{y})
なる J を最小にする x を決める問題になるが、行列 K は行より列が多く、Kx=y の解が無数にあるという状況になる。そのため、正則化を行って解をひとつに定める。以下にいくつかの正則化の方法を紹介する。以下の議論で本質的に重要でないため、ノイズは分散 1 でそれぞれ無相関なものとする(つまりSは単位行列)。
正則化パラメタ α を用いて、
J = (\boldsymbol{K}\boldsymbol{x} - \boldsymbol{y})^\intercal (\boldsymbol{K}\boldsymbol{x}-\boldsymbol{y}) + \alpha \boldsymbol{x}^\intercal \boldsymbol{x}
と取る。つまり、無数の解のうち x の大きさを小さくにするものを推定値として採用する。α が小さいとき、これは Kx=y を特異値分解で解いた解と一致する。パラメタ α の取り方は問題設定によって異なる。一例としては、観測誤差が正規分布に近いと期待される場合、第一項は自由度 N のカイ二乗分布となることが期待され、その平均値は N となる。よって、第一項が N に近くなるように α を調整する。
x の大きさより、滑らかさが重要なときは、x_{i+1}-x_i を第二項にした
J = (\boldsymbol{K}\boldsymbol{x} - \boldsymbol{y})^\intercal (\boldsymbol{K}\boldsymbol{x}-\boldsymbol{y}) + \alpha (\boldsymbol{Bx})^\intercal \boldsymbol{Bx}
を最小にするような x を定める。
ここに、B は
\begin{bmatrix}
-1 & 1 & 0 & \ldots & 0 \\
0  & -1 & 1 & \ldots & 0 \\
\vdots & & \ddots & & \vdots \\
0 & 0 & \ldots & -1 & 1
\end{bmatrix}
なる成分を持つ。
同様に x が線形に増加すると期待されるとき、x が二次関数的に増加すると期待されるとき、なども適当な B を設定することで解くことができる。
上の二つの正則化もそうであったが、x の推定値 \hat{\boldsymbol{x} は観測値の線型結合で表されている。
\hat{\boldsymbol{x} = \boldsymbol{L} \boldsymbol{y}
観測値 y は、真の値をノイズ付きで観測したものだから、y の定義式を代入して
\hat{\boldsymbol{x} = \boldsymbol{L}(\boldsymbol{K}\boldsymbol{x} + \boldsymbol{n})
K は N 行 M 列( N < M )だから、逆行列は存在しないが、ノイズがなければ、よい観測は \hat{\boldsymbol{x}=\boldsymbol{x} となるはずである。そこで、LK=I と L を定めればよさそうである。すなわち、行列 LK の成分 {LK}ij がクロネッカーのデルタ δij になれば理想的である。しかし、実際にはノイズがあるからこのようにはならない。そこで、クロネッカーのデルタにできるだけ形の近いものになるようにする。バッカスとギルバートは LK の行ベクトルのクロネッカーのデルタからのずれ、
\sum_{j=1}^N (i-j)^2(\{LK\}_{ij}-\delta_{ij})^2
を最小にすれば良いと考えた。これが最小化関数 J の第一項となる。
正規化のための第二項は、多数の観測で得られたパラメタ推定値のばらつきが少ないという条件を用いる。観測値のばらつき(ノイズ)は n だから、
\boldsymbol{L} \mathrm{E}(\boldsymbol{n}\boldsymbol{n}^\intercal)\boldsymbol{L}^\intercal
が最小化関数 J の第二項となる。
劣決定な逆問題では、与えられたデータ y だけでは拘束条件 Kx=y を満たす推定パラメタ x が一意に決まらないため、正則化項 R を第二項に加えた
J = (\boldsymbol{K}\boldsymbol{x} - \boldsymbol{y})^\intercal (\boldsymbol{K}\boldsymbol{x}-\boldsymbol{y}) + \boldsymbol{R}
を最小にする x を求めた。第二項には第一項に含まれていない情報が付加されている。上記の例では、「推定パラメタはほとんど零である」や「推定パラメタはばらつきが少ない」などである。その情報は、問題が与えられる前にすでに期待されていることだから、先験情報(あるいは事前情報)と呼ばれる。これに対応させて、第一項を事後情報ととらえ、逆問題をベイズ統計学の観点から考えることもできる。
一般に、第一項はデータのノイズに敏感で、推定パラメタに大きな変動や空間スケールの小さな構造をもたらす。一方、第二項は推定パラメタを滑らか・安定にする働きをもつ。問題に応じて、第一項と第二項の比は(ときに主観的に)決められる。