최근 유행하는 LightGBM이란?

2334 단어 lightgbm기계 학습

1. LightGBM이란?



Qiita나 Youtube등에서 AI관계의 학습을 하고 있으면, LightGBM이 대단하다고 하는 것이 상당히 나오므로, 이기에 학습해 Kaggle로 사용해 보고 싶다. Kaggler의 상위의 사람들이 사용하고 있고 최근 유행의 알고리즘인 것 같다.
LightGBM은 Microsoft의 사람이 개발한 분산형 그라디언트 부스팅 프레임워크이다.

기본적으로는 결정 트리의 흐름을 짜는 분류 문제를 풀기 위한 알고리즘인 것 같다.

2. 분류 문제를 푸는 각종 수법



LightGBM은 결정 트리의 흐름을 짜는 알고리즘이라는 것은 결정 트리에서 정리를 다시 하면 알기 쉽다고 한다.
옛날에는 분류 문제를 해결하는 알고리즘으로서 결정 트리가 있었다. 그 후, 분류 성능을 향상시키기 위한 앙상블 학습으로서, 랜덤 포레스트나, XGBoost, LightGBM, CatBoost 등이 등장해 왔다.



2.1 결정 트리



결정 트리는 위에서 조건 분기를 해 가서 마지막으로 결론을 얻는 분류 문제를 해결하는 수법이다.

메리트: 결과 도출 과정의 설명이 간단하다는 점.
단점 : 판단이 잡음, 성능이 낮음



2.2 앙상블 학습



앙상블 학습은 결정 트리와 같이 성능이 낮은 약 학습기를 조합하여 실행함으로써 성능이 높은 모델을 만들어 가는 학습 방법이다. 이 조합 방법이 3종류 정도 있다.
  • 버깅
  • 부스팅
  • 스태킹

  • 2.2.1 랜덤 포레스트(버깅)



    결정 트리는 조건 판단이 어색하기 때문에 성능이 낮다. 말하자면 의견이 치우친 평범한 사람이며, 뭐든지 할 수 있는 천재가 아니다.
    그렇다면 보통 사람을 많이 모아 의견을 듣고 다수결을 잡자는 것이 버깅이다. 랜덤 포레스트는 버깅의 대표 기법이다.

    메리트:결정 나무보다 성능 Up
    단점: 단지 다수결이므로, 신뢰할 수 있는 사람과 적당한 사람의 결과가 동등하게 취급된다



    2.2.2 부스팅



    부스팅은 랜덤 포레스트와 같은 병렬 실행이 아니라 학습기를 직렬 접속하여 전단에서 실수한 결과를 중점적으로 다음 단으로 학습하여 분류 정밀도를 높이는 방법이다. 초기 부스팅 방법으로는 AdaBoost가 유명하다. 그 후 유명해진 것이 그라디언트 강하법을 사용하는 그라디언트 부스팅이다.

    경사 부스팅(LightGBM)

    랜덤 포레스트의 다수결로 결정할 때의 문제를 해결하는 것이 경사 부스팅 방법이다.
    랜덤 포레스트 때에는 남자인지 여자인지의 결과만이 각 학습기에서 나와 다수결을 취하고 있었다. 여기서, 결과의 정밀도가 얼마나 높은지 점수를 붙여 결과를 출력한다. 이것을 보고, 합의제로 결과를 결정한다.
    이 점수를 결정할 때 그라디언트를 사용합니다.

    이 경사 부스팅 기법으로 지금은 하고 있는 것이 LightGBM.

    메리트: 합의제에 의한 성능 Up
    단점: -

    좋은 웹페이지 즐겨찾기