라이트GBM

LightGBM
라이트GBM
LightGBM logo black text.svg
원본 작성자구올린[1] 케 / 마이크로소프트 리서치
개발자Microsoft 및 LightGBM 기여자[2]
초기 릴리즈2016 (2016)
안정적 해제
v3.3[3].2 / 2022년 1월 6일(2022-01-06)
리포지토리github.com/microsoft/LightGBM
기록 위치C++, Python, R, C
운영 체제Windows, MacOS, Linux
유형머신러닝, 그라데이션 부스팅 프레임워크
면허증MIT 라이선스
웹사이트liggbm.readthedocs이오

라이트GBM(LightGreadient Boosting Machine)의 줄임말인 라이트GBM은 마이크로소프트가 원래 개발한 머신러닝을 위한 무료 오픈소스 분산형 그라데이션 부스팅 프레임워크다.[4][5]의사결정 트리 알고리즘을 기반으로 하며 랭킹, 분류 및 기타 기계 학습 작업에 사용된다.개발의 초점은 성능과 확장성에 있다.

개요

LightGBM 프레임워크는 GBT, GBDT, GBRT, GBM, MART[6][7], RF를 포함한 다양한 알고리즘을 지원한다.[8]라이트GBM은 희소 최적화, 병렬 교육, 다중 손실 기능, 정규화, 백깅, 조기 정지 등 XGBoost의 장점이 많다.그 둘 사이의 주요한 차이점은 나무의 건설에 있다.LightGBM은 대부분의 다른 구현에서처럼 수준별로(행별로) 트리가 자라지 않는다.[9]대신 잎으로 나무를 기른다.그것은 가장 큰 손실 감소를 산출할 것으로 믿는 잎을 선택한다.[10]게다가 LightGBM은 XGBoost나 다른 구현처럼 정렬된 형상값에서 가장 좋은 분할점을 검색하는 널리 사용되는 정렬된 기반 의사결정 트리 학습 알고리즘을 사용하지 않는다.[11]대신 LightGBM은 고도로 최적화된 히스토그램 기반 의사결정 트리 학습 알고리즘을 구현해 효율성과 메모리 소비 모두에서 큰 이점을 제공한다.[12] LightGBM 알고리즘은 높은 정확도를 유지하면서 알고리즘을 더 빨리 실행할 수 있도록 하는 GOSS(Gradient-Based One-Side Sampling)와 EFB(Expective Feature Bundling)라는 두 가지 새로운 기법을 활용한다.[13]

LightGBM은 Linux, Windows, MacOS에서 작동하며 C++, Python,[14] R, C#[15]를 지원한다.소스 코드는 MIT 라이센스에 따라 라이센스가 부여되며 GitHub에서 사용할 수 있다.[16]

그라데이션 기반 단측 샘플링

GOSS(Gradient-Based One-Side Sampling)는 GBDT(Gradient-Based One-Side Sampling)에 데이터 인스턴스의 기본 무게가 없다는 사실을 활용한 방법이다.다른 그라데이션의 데이터 인스턴스는 정보 이득 계산에서 서로 다른 역할을 하기 때문에, 그라데이션이 큰 인스턴스는 정보 이득에 더 많은 기여를 할 것이다.따라서 정보의 정확성을 유지하기 위해 GOS는 구배율이 큰 인스턴스를 유지하고 구배율이 작은 인스턴스를 임의로 삭제한다.[13]

배타적 특성 번들링

EFB(Extive Feature Bundling)는 효과적인 기능의 수를 줄이기 위한 거의 무손실 방법이다.희박한 형상 공간에서는 많은 형상이 거의 배타적이어서, 0이 아닌 값을 동시에 취하는 경우가 거의 없음을 의미한다.원핫 인코딩된 형상은 배타적인 형상의 완벽한 예다.EFB는 이러한 기능을 번들로 구성하여 높은 정확도를 유지하면서 효율성을 개선하도록 치수성을 줄인다.단일 형상에 배타적 형상의 번들을 배타적 형상의 번들이라고 한다.[13]

참고 항목

참조

  1. ^ "Guolin Ke".
  2. ^ "microsoft/LightGBM". GitHub.
  3. ^ "Releases · microsoft/LightGBM". GitHub.
  4. ^ Brownlee, Jason (March 31, 2020). "Gradient Boosting with Scikit-Learn, XGBoost, LightGBM, and CatBoost".
  5. ^ Kopitar, Leon; Kocbek, Primoz; Cilar, Leona; Sheikh, Aziz; Stiglic, Gregor (July 20, 2020). "Early detection of type 2 diabetes mellitus using machine learning-based prediction models". Scientific Reports. 10 (1): 11981. Bibcode:2020NatSR..1011981K. doi:10.1038/s41598-020-68771-z. PMC 7371679. PMID 32686721 – via www.nature.com.
  6. ^ "Understanding LightGBM Parameters (and How to Tune Them)". neptune.ai. May 6, 2020.
  7. ^ "An Overview of LightGBM". avanwyk. May 16, 2018.
  8. ^ "Parameters — LightGBM 3.0.0.99 documentation". lightgbm.readthedocs.io.
  9. ^ Gradient Booster IV: LightGBM – Deep & Lipple
  10. ^ 데이터 과학을 향한 2020년 9월의 XGBoost, LightGBM 및 기타 Kaggle 경쟁 우위
  11. ^ Manish, Mehta; Rakesh, Agrawal; Jorma, Rissanen (Nov 24, 2020). "SLIQ: A fast scalable classifier for data mining". International Conference on Extending Database Technology. CiteSeerX 10.1.1.89.7734.
  12. ^ "Features — LightGBM 3.1.0.99 documentation". lightgbm.readthedocs.io.
  13. ^ a b c Ke, Guolin; Meng, Qi; Finley, Thomas; Wang, Taifeng; Chen, Wei; Ma, Weidong; Ye, Qiwei; Liu, Tie-Yan (2017). "LightGBM: A Highly Efficient Gradient Boosting Decision Tree". Advances in Neural Information Processing Systems. 30.
  14. ^ "lightgbm: LightGBM Python Package" – via PyPI.
  15. ^ "Microsoft.ML.Trainers.LightGbm Namespace". docs.microsoft.com.
  16. ^ "microsoft/LightGBM". October 6, 2020 – via GitHub.

추가 읽기

외부 링크