青の統計学-DS Playground-

判別分析・SVM・ROC・クラスタリング

Stage 5 — 第2章 | 統計検定準1級チートシート 推定学習時間:100〜120分 | 難易度:★★★★☆


このページで押さえること

判別分析とSVMはラベルありデータの分類、クラスタリングはラベルなしデータのグループ化です。 準1級では、手法名ではなく、目的変数の有無、境界の形、距離、評価指標を見て選ぶ力が必要です。

このページを終えると、こんなことができるようになります:

  • Fisher線形判別を群間分散と群内分散の比で説明できる
  • 線形判別と2次判別の仮定の違いを説明できる
  • SVMをマージン最大化として説明できる
  • 混同行列、感度、特異度、ROC、AUCを使い分けられる
  • 階層クラスタリング、k-means、距離行列の基本を説明できる

2級ではここまで、準1級ではここが増える

2級では、分類は主にロジスティック回帰や単純な分け方の発想まで、評価も正解率(accuracy)が中心でした。境界の形や、閾値を動かしたときの性能変化までは深く問われません。

準1級では、境界を生む仮定(共分散が群で等しいか)、SVMのマージン最大化、閾値に依存しない評価(ROC/AUC)、そして教師なしのクラスタリングまでを、目的に応じて選び分けることが問われます。

観点 2級でのレベル 準1級で増える点
分類境界 直線的に分ける発想 LDA/QDAの仮定差・SVMのマージン最大化
評価 正解率が中心 感度・特異度・ROC・AUCで閾値を意識
群構造 (ほぼ扱わない) クラスタリングで距離・標準化を設計

つまり準1級では「分類できた/できない」で止まらず、どんな仮定で境界が決まるか・どの閾値で何を最適化するか・ラベルが無いとき距離をどう設計するかを区別できることが問われます。


1. 判別分析の目的

判別分析は、観測値 $x$ がどの群に属するかを予測する教師あり分類です。 群ラベルが既知の訓練データから、分類規則を作ります。

2群の平均ベクトルを $\mu_1,\mu_2$、共通共分散行列を $\Sigma$ とします。 線形判別分析では、群の共分散が等しいと仮定します。 このとき判別境界は線形になります。

Fisher判別では、射影方向 $a$ を選び、射影後の群平均の差を群内ばらつきに比べて大きくします。 目的は概念的に、

\[ \max_a \frac{\{a^\top(\mu_1-\mu_2)\}^2} {a^\top S_W a} \]

です。 解は、

\[ a\propto S_W^{-1}(\mu_1-\mu_2) \]

になります。

この方向は、群間の平均差 $\mu_1-\mu_2$ を群内のばらつき $S_W$ で「割り戻した」向きです。 群内で広がりやすい方向ほど差し引いて評価するため、単純な平均差ベクトルの向きとは一般に一致しません。

📘 前提知識:分類では「境界」と「評価」を分ける

判別分析やSVMは、特徴量空間に分類境界を作ります。 その境界から得られるスコアをどこで陽性と切るかによって、感度や特異度が変わります。 ROCは、閾値を動かしたときの性能変化を見るための図です。


2. 線形判別と2次判別

正規分布を仮定し、各群の共分散行列が等しい場合、対数事後確率の差は $x$ の一次式になります。 これが線形判別です。

各群で共分散行列が異なる場合、判別関数に二次項が残ります。 これが2次判別です。

手法 共分散の仮定 境界 注意点
LDA 群で共通 線形 安定しやすい
QDA 群ごとに異なる 2次曲線 パラメータが多い

QDAは柔軟ですが、標本サイズが小さいと共分散推定が不安定になります。


3. SVM

📘 前提知識:マージン最大化は「いちばん際どい点」を基準に線を引く

2群を分ける直線は無数に引けますが、SVMは「境界から最も近い点までの余白(マージン)」がいちばん広くなる線を選びます。 道路の中央線を、両側のガードレールからできるだけ等しく遠ざけて引くイメージです。 余白を最大化するほど、新しいデータが多少ずれても誤分類しにくくなります。

SVMは、分類境界とデータ点の距離であるマージンを最大化する分類手法です。 線形分離可能な場合、境界を

\[ w^\top x+b=0 \]

とし、制約

