1次元のカーネル平滑化から始まった旅は、どこまで広がれるのか?
前のセクションでは「近くの点に重みをつけて回帰する」という局所線形回帰を学んだ。 シンプルだが強力なアイデア。しかし、現実のデータはもっと複雑だ。
このセクションでは、カーネルというアイデアを拡張して、これらすべてに対応する。 回帰から分類へ、1次元から多次元へ、局所フィッティングから密度推定へ。
「カーネル」という一本の糸が、統計学習の多様な手法を縫い合わせる様子を一緒に見ていこう。
このセクションで学ぶこと:
1次元でのカーネル平滑化は直感的でうまく機能した。では、変数が2つ、3つ、10個になったらどうなるだろう?
ここで「近さ」の感覚が根本から変わる問題が起きる。 1次元で「近くの10%のデータ」を使うなら、区間の長さは全体の10%でいい。 2次元では、面積の10%をカバーするには一辺が約32%の正方形が必要だ。 10次元では? — 0.1の10乗根は約80% になる。 全体の80%の範囲をカバーしないと、10%のデータが集まらない。
「近く」がもはや近くではない。これが次元の呪いが局所フィッティングに与える打撃だ。

しかし、データに構造を仮定することで、この呪いを乗り越えられる。 最もシンプルな仮定は加法モデルだ:
各変数 $X_j$ が独立に $f$ に寄与する、という仮定。 これが成り立つなら、各次元を個別にスムーズすればいい。$p$ 次元の問題が、$p$ 個の1次元問題に分解できる。
さらに精巧な構造がANOVA分解だ。 主効果(1変数の影響)、2変数の交互作用、3変数の交互作用…と段階的に複雑さを加える:
必要な精度に応じて「どこまで交互作用を考慮するか」を選べる。 計算コストと予測精度のバランスを取る、実用的なアプローチだ。
構造化カーネルでは、各座標に異なる重みをつけることもできる。 行列 $A$(正定値行列)によって、重要な変数の方向に「引き伸ばした」距離を使う:
例えば $X_1$ 方向を重視するなら、$X_1$ 軸方向の距離を小さく見積もることで、 その方向の近傍を広げる。重要でない方向には鈍感に、重要な方向には鋭敏に——まるでGIFの楕円のように。
局所回帰では「残差の二乗和を最小化」した。 これは暗黙のうちに「誤差がガウス分布に従う」という仮定を置いている。 しかし、予測したいのが確率(0〜1の値)だったら?発生件数(非負整数)だったら?
そこで登場するのが局所尤度推定だ。
通常のロジスティック回帰では、すべてのデータを使ってパラメータ $\beta$ を推定する(グローバルなフィッティング)。 局所版では、ターゲット点 $x_0$ の近くの点に重みをつけて推定する:
$\ell(y_i, x_i^T\beta)$ は個々の観測の対数尤度。$K_\lambda(x_0, x_i)$ が近傍に重みをつける。 つまり、ターゲット点の近くでのみロジスティック回帰を「フィッティングし直す」。

これにより、単一の線形境界ではなく、非線形な確率面を推定できる。 各クラス $j$ に属する確率は、位置 $x$ に応じて変化するパラメータ $\beta_j(x)$ で記述される:
$\beta_j(x)$ が $x$ に応じて変化する点がポイントだ。 グローバルなロジスティック回帰では $\beta$ は定数だったが、局所版では「どの場所でフィッティングするか」によってパラメータが変わる。
実際の応用例として、心臓疾患リスクの推定が挙げられる。 収縮期血圧とBMIが高いほどリスクが高い——しかし単純な線形境界ではなく、 変数の相互作用を捉えた非線形な確率面が得られる。
局所尤度は強力だが、計算コストが高い点には注意が必要だ。各予測点で独立した最適化が必要になる。 予測点が1000個あれば、最適化を1000回繰り返すことになる。
ここで視点を大きく変える。
これまでは「$X$ から $Y$ を予測する」という問いだった。 今度は、「$X$ そのものの分布はどういう形か?」を問う。 データがどこに集まっていて、どこが疎なのかを知りたい。
ヒストグラムを思い浮かべてほしい。データをビン(箱)に分けて、各箱の高さを頻度にする。 シンプルだが粗い。箱の幅の選び方で見え方が全然変わるし、箱の境界で不連続が生じる。
カーネル密度推定(Parzen推定とも呼ばれる)は、もっとなめらかな方法だ。 アイデアはシンプル:各データ点 $x_i$ の上に「小さな山(カーネル)」を置き、 全データ点の山を足し合わせて密度を推定する。

