2
機械学習の基礎
まとめ
- 教師あり学習(回帰・分類)から教師なし学習(クラスタリング・次元削減)まで、代表的な手法の原理と使いどころを体系的に学ぶ。
- 各アルゴリズムが「何を最適化しているか」を数式レベルで押さえ、手法選択の判断軸を身に付ける。
- scikit-learnによる実装を通じて、理論と実務の接続を確認する。
直感 #
機械学習の手法は数多くあるが、問われることは1つ。データから未知を推定するとき、どのモデルをどう使うか。このセクションでは、回帰・分類・木モデル・アンサンブル・クラスタリング・次元削減・特徴選択・異常検知の8つの柱を順に学び、手法選択の判断軸を組み立てる。
詳細な解説 #
このセクションで学べること #
- 回帰 — 連続値の予測。線形回帰・リッジ・ラッソなど正則化の考え方と過学習の制御
- 線形分類 — カテゴリの判別。ロジスティック回帰・SVM・パーセプトロンなど決定境界の引き方
- 決定木 — ルールベースの分岐。情報利得・ジニ不純度による分割と、木の深さ制御
- アンサンブル — 複数モデルの統合。バギング(Random Forest)とブースティング(XGBoost / LightGBM)の戦略の違い
- クラスタリング — ラベルなしデータのグルーピング。K-Means・DBSCAN・階層的手法の特性比較
- 次元削減 — 高次元データの圧縮。PCA・t-SNE・UMAPなど線形・非線形手法の使い分け
- 特徴選択 — モデルに効く変数の絞り込み。フィルター法・ラッパー法・埋め込み法の比較
- 異常検知 — 正常から外れたデータの検出。Isolation Forestやルールベース検知の適用場面
これがわかるとできること #
- 課題の性質(分類か回帰か、ラベルの有無、データ規模)に応じて適切な手法を選べる
- ハイパーパラメーターの意味を理解し、根拠を持って調整できる
- 精度指標の読み方を踏まえて、モデルの改善サイクルを自力で回せる
学習の進め方 #
- まず回帰と分類で教師あり学習の基本パターンを押さえる
- 決定木・アンサンブルでモデルの複雑さと汎化のトレードオフを理解する
- クラスタリング・次元削減・特徴選択で教師なし学習と前処理の手法を広げる
- 異常検知で実務寄りの応用パターンに触れる
アルゴリズム選択フローチャート #
データの性質と目的に応じた手法選びの出発点として活用してください。
flowchart TD
START["目的変数(ラベル)はあるか?"]
START -->|あり| SUP["教師あり学習"]
START -->|なし| UNSUP["教師なし学習"]
SUP --> STYPE{"目的変数の型は?"}
STYPE -->|連続値| REG["回帰"]
STYPE -->|カテゴリ| CLF["分類"]
REG --> RLIN{"線形関係が<br>強そう?"}
RLIN -->|Yes| R1["線形回帰 / Ridge / Lasso"]
RLIN -->|No| R2{"データ量は?"}
R2 -->|少ない| R3["SVR / 多項式回帰"]
R2 -->|多い| R4["XGBoost / LightGBM"]
CLF --> CLIN{"特徴量が多い?<br>or 線形分離可能?"}
CLIN -->|Yes| C1["ロジスティック回帰 / SVM"]
CLIN -->|No| C2{"解釈性は重要?"}
C2 -->|Yes| C3["決定木 / RuleFit"]
C2 -->|No| C4["Random Forest / XGBoost"]
UNSUP --> UTYPE{"目的は?"}
UTYPE -->|グルーピング| CLUST["クラスタリング"]
UTYPE -->|次元圧縮・可視化| DIM["次元削減"]
UTYPE -->|外れ値検出| ANOM["異常検知"]
CLUST --> CK{"クラスター数は<br>既知?"}
CK -->|Yes| CK1["k-means / GMM"]
CK -->|No| CK2["DBSCAN / HDBSCAN"]
DIM --> DLIN{"線形で十分?"}
DLIN -->|Yes| D1["PCA / SVD"]
DLIN -->|No| D2["t-SNE / Isomap"]
ANOM --> A1["Isolation Forest / ADTK"]
style START fill:#2563eb,color:#fff
style SUP fill:#1e40af,color:#fff
style UNSUP fill:#1e40af,color:#fff
style REG fill:#3b82f6,color:#fff
style CLF fill:#3b82f6,color:#fff
style CLUST fill:#3b82f6,color:#fff
style DIM fill:#3b82f6,color:#fff
style ANOM fill:#3b82f6,color:#fff
手法クイックリファレンス #
| カテゴリ | 手法 | 特徴 | 推奨場面 |
|---|---|---|---|
| 線形回帰 | 線形回帰 | 解釈性が高い | ベースライン・線形関係 |
| 正則化回帰 | Ridge / Lasso | 過学習を抑制 | 特徴量が多いとき |
| 線形分類 | ロジスティック回帰 | 確率出力あり | 二値分類のベースライン |
| マージン分類 | SVM | 高次元に強い | テキスト分類・少量データ |
| 決定木 | 決定木 | ルールが可読 | 解釈性が必要なとき |
| バギング | Random Forest | 安定性が高い | 汎用的な高精度モデル |
| ブースティング | XGBoost / LightGBM | 最高精度 | コンペ・大規模データ |
| セントロイド | k-means | 高速・シンプル | 球状クラスター |
| 密度ベース | DBSCAN | 形状自由 | 不定形クラスター |
| 線形次元削減 | PCA | 分散最大化 | 前処理・可視化 |
| 非線形次元削減 | t-SNE | 局所構造保存 | 高次元データの可視化 |
| 異常検知 | Isolation Forest | 教師なし | 外れ値スクリーニング |