2009年01月02日ICA(独立成分分析)が面白い。「詳解 独立成分分析」という本が大変面白い。 学問の面白さのひとつは様々な分野を結びつけること、ある対象にまったく違った角度から光を当てるところにあると思うのだが、その点ICAは実に多様な分野と関係していて興味深い。 本の構成も良い。「導入」の章で要点をがつんと述べているのがうまい。「数学的準備」が全体の半分くらいあるのだが、これも分かりやすくまとめられている。準備といってもICAとの関わりが所々述べられているので、読み応えがある。 この本を読んだせいで、「相関がある」という表現を安易に使えなくなった。日常会話ではあまり深く考えず「相関がある」「相関がない」と言ってしまうが、実は統計学では「相関」は明確に定義されている。二つの確率変数の間の共分散をそれぞれの標準偏差の積で割った値σ_{xy}/σ_{x}σ_{y}である。 つまり相関はあくまで二次の統計量であって、確率変数の間にはそれより高次の関係が存在することがある。二つの確率変数の共分散が0であっても、それより高次の関数の期待値において(統計的に独立な場合に対して)違いが出てくることがありうる。 この状態は統計学の用語では「相関がない」ことになるのだが、一方の値が片方の値に影響を与える。そういう意味で関係がある。これを「独立でない」と呼ぶ。独立性はP(x,y)=P(x)P(y)で表され、相関がないどころか、あらゆる意味で関係がないことである。 「とりあえずガウス分布を仮定して」の従来の統計的アプローチでは無相関と独立の違いは表に出てこない。なぜなら(原点中心の)ガウス分布は分散のみで決定される。(以後、確率変数は平均0に中心化されていると考える)。多次元ガウス分布は共分散行列で決定され、それより高次でのみ現れる関係というのは存在しない。相関があれば非独立、無相関であれば独立。ゆえにPCA(主成分分析)で十分である。実際、多次元ガウス分布に主軸変換をかけると、確率変数の間の関係は無相関になると同時に独立になる。ICAの出番はない。 PCAもICAも、観測された信号の確率ベクトルXが隠れた確率変数ベクトルYの線形変換Aによって得られるとみなし、一定の条件をみたすようにYを推定するところは同じである。つまりX=AYである時、Yに特別な仮定を設けることでXからAとYを推定する。いわば混ざり合った観測信号Xを元の信号Yに分離する。Xは混合変数、Aは混合行列、Yは潜在変数と呼ばれる。Yに求める仮定がPCAとICAでは異なる。 PCAではYの成分が互いに無相関なガウス分布に従うと仮定する。また、σ^2_{Y_i} ≧ σ^2_{Y_i+1} というように、Y_1の分散が最大であり、iが増えるほど分散が減っていく、という条件を設ける。このようなYを固有値問題を解くことで求める。 ICAではYの成分がガウス分布に従うことを仮定しない。その代わり、Yの成分が互いに独立であるという強い仮定をおく。これによってPCAとは別の形でYの推定が可能になる。強い仮定であるが、多くの場合妥当な仮定である。 ICAが使えるのはYがガウス分布に従わない場合である。たとえば確率変数Y_1とY_2がそれぞれ[-1,1]の範囲で一様分布を取り、結合分布がP(Y_1,Y_2)=P(Y_1)P(Y_2)で表される状況を考える。事象が生じる範囲は原点を中心とした幅2の正方形である。Y_1とY_2は独立であり無相関である。また、各次元の分散が等しいため、共分散行列はσ^{2}Iで表現される。しかしY_1,Y2に直交変換を行ってX_1,X_2を得ると、共分散行列はσ^{2}Iのままなので無相関性は維持されるが、独立性は維持されない。原点を中心に回転した正方形を考えるとよい。X_1の値がX_2の値に影響を与えている。X_1の値によってはX_2の取り得る値が制限される。つまり相関以外の関係があるのである。 PCAでは無相関な確率変数に対してはそれ以上することがないので、上記の(一様分布の結合分布を直交変換で混合した)X_1,X_2に対しては変換が行われない。しかしICAを使えば、それを元の独立な確率変数Y_1,Y_2に戻すことができる。 このような違いはY_1,Y_2がガウス分布に従わないことから来ている。仮にY_1,Y_2の共分散行列がσ^{2}Iである2次元ガウス分布の場合、密度関数が点対称であるため直交変換(回転)によって形が変わらない。これはX_1,X2において、無相関性に加えて独立性も維持されていることを意味している。この場合、ICAですることはない。 具体的にICAではどうやって独立性を満たす確率変数を求めるか。 まず、混合変数Xの共分散行列がIになるように変換しておくことが望ましい(X→X')。これは観測信号に線形変換をかけることで行う。このような変換を「白色化」と呼ぶ。任意の確率分布はPCAによって白色化できる。これによって得られたX'が混合行列A'と潜在変数Yの積で表されるとすると、Yの成分は独立と仮定したためその共分散行列E{YY^T}はIであり、 I = E{X'X'^T} = A'E{YY^T}A'^T = A'A'^T これは求めるべき混合行列A'が直交行列であることを意味する。すなわちA'を任意の線形変換とみなすのと比べて、推定すべきパラメータの数をおよそ半分に減らすことができる。 さて、仮に確率ベクトルXの成分が互いに独立でない場合、各成分X_iは互いに独立なY_iの一次結合として表されていると考えられる。つまり確率変数の集合{Y_i}が混ざり合って作られたものがX_iであると考えるわけである。 では互いに独立な確率変数{Y_i}が一次結合するとどうなるか。中心極限定理によってガウス分布に近づくのである! つまりガウス分布からの遠さが独立であることのひとつの指標になる。 そこでICAではなるたけガウス分布から遠くなるような{Y_i}を勾配法などの最適化によって求めていく。 この時使われる目的関数のひとつが尖度の絶対値などの高次の統計量である。ガウス分布は歪度も尖度も0。ゆえにこれらの絶対値が大きい分布ほど望ましいということになる。 この基準はエントロピーを使って求めることもできる。平均と分散を固定した時にもっともエントロピーが高くなる分布はガウス分布である。そこでYと同じ共分散行列を持つガウス分布に従う確率ベクトルY_gaussを考える。Y_gaussは常にYより高いエントロピーを持つので、H(Y_gauss)-H(Y)は非負である。これをネゲントロピーと名付け、非ガウス性の尺度とする。ネゲントロピーが高いほど非ガウス性が高い。 ネゲントロピーを確率変数のベキ級数に展開すると、平均と共分散行列はY_gaussとYの間で共通であることによって1次と2次の項が消えて、3次以降の統計量のみが残る。確率分布が対称であることを仮定すれば、3次のモーメント(かつキュムラント)である歪度は0。ゆえに4次のキュムラントである尖度以降を考えればよい。(尖度はE{x^4}-3(E{x^2}^2)であるが、分散E{x^2}が一定なので4次のモーメントE{x^4}の代わりに使える)。つまりこれによってYのガウス分布に対する距離を近似できるということになる。 尖度はネゲントロピーのひとつの近似になるが、4次の値のため外れ値に弱く、頑健でない。そこで尖度以外の関数を近似に使うことも多い。これらの関数はこの本では天下り的に導入されている。 最適化を高速化するために勾配法ではなくニュートン法を使いたいのだが、そのままだと計算量が大きいので、信号があらかじめ白色化されていることを用いて効果的な近似が行える。それがこの本の著者の人が提案した不動点アルゴリズムfastICA。 また、ICAのさらなる一般化として、潜在変数間の独立性を仮定せず、それらの間の従属性を最小化することを目的とする相互情報量最小化という定式化がある。つまり「潜在変数が互いに独立である」という仮定は強すぎると考えて、「潜在変数間の相互情報量を最小化するのがICA」と再定式化するのだ。これだともはや「独立」成分分析という名前を超えている。 Xを混合変数、BをICAとして、潜在変数の推定量Y'は以下のように表せる。 {Y'_i}の相互情報量I(Y'_1,...,Y'_n)は以下のように定義される。 I(Y'_1,...,Y'_n) = ΣH(Y'_i) - H(Y') 右辺第二項にY'=BXを代入し、変換のエントロピーH(BX)がH(X)+log|detB|で表されることを使うと、 I(Y'_1,...,Y'_n) = ΣH(Y'_i) - H(X) - log|detB| ここで{Y'_i}が互いに無相関で分散が1であるという制約を加えると、E{Y'Y'^T} = BE{XX^T}B^T = I より、 1 = detI = det(BE{XX^T}B^T) = (detB)detE{XX^T}(detB^T) detE{XX^T}はBに依存しないため、detBは定数。 また、H(X)も定数であるため、 I(Y'_1,...,Y'_n) = ΣH(Y'_i) + const になるが、{Y'_i}の分散が1という制約を設けたため、Y'_iがガウス分布に従った時のエントロピーH(Y'_i_gauss)は一定の値になり、 I(Y'_1,...,Y'_n) = - Σ(H(Y'_i_gauss) - H(Y'_i)) + const に置き換えることができる。結局{Y'_i}の相互情報量の最小化は各Y'_iのネゲントロピーの総和の最大化と等しいことになる。 つまりこれは「ガウス性からの遠さ」という直感的な基準で定義されていたICAに「相互情報量の最小化」という新たな裏付けを与えたことになる。 このようにICAはかなり汎用性と理論的広がりのある話なのである。 すでに幅広い分野に応用されているが、まだまだ広まっていきそうな気がする。 Posted by taro at 2009年01月02日 00:34 |