\[ y_i(w^\top x_i+b)\ge 1 \]

の下で

\[ \frac{1}{2}\|w\|^2 \]

を最小化します。 これはマージンを最大化することに対応します。

完全に分離できない場合は、スラック変数 $\xi_i$ を入れて

\[ \frac{1}{2}\|w\|^2+C\sum_i\xi_i \]

を最小化します。 $C$ はマージンの広さと誤分類許容のトレードオフを制御します。

カーネル法を使うと、入力を高次元特徴空間へ写したかのように非線形境界を作れます。

次の図では、分類境界そのものではなく、境界から最も近い点までの余白に注目する。

2群分類でSVMの分類境界、マージン、サポートベクトル、非線形カーネル境界を示す図

SVMは、境界に最も近い点との余白であるマージンを最大化する。

境界を決めるのはすべての点ではなく、境界近くのサポートベクトルである。カーネルを使うと、入力空間では非線形な境界を作れる。


4. 混同行列と評価指標

二値分類では、混同行列を使います。

予測陽性 予測陰性
実際陽性 TP FN
実際陰性 FP TN

感度は、実際陽性を陽性と判定できる割合です。

\[ Sensitivity=\frac{TP}{TP+FN} \]

特異度は、実際陰性を陰性と判定できる割合です。

\[ Specificity=\frac{TN}{TN+FP} \]

適合率は、予測陽性のうち実際に陽性である割合です。

\[ Precision=\frac{TP}{TP+FP} \]

疾患検査の文脈では、感度・特異度・陽性的中率の違いが頻出です。


5. ROCとAUC

分類スコアの閾値を動かすと、感度と偽陽性率が変わります。 偽陽性率は、

\[ FPR=1-Specificity=\frac{FP}{FP+TN} \]

です。 ROC曲線は、横軸にFPR、縦軸に感度を取った曲線です。

AUCはROC曲線下面積です。 AUCが大きいほど、陽性例に陰性例より高いスコアを与えやすい分類器です。 閾値を固定した正解率とは違い、スコアの順位付け能力を見ます。

クラス不均衡が強い場合、正解率だけでは性能を誤解します。 陽性が少ないデータでは、感度、適合率、PR曲線も重要です。

次の図では、分類スコアの閾値を動かすと、TPRとFPRが同時に変わることを見る。

分類スコアの閾値を動かしたときの混同行列、感度、偽陽性率、ROC曲線、AUCの関係図

ROC曲線は、閾値を動かしたときの感度と偽陽性率のトレードオフを表す。

AUCは特定の閾値での正解率ではなく、陽性例を陰性例より高く順位づける力を測る。クラス不均衡では正解率だけを見ない。


6. 小さな計算例:混同行列から感度・特異度・適合率を求める

ここまでの「混同行列・感度・特異度・適合率」を、1つの数値例でつなげます。 ある検査を100人に行い、次の混同行列が得られたとします。

予測陽性 予測陰性 合計
実際陽性 40 10 50
実際陰性 20 30 50

ここから $TP=40,\ FN=10,\ FP=20,\ TN=30$ です。 感度は、実際陽性のうち陽性と当てた割合なので、

\[ Sensitivity=\frac{TP}{TP+FN}=\frac{40}{50}=0.80 \]

です。特異度は、実際陰性のうち陰性と当てた割合なので、

\[ Specificity=\frac{TN}{TN+FP}=\frac{30}{50}=0.60 \]

です。適合率は、陽性と予測したもののうち実際に陽性だった割合なので、

\[ Precision=\frac{TP}{TP+FP}=\frac{40}{60}\approx0.667 \]

です。偽陽性率は、

\[ FPR=1-Specificity=\frac{FP}{FP+TN}=\frac{20}{50}=0.40 \]

なので、この閾値はROC平面上の点 $(FPR,\ TPR)=(0.40,\ 0.80)$ に対応します。 閾値を下げて陽性判定を増やすと、感度(TPR)も偽陽性率(FPR)も同時に上がり、この点が動いた軌跡がROC曲線になります。

指標
感度(TPR) $TP/(TP+FN)$ $0.80$
特異度 $TN/(TN+FP)$ $0.60$
適合率 $TP/(TP+FP)$ $\approx0.667$
偽陽性率(FPR) $1-$特異度 $0.40$

