STEP1. Initial prediction 설정 (log odds & logistic 함수사용, feat. sigmoid)
왜 logistic regression에서 sigmoid 함수를 사용하는가?
odds 란 무엇이며, sigmoid 함수와 어떤 관계가 있는가?
이 링크에 모든 것이 설명되어 있다.
위 링크의 내용을 이해하면 주어진 데이터로부터 아래의 초기 prediction 값을 계산하는 과정을 이해할 수 있음.
initial prediction = logit(log(p(Positive) / p(Negative)))
STEP2. Residuals 계산
prediction 결과와 실제 값과의 차이를 구하는 것.
다음에 생성될 tree의 목표 예측 값으로 사용됨.
첫 트리에서는 pos/neg sample 의 residual 값이 각각 같은 값으로 설정되지만 두번째 트리부터는 달라짐.
STEP3. Tree 생성
Tree 의 Leaf node 에서의 probability 값 계산 (** 주의 ** regression용 트리에서의 수식은 다름)
먼저 output 값을 구한다. 여기서 output 값은 log(odds) 값을 구할때 사용되는 값임.
- output = Sum(all residuals on the leaf node) / Sum ((이전트리 예측치) * (1-이전트리 예측치))
log(odds) 값 구하기
- log(odds) = init_prob + learning_rate * (output value) (트리가 하나인 경우, 두개인 경우. 뒷 항이 트리의 갯수만큼 붙음
probability 값 구하기 (최종 예측값)
- logistic function을 이용하여 log(odds) 값을 probability로 변경함. 관련 내용은 위의 링크에서 확인 가능함.
변수 선택의 기준
- Gradient Boos 의 설명에서 생략 되어 있고 XG boost 에서만 설명이 나와있는데 같을 것으로 생각됨. XG Boost 포스팅에서 설명
'기계학습' 카테고리의 다른 글
Optimizer 종류 (0) | 2022.01.01 |
---|---|
GCN (Graph Convolution Network) (0) | 2021.12.29 |
[정리노트] XGBoost 이해하기 (Regression) (0) | 2020.08.25 |
K-means Algorithm (0) | 2015.11.25 |