二次正則化付き線形分類器 — p ≫ N でも機能する3つの手法
特徴量がサンプル数の100倍以上ある世界で、なぜ線形分類器はうまく機能するのか? 正則化判別分析(RDA)、L₂正則化ロジスティック回帰、サポートベクター分類器—— 表面上は異なる3つの手法が、高次元でほぼ同じ答えを出す秘密を解き明かす。
高次元分類の壁
1万6千の遺伝子発現量を測定して、144人の患者を14種類のがんに分類する—— これが本章の舞台となる問題です。
変数の数(p = 16,063)がサンプル数(N = 144)を100倍以上も上回っています。 下のアニメーションで、この「不均衡」の深刻さを感じてみてください。

線形判別分析(LDA)は、 クラス内の共分散行列の逆行列を使って分類します。 p×p の共分散行列を計算するとき、16,063×16,063 = 約2億6千万個の要素を推定することになります。 でも手元のデータは144点しかありません。
144点で2億6千万個のパラメータを推定しようとすれば——特異行列が生まれます。 逆行列が存在しなくなるのです。
では、何が「助けてくれる」のでしょうか?
それが正則化です。 特に今回は「二次(L₂)正則化」を使います。 この考え方は、過剰に複雑な推定を防ぐ「ブレーキ」として機能します。
正則化判別分析(RDA)——共分散行列を「縮小」する
線形判別分析が破綻する原因は、 「p×p の共分散行列を正確に推定できない」ことでした。 では、推定できない部分を賢く「諦める」のはどうでしょう?
正則化判別分析(RDA)はこのアイデアを実装します。 下のアニメーションで、行列がどのように「縮小」されていくか確認してください。

中心となる式は次のとおりです:
直感的に言えば:
- γ = 1 のとき: 元の共分散行列をそのまま使う(通常のLDA)
- γ = 0 のとき: 共分散行列を対角行列に縮小する(第18.2節の対角LDA)
- γ ∈ (0,1) のとき: 両者のブレンド
「対角行列に縮小する」とはどういう意味でしょうか?
共分散行列は、変数同士の「相関関係」を表します。 対角要素は各変数自身の分散(自己相関)。 非対角要素は変数間の相関(交差相関)です。
p ≫ N の世界では、変数間の相関を16,063×16,062個も推定するのは無謀です。 γ を小さくすることで、相関推定を徐々に「諦め」、対角成分(分散)だけに集中します。
γ はクロスバリデーションで選ぶと、適切な値が自動的に見つかります。 面白いことに、マイクロアレイの実験では γ ∈ (0.002, 0.550) のどの値でも 同じ交差検証誤差と汎化誤差が得られました——驚くほど頑健です。
この式の意味:$\hat{\Sigma}$ は全共分散行列、$\text{diag}(\hat{\Sigma})$ はその対角成分だけを残した行列。 γ が小さいほど相関推定を捨て、分散推定に集中します。
ロジスティック回帰に L₂ 正則化を加える
次は別のアプローチです。L₂ 正則化つきロジスティック回帰を考えます。
K クラスの多クラスロジスティック回帰では、 各クラスに係数ベクトル β_k を持ちます。 通常のロジスティック回帰を p ≫ N でそのまま使うと過学習します。

ペナルティ項を加えた目的関数を最大化します:
右辺のペナルティ λ∑_k ‖β_k‖₂² が「L₂ 正則化」です。 係数ベクトルが大きくなりすぎることを防ぎます。
一つ興味深い性質があります。正則化を加えると、自動的に
という制約が満たされます。 これは「どのクラスにも偏らない」バランスの取れた解が得られることを意味します。
さらに衝撃的な結果があります。データが完全に線形分離可能なとき (p ≫ N ではよく起こる)、λ → 0 とすると、 正則化ロジスティック回帰の解(正規化後)は 最大マージン分類器(SVM)の解に収束します。 つまり、ロジスティック回帰とSVMは高次元でつながっているのです!
サポートベクター分類器——高次元では単純化が自然に起こる
3つ目の手法はサポートベクター分類器(SVC)です。
p ≫ N の世界では、面白いことが起こります。 クラスは訓練データ上でほぼ完全に線形分離可能になりがちです。 考えてみれば当然です——16,000次元の空間で、144点を直線(超平面)で分けることは容易なのです。