試験では、混同行列の4つの数からこれらを正確に作り分け、感度と適合率を混同しないことが要点です。

関連教材(青の統計学)


7. 階層クラスタリング

クラスタリングはラベルなしデータを似たもの同士に分ける教師なし手法です。 階層クラスタリングでは、個体間距離とクラスタ間距離を定義し、クラスタを順に統合または分割します。

代表的なクラスタ間距離は次の通りです。

方法 距離の定義 特徴
最近隣法 最も近いペア 鎖状になりやすい
最遠隣法 最も遠いペア コンパクトなクラスタ
群平均法 全ペア距離の平均 中庸
Ward法 クラスタ内平方和の増加 球状クラスタ向き

結果はデンドログラムで表します。 どこで切るかによりクラスタ数が決まります。


8. k-means

k-meansは、あらかじめクラスタ数 $k$ を決め、クラスタ内平方和を小さくする手法です。 目的関数は、

\[ \sum_{r=1}^{k}\sum_{i\in C_r}\|x_i-\bar x_r\|^2 \]

です。 各点を最も近い中心に割り当て、中心を更新する操作を繰り返します。

k-meansは単純で高速ですが、初期値に依存し、球状・同程度サイズのクラスタを仮定しやすいです。 外れ値にも影響されます。

関連教材(青の統計学)


9. 距離と標準化

クラスタリングでは距離の定義が結果を大きく左右します。 ユークリッド距離は、

\[ d(x,y)=\sqrt{\sum_j(x_j-y_j)^2} \]

です。 マンハッタン距離は、

\[ d(x,y)=\sum_j|x_j-y_j| \]

です。

変数の尺度が異なる場合、標準化しないと尺度の大きい変数が距離を支配します。 距離に基づく手法では、標準化の要否を最初に確認します。


10. 問題文トリガー辞書

問題文の表現 選ぶ手法 見る量 典型ミス
「群ラベルあり」 判別分析/SVM 分類境界 クラスタリングにする
「共分散が等しい」 LDA 線形境界 QDAと混同
「マージン最大化」 SVM サポートベクトル 最近傍法と混同
「感度・特異度」 分類評価 混同行列 正解率だけ見る
「閾値を動かす」 ROC/AUC FPRとTPR AUCを特定閾値の性能と読む
「ラベルなし」 クラスタリング 距離・類似度 判別分析にする

11. 典型ミス・ひっかけ

ミス なぜ危ないか 防ぎ方
判別分析とクラスタリングを混同する 教師あり/なしが違う ラベルの有無を最初に見る
AUCを正解率と同一視する AUCは順位付け性能 閾値固定か閾値可変か確認
クラス不均衡で正解率だけを見る 多数派予測で高く見える 感度・特異度・適合率を見る
k-meansでクラスタ数を自動決定できると思う $k$ は事前指定 複数kで評価
距離計算前の標準化を忘れる 尺度が結果を支配 変数尺度を確認

12. 解法テンプレ

分類・クラスタリングの問題は、次の順で処理します。

  1. ラベルの有無を確認する(あり→判別分析/SVM、なし→クラスタリング)。
  2. 教師ありなら、群の共分散が等しい仮定か(LDA)異なる仮定か(QDA)、マージン最大化か(SVM)を読む。
  3. 評価が「ある閾値での正解率」か「閾値に依らない順位付け」かを区別する。
  4. 混同行列が与えられたら、感度・特異度・適合率・FPRを定義通り作り分ける。
  5. 閾値を動かす問題なら、ROC平面上で $(FPR,\ TPR)$ がどう動くかを考え、AUCは順位付け能力と読む。
  6. 教師なしなら、距離の定義と標準化の要否を最初に決め、k-meansは $k$ を事前指定・初期値依存に注意する。
  7. クラス不均衡では、正解率だけで性能を判断しない。

13. ここで1問

分類・クラスタリングを整理したら、演習で「ラベルの有無」と「どの評価指標で比べているか」を意識して解きます。

このページの確認問題

関連教材(青の統計学)


14. 次に読むページ

次は、多次元尺度法、正準相関、対応分析、数量化法を扱います。 距離、関連、カテゴリデータの構造を低次元で読む方法へ進みます。