基本アルゴリズム
学習目標: 代表的な機械学習アルゴリズムの特徴と使い分けを理解する
アルゴリズム選択の指針
回帰(連続値予測)
価格、売上、気温など数値を予測
分類(カテゴリ予測)
スパム/非スパム、画像の種類など
クラスタリング(グループ分け)
顧客セグメント、類似文書など
教師あり学習アルゴリズム
データ点を通る最適な直線(または平面)を見つけるアルゴリズム
数式: y = wx + b
用途: 売上予測、価格推定、需要予測
長所: シンプル、解釈しやすい、計算が高速
短所: 非線形な関係を捉えられない
回帰
線形
シグモイド関数を使用して確率を予測する分類アルゴリズム
数式: P(y=1) = 1 / (1 + e^-(wx+b))
用途: スパム検出、病気診断、顧客離脱予測
長所: 確率出力、解釈可能、効率的
短所: 線形境界のみ
分類
確率的
条件分岐(if-then-elseルール)でデータを分割するアルゴリズム
構造: ルートノード → 内部ノード → 葉ノード
用途: 顧客分類、リスク評価、意思決定支援
長所: 直感的、解釈しやすい、前処理が少ない
短所: 過学習しやすい、不安定
回帰
分類
多数の決定木を組み合わせた集団学習(アンサンブル)手法
仕組み: 複数の決定木の多数決/平均で予測
用途: 信用スコアリング、医療診断、特徴量重要度分析
長所: 高精度、過学習しにくい、欠損値に強い
短所: 計算コスト、解釈性が低下
回帰
分類
アンサンブル
データを分離する最適な境界(超平面)を見つけるアルゴリズム
カーネルトリック: 非線形分離も可能
用途: テキスト分類、画像認識、バイオインフォマティクス
長所: 高次元データに強い、汎化性能が高い
短所: 大規模データで遅い、ハイパーパラメータ調整が重要
分類
マージン最大化
教師なし学習アルゴリズム
K-means クラスタリング
データをK個のグループに分割するアルゴリズム
- K個の中心点をランダムに配置
- 各データ点を最寄りの中心に割り当て
- 各クラスタの中心を再計算
- 2-3を収束まで繰り返し
主成分分析 (PCA)
高次元データを低次元に圧縮するアルゴリズム
- データの分散が最大となる方向を見つける
- 重要な特徴を保持しながら次元を削減
- 可視化やノイズ除去に使用
アルゴリズム比較表
| アルゴリズム | タスク | 解釈性 | 計算速度 | データ量 |
|---|---|---|---|---|
| 線形回帰 | 回帰 | ⭐⭐⭐ | ⭐⭐⭐ | 小〜中 |
| 決定木 | 分類/回帰 | ⭐⭐⭐ | ⭐⭐ | 小〜中 |
| ランダムフォレスト | 分類/回帰 | ⭐⭐ | ⭐⭐ | 中〜大 |
| SVM | 分類 | ⭐ | ⭐ | 小〜中 |
| ニューラルネット | すべて | ⭐ | ⭐ | 大 |
理解度チェック
Q. 顧客を「購入しそう/購入しなさそう」に分類したい場合、適切なアルゴリズムは?