見出し画像

教師あり学習の機械学習アルゴリズムの全体像を整理する

書籍『LightGBM予測モデル実装ハンドブック』から、「第1章-2 予測モデルの概要-機械学習アルゴリズム」のうち、「機械学習アルゴリズムの全体像」を公開します。

機械学習アルゴリズム

教師あり学習の機械学習アルゴリズムの全体像を整理して、ハンズオン対象のアルゴリズムを確認します。続いて、線形回帰と決定木を比較します。最後に、決定木を用いたアンサンブル学習を紹介し、ブースティングとバギングの違いを確認します。
※noteでは、「決定木を用いたアンサンブル学習」および「勾配ブースティングのライブラリ」は次回ご紹介します。

機械学習アルゴリズムの全体像

機械学習アルゴリズムは予測モデルの式の仮定、最適化に使用する目的関数、最適化の計算方法、データの取得方法などに独自の工夫があり、同じ学習データでもアルゴリズムごとに異なる予測値になります。
機械学習ライブラリscikit-learnは、予測モデルの開発に必要なAPIを提供し、主要な機械学習アルゴリズムを網羅しています。教師あり学習は、データの目的変数が連続値(数値)か、離散値(カテゴリ値)かで回帰と分類のタスクに分かれます。
scikit-learn algorithm cheat-sheet[1]は、回帰と分類の代表的なアルゴリズムを整理しています。

本書が扱うLightGBMは、勾配ブースティングというアルゴリズムに属する手法です。本書では回帰と分類の基本的なアルゴリズムと共に、勾配ブースティングを対象にハンズオンします。図1.5の実装が「〇」のアルゴリズムはハンズオンの対象です。

本書では勾配ブースティングに関連した手法として、「線形回帰」を使用した手法と「決定木」を基にした手法の2つにスポットを当てます。

線形回帰

予測値は特徴量と線形の関係という仮定をおきます。特徴量は人間が指定するので、特徴量の意味を解釈できれば、予測値の解釈性が高い点が強みです。また、線形性の仮定のおかげで、学習データが小さくても過学習しづらい特性があります(ただし、2乗項や3乗項など高次の特徴量を追加し、モデルを複雑にした場合は過学習します)。弱みは決定木系アルゴリズムに比べると精度が劣る点です。実務で高い解釈性を求められる場合やデータ量が限られていて過学習を避けたい場合に有効です。

その他の機械学習アルゴリズム
テーブルデータの予測モデル作成には、図1.5のアルゴリズムの他に、サポートベクターマシンやK近傍法があります。サポートベクターマシンは高い表現力を持つモデルですが、データサイズが大きいと学習に時間がかかるため、業務システムのような巨大なデータベースでの予測モデルの構築などでは避けるケースもあります。また、K近傍法もデータサイズが大きいと避ける傾向にあり、本書の対象外とします。

ワンポイント

線形回帰とロジスティック回帰は勾配ブースティングの基礎を含んでいるため、ハンズオンの対象とします。また、Ridge回帰とLasso回帰は、線形回帰に「L2正則化」と「L1正則化」をそれぞれ加え、過学習を防ぐことができる線形回帰の上位互換アルゴリズムです。正則化は勾配ブースティングの中のXGBoostやLightGBMでも使用します。正則化は2.2節で紹介し、4.2節でLasso回帰を実装します。

決定木

もう1つは決定木系のアルゴリズムです。決定木は学習データの特徴量を使って「条件分岐」の組合せで葉を作成し、葉ごとに異なる予測値を出力します。そのため、予測値は線形回帰と異なり、非連続です。

決定木は単体だと予測の解釈が容易という強みがある反面、学習データに過学習しやすく他のアルゴリズムに比べると精度は高くありません。しかし、決定木はアンサンブル学習の弱学習器に利用できます。弱学習器は単独で利用するとランダムよりわずかによい精度のモデルのことで、アンサンブル学習は複数の弱学習器を組み合わせて1つの優れたモデルを作成する手法です。決定木を用いたアンサンブル学習には「勾配ブースティング」と「ランダムフォレスト」があり、本書タイトルのLightGBMは勾配ブースティングを基に発展したアルゴリズムです。
勾配ブースティングは、回帰タスクでは回帰木を弱学習器として使用します。また、分類タスクにおいても回帰木を弱学習器に用いることが特徴的です。本書では勾配ブースティングの理解を深める目的で回帰木のハンズオンを行いますが、分類器については実装の対象外とします。

参考文献

[1]scikit-learn algorithm cheat-sheet
https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

