二次正則化付き線形分類器 — p ≫ N でも機能する3つの手法

特徴量がサンプル数の100倍以上ある世界で、なぜ線形分類器はうまく機能するのか? 正則化判別分析(RDA)、L₂正則化ロジスティック回帰、サポートベクター分類器—— 表面上は異なる3つの手法が、高次元でほぼ同じ答えを出す秘密を解き明かす。

高次元分類の壁

1万6千の遺伝子発現量を測定して、144人の患者を14種類のがんに分類する—— これが本章の舞台となる問題です。

変数の数(p = 16,063)がサンプル数(N = 144)を100倍以上も上回っています。 下のアニメーションで、この「不均衡」の深刻さを感じてみてください。

サンプル数と特徴量数の不均衡、特異行列の発生を示すアニメーション
左(青): N=144サンプル。右(黄): p=16,063特徴量。下部の行列が「潰れて」逆行列を持たなくなる。

線形判別分析(LDA)は、 クラス内の共分散行列の逆行列を使って分類します。 p×p の共分散行列を計算するとき、16,063×16,063 = 約2億6千万個の要素を推定することになります。 でも手元のデータは144点しかありません。

144点で2億6千万個のパラメータを推定しようとすれば——特異行列が生まれます。 逆行列が存在しなくなるのです。

では、何が「助けてくれる」のでしょうか?

それが正則化です。 特に今回は「二次(L₂)正則化」を使います。 この考え方は、過剰に複雑な推定を防ぐ「ブレーキ」として機能します。

正則化判別分析(RDA)——共分散行列を「縮小」する

線形判別分析が破綻する原因は、 「p×p の共分散行列を正確に推定できない」ことでした。 では、推定できない部分を賢く「諦める」のはどうでしょう?

正則化判別分析(RDA)はこのアイデアを実装します。 下のアニメーションで、行列がどのように「縮小」されていくか確認してください。

共分散行列が対角行列へと縮小されるプロセスを示すヒートマップアニメーション
γ=1(左): 非対角要素も値あり(青)。γ=0(右): 対角要素(黄)だけが残る対角行列。スライダーが左に動くほど相関の推定を「諦める」。

中心となる式は次のとおりです:

$$\Sigma(\gamma) = \gamma \hat{\Sigma} + (1-\gamma) \text{diag}(\hat{\Sigma}), \quad \gamma \in [0, 1]$$

直感的に言えば:

「対角行列に縮小する」とはどういう意味でしょうか?

共分散行列は、変数同士の「相関関係」を表します。 対角要素は各変数自身の分散(自己相関)。 非対角要素は変数間の相関(交差相関)です。

p ≫ N の世界では、変数間の相関を16,063×16,062個も推定するのは無謀です。 γ を小さくすることで、相関推定を徐々に「諦め」、対角成分(分散)だけに集中します。

γ はクロスバリデーションで選ぶと、適切な値が自動的に見つかります。 面白いことに、マイクロアレイの実験では γ ∈ (0.002, 0.550) のどの値でも 同じ交差検証誤差と汎化誤差が得られました——驚くほど頑健です。

この式の意味:$\hat{\Sigma}$ は全共分散行列、$\text{diag}(\hat{\Sigma})$ はその対角成分だけを残した行列。 γ が小さいほど相関推定を捨て、分散推定に集中します。

ロジスティック回帰に L₂ 正則化を加える

次は別のアプローチです。L₂ 正則化つきロジスティック回帰を考えます。

K クラスの多クラスロジスティック回帰では、 各クラスに係数ベクトル β_k を持ちます。 通常のロジスティック回帰を p ≫ N でそのまま使うと過学習します。

L₂正則化あり・なしの係数の大きさを棒グラフで比較するアニメーション
左(赤): 正則化なしの係数は不規則に大きい。右(青): L₂正則化により係数が小さく均一になる。黄の円がL₂制約球。

ペナルティ項を加えた目的関数を最大化します:

$$\max_{\{\beta_k\}} \left[ \sum_{i=1}^N \log \Pr(g_i | x_i) - \lambda \sum_{k=1}^K \|\beta_k\|_2^2 \right]$$

右辺のペナルティ λ∑_k ‖β_k‖₂² が「L₂ 正則化」です。 係数ベクトルが大きくなりすぎることを防ぎます。

一つ興味深い性質があります。正則化を加えると、自動的に

$$\sum_{k=1}^K \beta_{kj} = 0 \quad (j = 1, \ldots, p)$$

という制約が満たされます。 これは「どのクラスにも偏らない」バランスの取れた解が得られることを意味します。

さらに衝撃的な結果があります。データが完全に線形分離可能なとき (p ≫ N ではよく起こる)、λ → 0 とすると、 正則化ロジスティック回帰の解(正規化後)は 最大マージン分類器SVM)の解に収束します。 つまり、ロジスティック回帰とSVMは高次元でつながっているのです!

サポートベクター分類器——高次元では単純化が自然に起こる

3つ目の手法はサポートベクター分類器(SVC)です。

p ≫ N の世界では、面白いことが起こります。 クラスは訓練データ上でほぼ完全に線形分離可能になりがちです。 考えてみれば当然です——16,000次元の空間で、144点を直線(超平面)で分けることは容易なのです。

2次元では混在するデータ点が3次元に持ち上げられると超平面で完全分離できることを示すアニメーション
左: 2D空間では青・黄の点が混在し境界が引けない。右: 次元が増えると超平面(緑)で完全分離が可能になる。

そのため、正則化パラメータ C を無限大に設定しても(正則化なし)、 SVC は過学習しないことが多いのです。

これは驚くべき結果です。低次元では「正則化なし = 過学習」が常識ですが、 高次元ではその常識が崩れます。

