전체 글(36)
-
LightGBM
LightGBM: A Highly Efficient Gradient Boosting Decision Tree 논문을 참고하여 작성 LightGBM XGBoost의 장점은 계승하고 단점은 보완하는 방식으로 개발된 부스팅 모델 트리기반 학습알고리즘을 사용하는 gradient boosting framework GBDT + GOSS + EFB = LightGBM 배경 GBDT의 계산복잡성은 feature와 instance의 수에 비례 handing big data할때 매우 많은 시간이 소요되는 것을 해결하기 위해 등장 solution 1 : to reduce the number of features, instance -> 그러나 쉽지않음 solution 2 : data를 weight따라 sampling해 속도를..
2024.02.12 -
GBM
Gradient Descent 경사하강법 기울기를 줄여나감으로써 오류를 최소화하는 방법 실제값과 모델의 예측값 차이에 따른 오류값 = 잔차 (Residual) 손실함수 (loss fuction) = 잔차의 제곱합 (RSS : Residual Sum of Square) 손실함수를 지속적으로 감소시켜 최종적으로 더이상 감소하지 않는 최소의 오류값을 구하는 방향으로 학습이뤄짐 손실함수에 미분을 적용한 뒤 미분값이 계속 감소하는 방향으로 파라미터 w를 조정하다 더이상 감소하지 않응 지점을 최소인 지점으로 간주하고 파라미터w를 반복 GBM Gradient Boosting Machine 다른 부스팅모델과 같이 약한 학습기를 결합해 강한 학습기를 만든다 AdaBoost는 오답에 가중치 부여하여 학습, GBM은 잔차(..
2024.02.12 -
Boosting,AdaBoost
Boosting 이전 모델이 제대로 예측하지 못한 데이터에 대해 가중치를 부여하여 다음 모델이 학습과 예측을 진행하는 방법 실제값이 20일때 모델1이 15를 예측하면 모델2는 오차값 5를 데이터셋으로 사용하여 예측값을 내놓고 모델3은 모델2의 오차값을 데이터셋으로 사용하는 과정이 오차가 없을때까지 반복하여 예측값의 총합을 통해 최종 예측값을 산출 이전 분류기의 학습결과를 토대로 다음 분류기의 학습데이터의 샘플 가중치를 조정해 학습을 진행 -> 오답에 높은 가중치를 부여해 정확도는 높으나 outlier에 취약할 수 있다 배깅에 비해 성능이 좋지만 속도가 느리고 과적합 발생가능성이 있다 1번 weak learner로 학습 후 생긴 error를 반영해 다음 데이터 샘플링과 2번 weak learner를 학습시..
2024.02.11 -
Bagging
Bagging Boostrap Aggregting 주어진 data에서 여러개의 boostrap을 생성하고 각 boostrap에 예측 모형을 만든 후 결합해 최종 예측모형을 만드는 방법 샘플을 여러번 뽑아(boostrap) 각 모델을 학습시킨 다음 결과물을 집계(aggregation)하는 방법 categorical data 일 경우 voting방법으로 집계 - 전체 모델에서 예측한 값 중 가장 많은 값을 최종 예측값으로 선정한다는 것 continuous data 일 경우 평균으로 집계 - 각각의 결정트리모델이 예측한 값에 평균을 취해 최종 예측값을 결정 학습데이터가 충분하지 않더라도 충분한 학습효과를 낼 수 있다. -> 높은 bias의 underfitting문제나 높은 variance overfitting..
2024.02.10 -
Voting
Ensemble Learning 학습 알고리즘들을 따로 쓰는 경우에 비해 더 좋은 예측 성능을 얻기위해 다수의 학습 알고리즘을 사용하는 방법 여러개의 분류기를 생성하고 그 예측을 결합함으로써 보다 정확한 예측을 도출하는 기법 weak classifier들을 결합해 strong classifier로 만드는 것 특징 여러 모델들을 결합함으로서 단일모델들의 약점을 보완하는 방식 -> 뛰어난 성능을 가진 모델로만 구성하는 것보다 성능이 떨어지더라도 서로 다른 유형의 모델을 섞는 것이 전체 성능향상에 도움이 될 수 있 Decision tree에서 overfitting되는 문제를 감소시킴 유형 : voting, bagging, boosting, stacking Voting 하나의 데이터셋에 여러개의 알고리즘을 사용..
2024.02.10 -
Cross Validation
Cross Validation (교차검증) 주어진 데이터셋에 학습된 알고리즘이 얼마나 잘 일반화되어있는지 평가하기 위한 방법 일반적으로 train / test set으로 나눠 모델을 검증 (Holdout method) -> 고정된 test set을 통해 모델의 성능을 검증하고 수정하는 과정을 반복하면 결국 test set에만 잘 동작하는 모델이 됨 즉, test set에 과적합하게 되므로 다른 데이터를 가져와 수행하면 결과가 나쁠 수 있음 >> 해결책 : Cross Validation = train set을 train set + validation set으로 분리한 후 validation set을 사용해 검증하는 방법 ▶ Validation set은 학습에 영향을 미치는가? 학습 모델은 가중치를 업데이트..
2024.02.02