次回は引き続き『第1章-2 予測モデルの概要-機械学習アルゴリズム』から、「決定木のアンサンブル学習」および「勾配ブースティングのライブラリ」を公開いたします。

本書の目次

第1章 予測モデルの概要
 1.1 予測モデル
  イントロダクション
  テーブルデータの予測モデル
 1.2 機械学習アルゴリズム
  機械学習アルゴリズムの全体像
  決定木のアンサンブル学習
  勾配ブースティングのライブラリ
 1.3 環境構築
  サンプルコード
  Colaboratoryの初期設定とサンプルコードの格納

第2章 回帰の予測モデル
 2.1 データ理解
  住宅価格データセット
  1変数EDA
  2変数EDA
  回帰の評価指標
 2.2 線形回帰
  単回帰のアルゴリズム
  単回帰の予測値の可視化
  重回帰のアルゴリズム
  正則化
  特徴量の標準化
  重回帰の学習→予測→評価
  パラメータによる予測値の解釈
 2.3 回帰木
  決定木
  回帰木のアルゴリズム
  回帰木のアルゴリズム(学習)
  深さ1の回帰木の可視化
  深さ1の回帰木の予測値の検証
  回帰木の深さと予測値
  深さ2の回帰木の可視化
  回帰木の正則化
  回帰木の学習→予測→評価
 2.4 LightGBM回帰
  勾配ブースティング回帰のアルゴリズム
  深さ1のLightGBM回帰の可視化
  深さ1のLightGBM回帰の予測値の検証
  LightGBM回帰の学習→予測→評価
  SHAP概要
  SHAPによる予測値の説明

第3章 分類の予測モデル
 3.1 データ理解
  国勢調査データセット
  数値変数EDA
  カテゴリ変数EDA
  前処理
  分類の評価指標
  混同行列と正解率の検証
 3.2 ロジスティック回帰
  ロジスティック回帰のアルゴリズム
  ロジスティック回帰の学習→予測→評価
  パラメータによる予測値の解釈
 3.3 LightGBM分類
  勾配ブースティング分類のアルゴリズム
  LightGBM分類の学習→予測→評価
  SHAPによる予測値の説明
 3.4 検証データ評価
  検証データのモデル評価
  ホールドアウト法
  不均衡ラベルのホールドアウト法
  アーリーストッピング
  LightGBM分類(アーリーストッピング)の実装
  クロスバリデーション
  クロスバリデーションの実装

第4章 回帰の予測モデル改善
 4.1 データ理解
  ダイヤモンド価格データセット
  1数値変数EDA
  2数値変数EDA
  カテゴリ変数EDA
  前処理
  評価指標の選択
 4.2 線形回帰
  線形回帰の予測モデル
  Lasso回帰の予測モデル
 4.3 LightGBM回帰
  LightGBM回帰の予測モデル
  SHAPによる予測値の説明
  クロスバリデーションのモデル評価
  クロスバリデーション後の予測
 4.4 特徴量エンジニアリング
  新規特徴量の追加
  新規特徴量:数値変数×数値変数
  新規特徴量:数値変数×カテゴリ変数
  新規特徴量:カテゴリ変数×カテゴリ変数
  新規特徴量を追加した予測モデル
  クロスバリデーションのモデル評価
 4.5 ハイパーパラメータ最適化
  LightGBMのハイパーパラメータ
  Optunaを用いたハイパーパラメータ最適化の実装
  最適化ハイパーパラメータを用いた予測モデル
  クロスバリデーションのモデル評価
  LightGBMモデル改善の結果

第5章 LightGBMへの発展
 5.1 回帰木の計算量
  学習アルゴリズム
  回帰木の可視化
  回帰木の予測値の検証
 5.2 回帰木の勾配ブースティング
  学習アルゴリズム
  二乗誤差の重み
  勾配ブースティングの可視化
  勾配ブースティングの予測値の検証
 5.3 XGBoost
  XGBoostの改善点
  アンサンブル学習の目的関数
  XGBoostの目的関数
  葉の分割条件
  類似度によるデータ分割点の計算
  二乗誤差の重みと類似度
  XGBoostの可視化
  XGBoostの予測値の検証
  XGBoostの枝刈り
 5.4 LightGBM
  LightGBMの改善点
  ヒストグラムによる学習の高速化
  深さから葉への探索方法の変更
  カテゴリ変数のヒストグラム化
  LightGBMの可視化
  LightGBM(leaf-wise)の可視化
 5.5 学習時間の比較
  太陽系外惑星データセットと前処理
  ライブラリの学習時間比較

この記事が気に入ったらサポートをしてみませんか?