Projection Pursuit Regression — ニューラルネットワークの先祖

「斜め方向を見る」というシンプルな発想が、加法モデルの限界を超え、 ニューラルネットワークの原型を生み出した。 1981年のFriedmanとStuetzleによる革新的なアイデアを一緒に解き明かしましょう。

加法モデルの壁 — 交互作用が見えない

第9章で学んだ一般化加法モデル(GAM)を思い出してください。 GAMは各変数に対して個別の非線形関数を当てはめ、それを足し合わせる手法です:

$$f(X) = \sum_{j=1}^{p} f_j(X_j)$$

これは非常に強力な手法ですが、根本的な限界があります。変数間の相互作用(インタラクション)を捉えられないのです。

例えば、「気温が高い AND 湿度が高い」ときに体感温度が急上昇するような現象—— これは2変数の掛け合わせ(交互作用)です。GAMは「気温の効果」と「湿度の効果」を 別々に評価するため、このような組み合わせ効果を見落とします。

GAMが軸方向のみ評価するのに対し、PPRが斜め方向も探索できることを示すアニメーション
左: GAMは軸方向(水平・垂直)のみ評価。右: PPRは任意の斜め方向を探索できる。

では、どうすれば交互作用を捉えられるでしょうか?

ヒントは「方向」にあります。GAMでは「各変数軸の方向」しか見ていません。 もし「斜め方向」を見られたら——X₁とX₂の組み合わせ方向を探索できたら、 交互作用的な構造を捉えられるはずです。 これがProjection Pursuit Regression(PPR)の出発点です。

リッジ関数 — 一方向だけに変化する面

PPRの核心は「リッジ関数(ridge function)」という概念です。 リッジ関数 $g(\omega^T X)$ は、ω 方向にしか変化しない p 次元の関数です。

例えば p=2(X₁ と X₂ の2変数)で、ω = (1/√2, 1/√2) とすると:

$$V = \omega^T X = \frac{X_1 + X_2}{\sqrt{2}}$$

この V は「X₁ + X₂ の大きさ」だけを表す1次元の量です。 g(V) は V にだけ依存するので、(X₁, X₂) 平面上では 「X₁ + X₂ = 一定」の方向に沿って同じ値をとります。

3D空間でリッジ関数を可視化するアニメーション。ω方向に山が連なる形状と、ωの変化による尾根の方向転換を示す。
3D空間でのリッジ関数。ω = (1,0) の横向き尾根から、ω = (1/√2, 1/√2) の45度尾根へ変形する。

視覚的には、ω 方向に山や谷が連なった「尾根(ridge)」のような3D形状になります—— だから「リッジ関数」と呼ばれます。

ω の方向を変えると、尾根の向きが変わります。 ω = (1, 0) なら X₁ 方向の尾根、ω = (0, 1) なら X₂ 方向の尾根。 そして ω = (1/√2, 1/√2) なら45度の対角線方向の尾根です。

$$g_m(\omega_m^T X) \quad \text{—}\; X \text{ を方向 } \omega_m \text{ に射影し、非線形変換}$$

$V_m = \omega_m^T X$ は 「入力ベクトル X を単位ベクトル ω_m に射影したスカラー値」です。 この1次元スカラー V_m に対して、柔軟な非線形関数 g_m を当てはめます。

これで加法モデルの限界を超えられます。斜め方向の尾根は 「X₁ と X₂ の合計が同じなら同じ値」という交互作用的な構造を表現できるのです。

PPRモデル — リッジ関数の重ね合わせ

Projection Pursuit Regression(PPR)のモデルは、 M個のリッジ関数の和です:

$$f(X) = \sum_{m=1}^{M} g_m(\omega_m^T X)$$

ここで:

3つのリッジ関数が順次加算されてPPRモデルが完成する過程を示すアニメーション
g₁(青)、g₂(緑)、g₃(赤)が順に現れ、合計曲線 f(X)(黄)が完成する。

GAMとの違いを見てください。 GAMは「各変数 X_j の方向」に固定されていましたが、 PPRでは ω_m は学習によって決まる任意の方向 です。

なぜ「Projection Pursuit」と呼ぶのか? 「良い方向 ω_m を追跡(pursuit)して射影(projection)する」からです。 モデルは「どの方向に射影すれば最もデータをよく説明できるか」を自動で探し出します。

M が十分に大きければ、PPR は任意の連続関数を近似できます—— これを普遍的近似能力(universal approximator)と呼びます。 しかし、この汎用性には代償があります: 各入力 X_j が複雑に絡み合ってモデルに入るため、解釈が難しくなります。

例外的に解釈しやすいのが M=1 の場合です。 これは計量経済学でいう「シングルインデックスモデル」で、 「X の線形結合 ω^T X が 1次元に要約される」という構造です。

