02.2
線形分類
scikit-learn のコードと解説の順で読めるようにしてあり、最後の 4 本のベンチマークで高次元・不均衡・ラベルノイズ・混合型特徴量のデータに対する手法の強弱を比べます。直感 #
同じ 2 クラスの点を見ても、ロジスティック回帰は「全点の確率が最もよく合う直線」、パーセプトロンは「誤分類が 0 になった最初の直線」、SVM は「両クラスから最も遠い直線」を引きます。手法名を覚えるより、この「どの基準で境界を選んでいるか」を押さえると、make_moons のような三日月データに直線を引いてはいけない理由や、不均衡データで class_weight="balanced" が効く理由が見えてきます。
詳細な解説 #
このチャプターで学べること #
- 代表的な手法の目的・前提・出力の違い
- 精度指標と誤差分析の見方
- 実装時に性能を左右する主要パラメータ
これが分かるとできること #
- 課題とデータ特性に応じて適切な手法を選択できる
- 結果を F1 や MCC で評価し、改善の優先順位を説明できる
- 再現可能な手順で実装・検証を進められる
手法クイックリファレンス #
| 手法 | 特徴 | 計算量 | 推奨場面 |
|---|---|---|---|
| ロジスティック回帰 | 確率出力あり・解釈性高 | 低 | 二値分類のベースライン |
| SVM | マージン最大化 | 中〜高 | 高次元・少量データ |
| Naive Bayes | 高速・テキスト向き | 低 | テキスト分類・スパム検知 |
| KNN | 非パラメトリック | 予測時高 | 小規模・局所パターン |
| パーセプトロン | 線形分離の基本 | 低 | 学習用・線形分離可能 |
| 線形判別分析 | クラス分離最大化 | 低 | 次元削減と分類の同時実行 |
| Softmax回帰 | 多クラス対応 | 低 | 多クラスのベースライン |
学習の進め方 #
まず ロジスティック回帰 で「直線 \(\mathbf{w}^\top \mathbf{x} + b = 0\) を境界にし、シグモイドで確率を出す」という土台を押さえます。次に、同じ直線を別の基準で選ぶ パーセプトロン・線形判別分析・SVM を読み、ステップ再生で境界の動き方を見比べます。そのうえで、確率の掛け算で分ける Naive Bayes と距離の多数決で分ける KNN に進むと、境界が曲線になる理由が分かります。最後に 4 本のベンチマーク(高次元・不均衡・ラベルノイズ・混合型特徴量)で、F1-macro や MCC といった指標を使って手法の強弱を確かめ、改善のサイクルを回します。
まとめ #
このチャプターでは、ロジスティック回帰・SVM・Naive Bayes・KNN・パーセプトロン・線形判別分析・Softmax 回帰という 7 つの分類手法を、「境界をどの基準で引くか」という 1 つの軸で学びます。各手法の前提条件(線形分離可能性・特徴量の独立性・データ規模)を理解し、二値分類から多クラス分類まで、課題に応じた手法選択と評価指標の組み合わせを判断できるようになることがゴールです。StandardScaler を挟む、C や k を交差検証で選ぶ、Accuracy だけでなく F1 や MCC を見る、という 3 つの習慣は全ページに共通します。