機械学習 初級

Classical Machine Learning

初級(大学1-2年レベル)

この章について

初級では、古典的な機械学習アルゴリズムを学ぶ。線形回帰から始め、分類、決定木、アンサンブル学習へと進む。各手法の数学的基礎を理解し、適切な評価方法を身につけることが目標である。「なぜこの手法を選ぶのか」を説明できるようになる。

前提知識

  • 入門レベルの内容(学習の種類、基本概念)
  • 線形代数の基礎(行列、ベクトル)
  • 微分の基礎(偏微分、勾配)
  • 確率・統計の基礎(期待値、分散)

目次

1. 線形回帰

最も基本的なモデル。

  • 最小二乗法
  • 正規方程式
  • 勾配降下法

2. 多項式回帰と正則化

過学習を防ぐ。

  • 多項式特徴量
  • Ridge 回帰(L2 正則化)
  • Lasso 回帰(L1 正則化)

3. ロジスティック回帰

分類問題への拡張。

  • シグモイド関数
  • 最尤推定
  • 決定境界

4. 多クラス分類

2クラス以上の分類。

  • One-vs-Rest
  • One-vs-One
  • ソフトマックス回帰

5. 決定木

解釈可能なモデル。

  • 分割基準(エントロピー、Gini)
  • 木の成長と剪定
  • 特徴量の重要度

6. アンサンブル学習

複数モデルの組み合わせ。

  • バギング
  • ランダムフォレスト
  • ブースティング(AdaBoost, GBDT)

7. サポートベクターマシン

マージン最大化。

  • 線形 SVM
  • カーネルトリック
  • ソフトマージン

8. k-近傍法

最もシンプルな手法。

  • 距離の定義
  • k の選び方
  • 次元の呪い

9. 評価指標

性能をどう測るか。

  • 精度、適合率、再現率、F1
  • 混同行列
  • ROC 曲線と AUC

10. 交差検証とモデル選択

汎化性能の評価。

  • ホールドアウト法
  • k-分割交差検証
  • ハイパーパラメータ調整

11. 特徴量エンジニアリング

データ前処理と特徴量設計。

  • カテゴリ変数エンコーディング
  • 欠損値処理・スケーリング
  • 特徴量選択・特徴量生成

副読本(読み物)

章で学んだ手法を、図解で幾何的・直感的に深掘りする読み物。

主要な概念・手法

線形回帰の目的関数

パラメータ $\boldsymbol{w}$ を次の二乗誤差を最小化するように求める: $$\min_{\boldsymbol{w}} \displaystyle\sum_{i=1}^{n} (y_i - \boldsymbol{w}^\top \boldsymbol{x}_i)^2$$

正則化

Ridge 回帰:$\min_{\boldsymbol{w}} \displaystyle\sum_i (y_i - \boldsymbol{w}^\top \boldsymbol{x}_i)^2 + \lambda \|\boldsymbol{w}\|_2^2$
Lasso 回帰:$\min_{\boldsymbol{w}} \displaystyle\sum_i (y_i - \boldsymbol{w}^\top \boldsymbol{x}_i)^2 + \lambda \|\boldsymbol{w}\|_1$
正則化により過学習を抑制し、汎化性能を向上。

ロジスティック回帰

確率 $P(y=1|\boldsymbol{x}) = \sigma(\boldsymbol{w}^\top \boldsymbol{x})$ をモデル化($\sigma$ はシグモイド関数)。交差エントロピー損失を最小化。

バイアス-バリアンス分解

期待二乗誤差 $= \text{Bias}^2 + \text{Variance} + \text{Noise}$。モデルの複雑さを上げるとバイアスが減りバリアンスが増える。

ランダムフォレスト

多数の決定木をバギングで学習し、予測を平均(回帰)または多数決(分類)。各木は特徴量のランダムサブセットを使用。

このレベルで理解できる応用

住宅価格予測

線形回帰・Ridge 回帰で住宅価格をモデル化。特徴量エンジニアリングの練習にも最適。

スパムフィルタ

ナイーブベイズやロジスティック回帰でメールを分類。テキスト特徴量の扱いを学ぶ。

クレジットカード不正検知

不均衡データにおける分類。適合率・再現率のトレードオフが重要。

顧客セグメンテーション

k-means クラスタリングで顧客を分類。教師なし学習の実践。

学習のポイント

  • 数学を逃げない:損失関数と最適化を理解する
  • 手法の選び方:データの性質に応じて手法を選ぶ
  • 評価を正しく:テストデータの汚染を避ける
  • ベースラインを作る:まず単純なモデルで基準を設定

よくある質問(FAQ)

機械学習入門(初級)で学ぶ主な内容は何ですか?
線形回帰・正則化(Lasso/Ridge)・ロジスティック回帰・多クラス分類・決定木・アンサンブル学習(ランダムフォレスト・GBDT)・SVM・k-NN・評価指標・交差検証といった機械学習の基礎アルゴリズムと評価手法を扱います。
初級の機械学習を学ぶ前提知識は何ですか?
線形代数(行列・ベクトル演算)・微分積分(勾配・最小化)・基礎統計(平均・分散・確率分布)・Pythonの基礎(NumPy・Pandas・scikit-learn)が前提です。入門(intro)レベルを先に学んでおくことを推奨します。
scikit-learnでモデルを学習させる基本的な流れは?
①データの読み込みと前処理(欠損補完・標準化)→②モデルのインスタンス化(例: LinearRegression())→③fit(X_train, y_train)で学習→④predict(X_test)で予測→⑤評価指標で性能確認、が基本的な流れです。