そのため、正則化パラメータ C を無限大に設定しても(正則化なし)、 SVC は過学習しないことが多いのです。
これは驚くべき結果です。低次元では「正則化なし = 過学習」が常識ですが、 高次元ではその常識が崩れます。
多クラス分類への拡張も複数あります:
- 一対一法(OVO):全$\binom{K}{2}$対のクラスペアで2クラス分類器を訓練。 各テスト点について、最も多くの「勝利」を収めたクラスが勝者。
- 一対全法(OVA):各クラス k に対して「クラス k vs 全他クラス」の分類器を訓練。 テスト点では、K個の信頼スコア(超平面からの符号付き距離)を計算し、 最大スコアのクラスを予測。
実験では、ロジスティック回帰とSVCはほぼ同じ誤り率を示しました。 正則化パラメータ C の選択に対しても頑健でした(C > 0.001 なら同様)。
特徴量選択の意外な落とし穴
「16,000個の遺伝子は多すぎる。重要な遺伝子だけを選べばもっとうまくいくはずだ」—— 多くの人がそう考えます。しかし、実験は驚くべき結果を示しています。
サポートベクター分類器で遺伝子数を16,063から徐々に減らしていくと、 精度は下がり始めます。たった144サンプルしかないのに!

これはなぜでしょうか?
L₂ 正則化(二次正則化)は、全ての特徴量にゼロでない重みを与えます。 一見「無関係」に見える遺伝子も、集合的に情報を持っているのです。 個々の遺伝子の寄与は微小かもしれませんが、16,000個が組み合わさると 無視できない信号になります。
これが集合的弱信号という現象です。 個々は弱いが、多数集まると強くなる——ランダムフォレストの木の集合と似た発想です。
特徴量選択を行う場合は、再帰的特徴除去(RFE)などの方法がありますが、 この問題設定では多くの場合、全特徴量を使った方が良い結果が得られます。
SVD による計算の奇跡——p 次元を N 次元に圧縮する
ここで最も数学的に面白い部分に来ました。 p = 16,000 次元での計算は膨大なコストがかかります。 どうすれば効率的に計算できるのでしょうか?
鍵となる幾何学的観察があります:
p 次元空間にある N 個の点は、最大 (N-1) 次元の部分空間に収まる。

3次元空間の2点を考えてみてください。その2点は常に1次元(直線)の上にあります。 同様に、16,000次元空間の144点は、最大143次元の部分空間の中にあります。
これが特異値分解(SVD)を使った計算の節約につながります。 N × p の行列 X を SVD で分解します:
ここで:
- U: N × N の直交行列
- D: 対角行列(特異値 d₁ ≥ d₂ ≥ … ≥ d_N ≥ 0)
- V: p × N の行列(列が正規直交)
各データ点 x_i を r_i = d · u_i(N次元ベクトル)に変換すると—— リッジ回帰を含む「全ての二次ペナルティ付き線形モデル」で、p次元の問題がN次元の問題に変換できます!
リッジ回帰の等価な N 次元問題:
ここで R = UD(N×N行列)。計算が p 次元から N 次元に落ちます! 計算コストは O(p³) から O(pN²) に劇的に削減されます。 p = 16,000、N = 144 では、これは約 1億6千万倍の高速化です!
三つの手法の統一的理解
本節では3つの手法(RDA、L₂正則化ロジスティック回帰、SVC)を見てきました。 これらは表面上は異なる手法に見えますが、高次元では驚くほど似た結果を出します。

この理由は何でしょうか?
全ての手法に共通するのは:
この「共通構造」が、どの手法を選んでも似た精度をもたらすのです。
マイクロアレイのがん分類実験(144サンプル、16,063遺伝子、14クラス)では:
- 対角LDA(18.2節): 17/54 誤り
- 正則化判別分析: 16/54 誤り
- L₂正則化ロジスティック回帰: 12/54 誤り
- サポートベクター分類器: 12/54 誤り
どの手法も、シンプルな方法(単純なヒューリスティック)の約30/54誤りを 大幅に下回っています。
では、どれを選ぶべきでしょうか?
実用的な推奨:まず正則化ロジスティック回帰から始めましょう。 より解釈しやすく、多クラス問題でも自然に定式化できます。 SVMは2クラス問題で理論的に優れた保証があります。 RDAはLDAの自然な拡張として理解しやすい出発点です。
核心は「どの手法を選ぶかより、どう正則化するか」が重要、ということです。
まとめ——高次元の逆説
「次元の呪い」という言葉をご存知ですか? 高次元では距離概念が崩壊し、最近傍法が機能しなくなることを指します。
しかし本節で見てきたように、高次元には祝福もあります:

高次元の逆説:
- クラス分離が容易になる(超平面で分けやすい)
- N 点は (N-1) 次元部分空間に収まる(計算効率化)
- 多数の弱い特徴量が協調して強い信号を作る
二次正則化付き線形分類器は、この高次元の性質をうまく活用します。 特徴量の数が大幅に増えても、適切な正則化があれば過学習は抑制されます。
一方で、L₁ 正則化(Lasso など)では事情が異なります。 L₁ は自動的に特徴量選択を行いますが、SVDの計算ショートカットは使えません。 次節では、L₁ 正則化付き線形分類器を扱います。
高次元統計学習の旅は続きます——次は「スパース」な解を求める世界へ。