AI

教師あり学習の代表的な手法

AI

教師あり学習は手法が多く、名前だけ覚えても試験で迷いやすい分野です。代表的な手法を一覧表で整理し、G検定で狙われる要点に絞って解説します。

こんにちは、zawato(@zawato7)です!

本記事はディープラーニング入門ロードマップの第5回です。

この記事でわかること
  • 回帰問題と分類問題の違いと、手法ごとの使い分け
  • ロジスティック回帰が「分類」に使われる理由
  • バギングとブースティングの違い、SVMの3点セット

 

 

まず「回帰問題」と「分類問題」を分ける

教師あり学習は、数値を予測する回帰問題と、カテゴリを予測する分類問題の2つに分かれます。

回帰は「アイスの売上は400個」のような連続した数値、分類は「犬か猫か」のようなラベルを当てます。予測に使う項目が説明変数、予測したい項目が目的変数です。

 

 

代表的な手法の一覧

手法名・回帰か分類か・特徴の3点をセットで覚えるのが近道です。

手法回帰・分類の別特徴
線形回帰回帰データに最も当てはまる直線を引く。説明変数1つが単回帰、複数が重回帰
ロジスティック回帰分類名前に反して分類に使う。シグモイド関数で0〜1の確率に変換
決定木回帰・分類条件分岐を繰り返して予測。結果の解釈がしやすい
ランダムフォレスト回帰・分類決定木のバギング。木を並列に作り平均や多数決を取る
勾配ブースティング回帰・分類決定木を逐次的に作り前の誤りを修正。XGBoostが代表
サポートベクターマシン(SVM)主に分類マージンが最大になる境界線を引く
自己回帰モデル(ARモデル)回帰時系列で、過去の自分の値から予測する

特につまずきやすいのがロジスティック回帰です。名前は「回帰」でも用途は分類。直接問われるので注意してください。

 

 

アンサンブル学習|バギングとブースティング

アンサンブル学習は複数のモデルを組み合わせて汎化性能を高める手法で、バギングとブースティングの2系統があります。

バギングは、単純なモデルをたくさん作って結果を多数決(回帰なら平均)でまとめます。全員が同時に意見を出す会議のようなもので、各モデルが独立しているため並列に計算できます。決定木で行うのがランダムフォレストで、学習データは重複を許して選ぶブートストラップサンプリングを使います。

ブースティングは、うまく予測できなかったデータに重みを付けて次のモデルを学習させます。前の担当者が落とした問題を次が引き取るリレー方式のため、逐次的にしか処理できず時間がかかります。AdaBoostや勾配ブースティング(XGBoost・LightGBM)が代表例です。「バギングは並列・ブースティングは逐次」が定番の出題です。

 

 

SVMは3点セットで覚える

サポートベクターマシン(SVM)は、マージン最大化・ソフトマージン・カーネルトリックの3つをセットで押さえます。

  • マージン最大化:境界線と最も近いデータ点との余白(マージン)が最大になるように境界を引きます。どちらのグループからも一番遠い場所に線を引く発想です
  • ソフトマージン:現実のデータはきれいに分かれません。一部がマージンに入るのを許容する方式で、1つも入れないのがハードマージンです
  • カーネルトリック:直線で分けられないデータを、より高い次元に写像して線形分離可能にする発想です。写像に使う関数をカーネル関数と呼びます

 

 

まとめ

  • 教師あり学習は、数値を当てる回帰問題とカテゴリを当てる分類問題に分かれる
  • ロジスティック回帰は名前に反して分類。シグモイド関数で確率を出す
  • バギング(並列)とブースティング(逐次)の違い、SVMの3点セットが頻出

 

 

よくある質問

Q. ロジスティック回帰は回帰と分類のどちらですか?
A. 分類です。線形回帰の出力をシグモイド関数(ロジスティック関数)で0〜1の値に変換し、確率とみなします。一般に0.5を閾値として正例と負例に分けます。

Q. ランダムフォレストと勾配ブースティングはどちらが速いですか?
A. ランダムフォレストです。バギングは各決定木を独立に作れるため並列処理できますが、ブースティングは前のモデルの誤りを見てから次を作るため逐次処理になります。

Q. カーネルトリックは何のための工夫ですか?
A. 直線では分けられないデータを扱う工夫です。より高い次元に写像すると線形分離できる場合があり、その計算を効率よく行うテクニックを指します。

 

 

コメント