"Xgboost가 무엇입니까"& 주요 매개 변수의 주석

입문


저는 Signate라는 머신러닝 경기 사이트의 J리그 관중 동원수 예측에 도전하고 있습니다.
그래서 우리는 Xgboost라는 기계 학습 알고리즘을 사용했다.
그때 매개 변수를 많이 다루었는데, 다음에 Xgboost를 사용할 때 어떤 매개 변수인지 잊어버린 것 같아서 먼저 정리를 하겠습니다.

Xgboost


사다리를 높이는 방법이라고도 불리며 약한 학습기를 점차적으로 구축하는 방법이다.
무작위 삼림은 여러 개의 결정 트리를 구축하고 결과를 집합한다.
반면 Xgboost는 약한 학습기를 구축할 때
이전에 구축된 약한 학습기를 사용한 결과 약한 학습기를 구축했다.
이전에 구축된 학습기로 정확하게 분류된 데이터에 대한 권한 감소
정확하게 분류되지 않은 데이터에 대한 가중치를 높이는 학습기를 만들다.
이렇게 하면 새로 구축된 학습기일수록 잘못된 데이터를 집중적으로 학습할 수 있다.
상세한 상황은 이 사이트에서 매우 이해하기 쉬운 그림과 함께 자세하게 설명하였다.
이 그림을 인용할 수 있도록 허락해 주십시오.
XGBoost 및 매개변수 조정 방법에 대한 조사
Xgboost 이미지 맵

STEP1에서 모든 학습 데이터에 대해 동일한 가중치로 학습하여 경계를 결정한다.이것은 약한 학습기의 학습이라고 한다.이 상자 안에는 독버섯 두 개, 버섯 다섯 개가 있다.
STEP2에서 STEP1에서 정확하게 식별된 데이터의 무게가 낮아지고 잘못 식별된 데이터의 무게가 높아진다.고권중 데이터는 결정 경계에서 정확하게 식별되지만 다른 데이터는 오류로 분류된다.
STEP3에서도 STEP2와 같은 경향이 있다.이런 약한 학습기의 처리를 반복하여 식별 성능을 향상시키다.
결국, 우리는 이런 경계를 결정할 수 있는 감별기를 찾을 것이다.

경사도 향상의 경사도는 향상 알고리즘에서 매개 변수가 추정하는 최적화 방법이 경사도 하락법의 경사도를 따르는 것을 말한다.이상은 경사도 향상 모델에 대한 간단한 설명입니다.
XGBoost 및 매개변수 조정 방법에 대한 조사 참조
원숭이도 알 수 있다고 졸렬하게 쓴 사이트보다 이해하기 쉽다.
그 구가는 "원숭이도 알면서 모르는 나.."때문에 다칠 수 있으니 경솔하게 사용해서는 안 된다.
파라미터도 아주 상세하게 여기 탑승하고 있습니다. 이번에는 제가 특별히 가지고 노는 파라미터에 대해서만 설명해 드리겠습니다.

매개 변수 소개


나는 단지 내가 중시하는 매개 변수를 간단하게 설명하고 싶을 뿐이다.
이번에 트리 모델을 사용했기 때문에 고려한 매개 변수입니다.
일부 매개변수는 선형 모델에 사용할 수 없으며 일부 매개변수는 선형 모델에만 사용할 수 있습니다. 참조xgboost 참조.
독단과 편견, 혹은 자신의 사용감으로 중요도를 기록했다.
하지만 이 알고리즘은 사용 횟수가 낮은 사람의 느낌이기 때문에 반만 말씀해 주세요.

eta


default: 0.3
수용도: 상당한
"learning_rate"는python용
각 단계의 학습률을 제어하는 매개 변수.
높으면 과도하게 공부하기 쉽다.

min_child_weigh


default: 1
중요 정보: 중요
하위 노드에서 계승된 데이터에 추가된 가중치 총계의 최소값입니다.
값이 클수록 편리한 값은 강하지만 통용성은 낮다.

max_delta_step


default: 0
중요도: 상황에 따라 다름
양수 값으로 설정하면 단계를 업데이트하여 계승합니다.
일반적으로 그다지 사용하지 않지만, 불균형 데이터를 처리할 때 효과적인 것 같다.

subsample


default: 1
중요도: 대충대충
나무마다 무작위로 추출한 표본의 비율.
0.5~1 정도?

colsample_bytree


default: 1
중요도
등급별 열 배율

max_depth


default: 6
중요도: 상당히 중요
생장수 길이의 최대치.4~10이 많은 것 같아요.
너무 길면 공부하는 데 걸리는 시간이 뛰기 쉬워 과도하게 공부하기 쉬워 무섭다.
겸사겸사 말씀드리지만, default의 값은 통용성이 매우 높다고 생각합니다.

lambda


default: 1
중요도: 해당
"reg_lambda"는python용
이 매개변수를 편집하여 가중치에 대한 L2 귀일화를 사용할 수 있습니다.
L2 정규화란 데이터 크기에 따라 0에 가까운 매끄러운 모델로
방금 버섯을 인용한 홈페이지에도'조정해야 할 매개 변수'가 소개됐다.

alpha


default: 0
심각성: 상황에 따라 다름
가중치에 대한 L1 규격화 가능
L1 정규화란 특정 데이터의 권한을 0으로 재설정하여 필요하지 않은 데이터를 삭제하는 것을 말한다.
고차원 데이터에 특히 효과가 있기 때문에 그 외의 상황은 그렇게 중요하지 않을 수도 있다.

gamma


default:0
중요도: 상당히 중요
이것은 손실 환원의 최소값으로 나뭇잎 노드를 한층 더 분할하는 데 필요한 값이다.

참고 문헌


과도한 학습의 정규화를 방지하다
탐욕스러운 방법으로 xgboost 초인자 검색 - Qiita
그리디법을 이용하여 xgboost 슈퍼 파라미터 - 나드전대 데이터원 검색
참고로 Markdown에서 참고 문헌을 인용할 때 기다리는 Url은 조작이 쉬워서 추천합니다.
Markdown에서 Url을 인용할 때 조금 쉬운 헐크[소절]. - Qiita.

좋은 웹페이지 즐겨찾기