ガウシアンカーネルを使えば:
$\lambda$(バンド幅)が小さければ山が鋭くなり、大きければ山が広がってなめらかになる。 バンド幅は推定の精度を左右する重要なパラメータだ——小さすぎるとギザギザ、大きすぎると平坦になりすぎる。
この推定量には面白い別の見方がある。経験分布(各データ点に確率 $1/N$ を置く)とガウシアンノイズの「たたみ込み(convolution)」と解釈できる。 つまり、データ点を少しぼかした(ガウシアンで平滑化した)分布というイメージだ。
$\phi_\lambda$ はガウシアンカーネル。 各データ点を中心とした正規分布を平均することで、滑らかな密度推定が得られる。
カーネル密度推定から分類へのジャンプは一歩だ。
2クラスの分類問題を考えよう。 クラス1のデータの密度 $\hat{f}_1(x)$、 クラス2の密度 $\hat{f}_2(x)$ を別々に推定する。 次に、ベイズの定理でこれらを組み合わせる:
$\hat{\pi}_k$ は各クラスの事前確率(観測割合)。 2クラスのカーネル密度が交差するところが、分類境界になる。

前のセクションとの違いに注目しよう。
どちらも分類に使えるが、密度推定ベースは「各クラスのデータ分布を学ぶ」という点で異なる。
ナイーブベイズ分類器は、高次元問題での賢いトリックだ。
$p$ 個の特徴量 $X_1, X_2, \ldots, X_p$ があるとき、$p$ 次元の密度を直接推定するのは困難(次元の呪い!)。 しかし、特徴量が独立だと仮定すれば:
各クラス $j$ の密度は、各特徴量の1次元密度の積になる。 つまり、$p$ 次元の問題が $p$ 個の1次元問題に分解できる!
「ナイーブ(単純)」な理由は、この独立性仮定が現実には成り立たないことが多いからだ。 でも、驚くべき事実がある:独立性が成り立たなくても分類性能が高いケースが多い。 なぜかは今でも理論的に完全には解明されていない、面白い謎だ。
対数オッズを計算すると、ナイーブベイズの構造が見えてくる:
$g_{lk}(X_k) = \log f_{lk}(X_k) - \log f_{Jk}(X_k)$。 これは一般化加法モデル(GAM)の形だ——各変数の影響を独立した非線形関数 $g_k$ で表し、それらを足し合わせる。 ナイーブベイズは、GAMの一種として解釈できる(第9章でGAMを詳しく扱う)。
これまでのカーネル法は、予測点 $x_0$ の近傍だけを見る「局所的」な方法だった。 各予測のたびに近傍のデータを探し、その場でフィッティングする。
放射基底関数(RBF)は発想を転換する。 局所フィッティングではなく、カーネルを基底関数として明示的に展開する。 モデルを事前に構築しておき、予測のたびに計算する:
各 $\xi_j$ は「プロトタイプ」(基底の中心)。$\lambda_j$ は基底の幅。$\beta_j$ は係数。
このモデルはグローバルに定義されている。$x$ がどこにあっても、すべてのプロトタイプの影響を受ける——ただし近いプロトタイプほど影響が大きい。

学習の手順はシンプルだ:
または、プロトタイプ・幅・係数を同時に最適化することもできる(ニューラルネットワーク的なアプローチ)。
正規化RBFでは、各プロトタイプの影響を合計が1になるよう正規化する:
これにより、モデルがどの $x$ でも意味のある出力を返す(補間性が保証される)。 特に、学習データのない領域でも合理的な予測ができる。
RBFネットワークはニューラルネットワークの一種として見ることもできる。 シグモイド活性化の代わりにガウシアンカーネルを使う隠れ層、と解釈できる。 これは次章(第11章)のニューラルネットワークへの橋渡しになる考え方だ。
このセクションで学んだ内容を振り返ろう。
6.1〜6.3で局所回帰(近傍に重みをつけた回帰)を学んだ。 このセクションではそのアイデアを4つの方向に拡張した。

| 手法 | 目的 | カーネルの使い方 |
|---|---|---|
| 局所回帰 | 回帰 | 近傍重み付き最小二乗 |
| 局所尤度 | 分類・GLM | 近傍重み付き尤度最大化 |
| 密度推定(KDE) | 密度推定 | 各点にカーネル山を配置 |
| RBFネットワーク | 回帰・分類 | カーネルを基底関数として展開 |
すべての手法に共通するのは「距離に基づく重み付け」というカーネルの哲学。 近いものほど影響が大きい。距離の定義と幅パラメータ $\lambda$ を変えれば、柔軟に応用できる。
カーネルという概念は、これだけの多様な手法を統一する「言語」として機能している。 この視点を持つと、一見バラバラに見える手法が実は同じ原理に基づいていることがわかる。
次は第7章へ。「モデル評価と選択」——バンド幅 $\lambda$ の選び方も含め、 モデルの品質をどう測るかを学ぶ。 ここで学んだカーネル法のすべてに共通する「どうやって最適なパラメータを選ぶか」という問いに答える章だ。