教師あり学習の枠組み
特徴量(入力)と教師データ(正解)のペアから、入力と出力の対応関係を学習します。出力が連続値(売上高、気温)なら回帰問題、離散的なカテゴリ(迷惑メールか否か、犬か猫か)なら分類問題です。クラスが3つ以上の分類は多クラス分類で、2値分類器をクラスごとに用意する一対他(one-vs-rest)などで実現します。
線形モデル
- 線形回帰: 説明変数の線形結合で目的変数を予測。説明変数が1つなら単回帰分析、複数なら重回帰分析。係数から各変数の影響が読み取れる
- ロジスティック回帰: 線形結合にシグモイド関数を適用して「事象が起きる確率」を出力する分類モデル。名前に回帰とあるが分類に使う
- 自己回帰モデル(AR): 時系列で過去の自分自身の値の線形結合から将来を予測。複数の時系列を同時に扱うのがベクトル自己回帰モデル(VAR)
サポートベクターマシン(SVM)
クラスを分ける境界と、境界に最も近いデータ点(サポートベクター)との距離(マージン)を最大にするように境界を決めます。直線で分けられないデータは、高次元空間に写像して線形分離します。写像後の内積をカーネル関数で元の空間のまま計算する工夫がカーネルトリックです。
決定木とアンサンブル学習
決定木は「年齢は30歳以上か」のような条件で段階的に分岐させるモデルで、分類にも回帰にも使え、判断の過程を人が読めます。深くすると過学習しやすい弱点があります。
| 手法 | 仕組み | 代表例 |
|---|---|---|
| バギング | ブートストラップサンプリング(復元抽出)で作った複数のデータセットで並列にモデルを学習し、多数決や平均を取る | ランダムフォレスト(特徴量もランダムに選ぶ) |
| ブースティング | 弱い学習器を逐次的に追加し、前のモデルの誤りを次のモデルが補う | 勾配ブースティング(XGBoost、LightGBM) |
試験で問われる観点
- 回帰と分類の区別(連続値か離散カテゴリか)
- ロジスティック回帰は分類、単回帰と重回帰の違い
- マージン最大化、カーネルトリックの目的
- バギング(並列)とブースティング(逐次)の違い