LightGBM

Microsoft open source gradient boosting framework for machine learning
LightGBM
原著者Guolin Ke [1] / Microsoft Research
開発者MicrosoftとLightGBMの貢献者[2]
初回リリース2016年; 9年前 (2016)
安定版リリース
v4.3.0 [3] / 2024 年 1 月 15 日22ヶ月前 (2024-01-15)
リポジトリgithub.com/microsoft/LightGBM
言語C++PythonRC
オペレーティングシステムWindowsmacOSLinux
タイプ機械学習勾配ブースティングフレームワーク
ライセンスMITライセンス
ウェブサイトlightgbm.readthedocs.io

LightGBM ( Light Gradient-Boosting Machine)は、機械学習用の無料かつオープンソースの分散勾配ブースティングフレームワークで、元々はMicrosoftによって開発されました[4] [5]これは決定木アルゴリズムに基づいており、ランキング分類、その他の機械学習タスクに使用されます。開発はパフォーマンスとスケーラビリティに重点を置いています。

概要

LightGBMフレームワークは、GBT、GBDTGBRTGBMMART [6] [7]RF [8 ] などのさまざまなアルゴリズムをサポートしています。 LightGBMには、スパース最適化、並列トレーニング、複数の損失関数、正則化、バギング、早期停止など、 XGBoostの多くの利点があります。 2つの主な違いはツリーの構築にあります。 LightGBMは、ほとんどの他の実装のように、行ごとにレベルごとにツリーを成長させません。[9]代わりに、リーフごとにツリーを成長させます。 デルタ損失が最大になるリーフを選択して成長させます。[10]さらに、LightGBMは、 XGBoostや他の実装のように、ソートされた特徴値で最適な分割ポイントを検索する、広く使用されているソートベースの決定木学習アルゴリズムを使用しません[11]。 代わりに、LightGBMは、効率とメモリ消費の両方で大きな利点をもたらす、高度に最適化されたヒストグラムベースの決定木学習アルゴリズムを実装しています。[12] LightGBMアルゴリズムは、勾配ベースの片側サンプリング(GOSS)と排他的特徴バンドル(EFB)と呼ばれる2つの新しい技術を利用しており、高い精度を維持しながらアルゴリズムの実行速度を向上させています。[13]

LightGBMはLinuxWindowsmacOSで動作し、 C++Python[14] RC#をサポートしています[15]ソースコードはMITライセンスの下でライセンスされており、 GitHubで入手できます[16]

勾配に基づく片側サンプリング

勾配降下法を使用する場合、モデルの可能な構成の空間を谷として考えます。谷の最も低い部分が、データに最も適合するモデルです。この比喩では、谷がどれだけ低くなるかを知るために、さまざまな方向に歩きます

通常、勾配降下法では、データセット全体を用いて谷の傾きを計算します。しかし、このよく使われる手法では、すべてのデータポイントが同等の情報量を持っていると仮定しています。

対照的に、勾配ブースティング決定木のために最初に開発された手法である勾配ベース片側サンプリング(GOSS)は、すべてのデータが同等の情報量を持つという仮定に依存しません。代わりに、勾配が小さい(傾きが緩やかな)データポイントをランダムに削除することで、情報量が少ないとみなします。これは、ノイズの影響を受けている可能性のあるデータをフィルタリングし、データ内の根本的な関係性をより正確にモデル化できるようにすることを目的としています。[13]

排他的特徴バンドル

排他的特徴バンドル(EFB)は、有効な特徴量数を削減するためのほぼロスレスな手法です。疎な特徴量空間では、多くの特徴量はほぼ排他的であり、同時に非ゼロ値を取ることは稀です。ワンホットエンコードされた特徴量は、排他的特徴量の典型的な例です。EFBはこれらの特徴量をバンドルすることで次元数を削減し、高い精度を維持しながら効率を向上させます。排他的特徴量を単一の特徴量にバンドルしたものを、排他的特徴バンドルと呼びます。[13]

参照

参考文献

  1. ^ 「Guolin Ke」GitHub
  2. ^ “microsoft/LightGBM”. GitHub . 2022年7月7日.
  3. ^ 「リリース · microsoft/LightGBM」。GitHub
  4. ^ Brownlee, Jason (2020年3月31日). 「Scikit-Learn、XGBoost、LightGBM、CatBoost を使用した勾配ブースティング」
  5. ^ Kopitar, Leon; Kocbek, Primoz; Cilar, Leona; Sheikh, Aziz; Stiglic, Gregor (2020年7月20日). 「機械学習ベースの予測モデルを用いた2型糖尿病の早期発見」. Scientific Reports . 10 (1): 11981. Bibcode :2020NatSR..1011981K. doi :10.1038/s41598-020-68771-z. PMC 7371679. PMID 32686721 – www.nature.comより . 
  6. ^ 「LightGBMパラメータの理解(および調整方法)」neptune.ai . 2020年5月6日。
  7. ^ 「LightGBMの概要」avanwyk . 2018年5月16日.
  8. ^ 「パラメータ — LightGBM 3.0.0.99 ドキュメント」。lightgbm.readthedocs.io
  9. ^ 勾配ブースター IV: LightGBM – 深層と浅層
  10. ^ 「機能」. LightGBM公式ドキュメント. 2024年11月3日.
  11. ^ Manish, Mehta; Rakesh, Agrawal; Jorma, Rissanen (2020年11月24日). 「SLIQ:データマイニングのための高速でスケーラブルな分類器」. International Conference on Extending Database Technology : 18–32 . CiteSeerX 10.1.1.89.7734 . 
  12. ^ 「機能 — LightGBM 3.1.0.99 ドキュメント」。lightgbm.readthedocs.io
  13. ^ abc 柯、国林;メン、チー。フィンリー、トーマス。王、泰峰。チェン、ウェイ。マー、ウェイドン。そう、キウェイ。劉鉄燕(2017)。 「LightGBM: 非常に効率的な勾配ブースティング デシジョン ツリー」。神経情報処理システムの進歩30
  14. ^ "lightgbm: LightGBM Python パッケージ". 2022年7月7日 – PyPI経由.
  15. ^ 「Microsoft.ML.Trainers.LightGbm 名前空間」。docs.microsoft.com
  16. ^ "microsoft/LightGBM". 2020年10月6日 – GitHub経由。

さらに詳しい情報

  • Guolin Ke、Qi Meng、Thomas Finely、Taifeng Wang、Wei Chen、Weidong Ma、Qiwei Ye、Tie-Yan Liu (2017). 「LightGBM:高効率な勾配ブースティング決定木」(PDF)ニューラル情報処理システム
  • クイント、ブッチ (2020). Sparkによる次世代機械学習 – XGBoost、LightGBM、Spark NLP、Kerasによる分散ディープラーニングなどを網羅. Apress . ISBN 978-1-4842-5668-8
  • van Wyk, Andrich (2023). LightGBMとPythonによる機械学習. Packt Publishing . ISBN 978-1800564749
  • GitHub - microsoft/LightGBM
  • LightGBM - Microsoft Research
Retrieved from "https://en.wikipedia.org/w/index.php?title=LightGBM&oldid=1300439572"