フィッティング — 交互に最適化する

PPRモデルを学習するには、ω_m(方向)と g_m(非線形関数)の 両方を同時に推定する必要があります。これは一筋縄ではいきません。

ESLが提案するアプローチは「交互最適化(alternating optimization)」です:

gとωを交互に更新する最適化の流れを示すアニメーション。左でω方向が更新され、右でフィット曲線が改善される。
左: ω の方向が少しずつ更新される。右: その方向で g が曲線フィットを改善する。この往復を繰り返す。

ステップ1: g を固定して ω を更新

ω_old が現在の推定値とします。g を ω_old の周りで線形近似(テイラー展開)すると:

$$g(\omega^T x_i) \approx g(\omega_{\text{old}}^T x_i) + g'(\omega_{\text{old}}^T x_i)(\omega - \omega_{\text{old}})^T x_i$$

これを代入すると、ω の更新は「重み付き最小二乗回帰」に帰着します。 重み $g'(\omega_{\text{old}}^T x_i)^2$ を使って、 新しい ω_new を求めます。これがGauss-Newton法の考え方です。

ステップ2: ω を固定して g を推定

ω が決まれば、$V_i = \omega^T x_i$ という 1次元の値が計算できます。あとは「V_i → y_i」の1次元回帰問題です。 平滑化スプラインや局所回帰など、任意の平滑化手法で g を推定します。

この2ステップを収束するまで繰り返します。 M > 1 の場合は、前向き段階的(forward stagewise)に ω_m, g_m のペアを 1つずつ追加していきます。

PPRとニューラルネットワーク — 同じ構造、異なるg

ここで驚くべき事実を見ましょう。 ニューラルネットワーク(1隠れ層)のモデルは:

$$f(X) = \sum_{m=1}^{M} \beta_m \sigma(\alpha_{0m} + \alpha_m^T X)$$

これをPPRの形式と比べてみてください:

$$f(X) = \sum_{m=1}^{M} g_m(\omega_m^T X)$$

ほぼ同じ構造です!違いはただ1つ: PPRでは g_m はデータから柔軟に推定される非線形関数ですが、 ニューラルネットワークでは g_m がシグモイド関数 σ(α₀ + α · V) という固定の形の関数です。

PPRの柔軟な非線形関数がシグモイドに変換されてニューラルネットワークになる過程を示すアニメーション
左: PPRの自由形状の非線形関数 g_m。右: NNのシグモイド関数 σ。左の曲線がS字に変形していく。

より詳しく書くと:

$$g_m(\omega_m^T X) = \beta_m \sigma(\alpha_{0m} + \|\alpha_m\|(\omega_m^T X))$$

PPRでは g_m を自由な形にするため、少数の項(M=5や10)で済みます。 一方、ニューラルネットワークはシグモイドという単純な関数を使うため、 多数のユニット(M=20や100)が必要です。

つまりPPRはNNの知的先祖であり、 NNはPPRの g_m を計算しやすいパラメトリック関数で置き換えたものです。 PPRが1981年に提案されたとき、計算量の問題で広まりませんでした。 しかしその考え方は、ニューラルネットワークという形で見事に復活したのです。

まとめ — 射影が広げる可能性

Projection Pursuit Regressionのエッセンスを整理しましょう。

GAM、PPR、ニューラルネットワークの3者の構造を縦3段で比較するアニメーション
上: GAM(軸方向に独立した関数)。中: PPR(斜め方向に射影してリッジ関数)。下: NN(全結合でシグモイド変換)。

PPRの3つの柱:

  1. 射影(Projection): 高次元入力 X を1次元スカラー $V = \omega^T X$ に圧縮
  2. 追跡(Pursuit): データを最もよく説明する方向 ω を探索
  3. 加法(Additive): 複数のリッジ関数を重ね合わせて複雑な関数を表現

GAMとの関係:GAMは各変数軸方向の固定した射影のみ。 PPRは任意の斜め方向も探索可能。 GAMはPPRの特殊ケース(ω が各変数の基底ベクトルに固定された場合)です。

NNとの関係:PPRの非線形関数 g_m をシグモイドで固定したものがニューラルネットワーク。

$$\underbrace{\text{GAM}}_{\omega \text{ 固定(軸方向)}} \subset \underbrace{\text{PPR}}_{\omega \text{ 自由(任意方向)}} \approx \underbrace{\text{NN}}_{g_m \text{ をシグモイドに固定}}$$

PPRは1981年のアイデアですが、その本質は現代のディープラーニングにも生きています。 「入力の線形結合を非線形変換して組み合わせる」という構造は、 現代のあらゆるニューラルネットワークの基礎です。

次のChapter 11.3では、このニューラルネットワークをどう学習させるか—— バックプロパゲーションと正則化の詳細へと進みます。