多クラス分類への拡張も複数あります:

実験では、ロジスティック回帰とSVCはほぼ同じ誤り率を示しました。 正則化パラメータ C の選択に対しても頑健でした(C > 0.001 なら同様)。

特徴量選択の意外な落とし穴

「16,000個の遺伝子は多すぎる。重要な遺伝子だけを選べばもっとうまくいくはずだ」—— 多くの人がそう考えます。しかし、実験は驚くべき結果を示しています。

サポートベクター分類器で遺伝子数を16,063から徐々に減らしていくと、 精度は下がり始めます。たった144サンプルしかないのに!

多数の弱い信号(小矢印)が中心に収束して強い単一信号(大矢印)を形成するアニメーション
個々の小さな矢印(弱い信号)が収束し、大きな矢印(集合的な強信号)が生まれる。16,000個の遺伝子が協調して働く。

これはなぜでしょうか?

L₂ 正則化(二次正則化)は、全ての特徴量にゼロでない重みを与えます。 一見「無関係」に見える遺伝子も、集合的に情報を持っているのです。 個々の遺伝子の寄与は微小かもしれませんが、16,000個が組み合わさると 無視できない信号になります。

これが集合的弱信号という現象です。 個々は弱いが、多数集まると強くなる——ランダムフォレストの木の集合と似た発想です。

特徴量選択を行う場合は、再帰的特徴除去(RFE)などの方法がありますが、 この問題設定では多くの場合、全特徴量を使った方が良い結果が得られます。

SVD による計算の奇跡——p 次元を N 次元に圧縮する

ここで最も数学的に面白い部分に来ました。 p = 16,000 次元での計算は膨大なコストがかかります。 どうすれば効率的に計算できるのでしょうか?

鍵となる幾何学的観察があります:

p 次元空間にある N 個の点は、最大 (N-1) 次元の部分空間に収まる。
3D空間の点群が2D部分空間に射影されるSVD次元削減のアニメーション
青い点(高次元の散布)が実際には薄い板(低次元部分空間)の上にある。緑の点に射影すると次元が大幅に削減される。

3次元空間の2点を考えてみてください。その2点は常に1次元(直線)の上にあります。 同様に、16,000次元空間の144点は、最大143次元の部分空間の中にあります。

これが特異値分解(SVD)を使った計算の節約につながります。 N × p の行列 X を SVD で分解します:

$$\mathbf{X} = \mathbf{U}\mathbf{D}\mathbf{V}^T$$

ここで:

各データ点 x_i を r_i = d · u_i(N次元ベクトル)に変換すると—— リッジ回帰を含む「全ての二次ペナルティ付き線形モデル」で、p次元の問題がN次元の問題に変換できます!

リッジ回帰の等価な N 次元問題:

$$\hat{\beta} = (\mathbf{X}^T\mathbf{X} + \lambda\mathbf{I})^{-1}\mathbf{X}^T\mathbf{y} = \mathbf{V}(\mathbf{R}^T\mathbf{R} + \lambda\mathbf{I})^{-1}\mathbf{R}^T\mathbf{y}$$

ここで R = UD(N×N行列)。計算が p 次元から N 次元に落ちます! 計算コストは O(p³) から O(pN²) に劇的に削減されます。 p = 16,000、N = 144 では、これは約 1億6千万倍の高速化です!

三つの手法の統一的理解

本節では3つの手法(RDA、L₂正則化ロジスティック回帰、SVC)を見てきました。 これらは表面上は異なる手法に見えますが、高次元では驚くほど似た結果を出します

3つの異なる手法(RDA・LogReg・SVC)が曲線パスを経て同じ収束点(星形)に向かうアニメーション
RDA(赤)、L₂正則化ロジスティック回帰(青)、SVC(緑)——3つの異なる出発点から同じ結論(星形)に収束する。

この理由は何でしょうか?

全ての手法に共通するのは:

  1. 線形決定境界を使う
  2. 二次(L₂)正則化でパラメータの大きさを制御する
  3. 全ての特徴量を使う(スパース化しない)

この「共通構造」が、どの手法を選んでも似た精度をもたらすのです。

マイクロアレイのがん分類実験(144サンプル、16,063遺伝子、14クラス)では:

どの手法も、シンプルな方法(単純なヒューリスティック)の約30/54誤りを 大幅に下回っています。

では、どれを選ぶべきでしょうか?

実用的な推奨:まず正則化ロジスティック回帰から始めましょう。 より解釈しやすく、多クラス問題でも自然に定式化できます。 SVMは2クラス問題で理論的に優れた保証があります。 RDAはLDAの自然な拡張として理解しやすい出発点です。

核心は「どの手法を選ぶかより、どう正則化するか」が重要、ということです。

まとめ——高次元の逆説

次元の呪い」という言葉をご存知ですか? 高次元では距離概念が崩壊し、最近傍法が機能しなくなることを指します。

しかし本節で見てきたように、高次元には祝福もあります:

高次元の3つの利点(分離容易・次元圧縮・集合信号)が中央の星から矢印で広がるアニメーション
高次元の「祝福」:分離が容易(青)、次元圧縮が可能(緑)、集合的弱信号の活用(赤)。呪いだけではない。

高次元の逆説

二次正則化付き線形分類器は、この高次元の性質をうまく活用します。 特徴量の数が大幅に増えても、適切な正則化があれば過学習は抑制されます。

一方で、L₁ 正則化Lasso など)では事情が異なります。 L₁ は自動的に特徴量選択を行いますが、SVDの計算ショートカットは使えません。 次節では、L₁ 正則化付き線形分類器を扱います。

高次元統計学習の旅は続きます——次は「スパース」な解を求める世界へ。