Loading...
2023. 5. 5. 01:19

앙상블(ensemble) 기본 개념 제대로 이해하기

0. bias와 variance 1) overfitting model이 학습을 너무 해버리면 모델의 차원이나 복잡도가 증가 데이터의 세세한 부분까지 fitting하는 overfitting 현상 발생 모든 데이터는 noise가 존재하는데 overfitting하면 데이터의 noise까지 세세하게 fitting하게 되는 경향성을 가짐 다양한 데이터가 나올 가능성이 높다. 넓은 범위에서 데이터가 나올 가능성이 높아서 high variance라고도 부른다 2) underfitting 반면 학습을 너무 하지 않으면 너무 데이터를 고려하지 않게 된다 데이터를 많이 fitting하지 못한다 일부분에만 fitting되어 일부분에만 편향된다고 하여 high bias라고도 부른다 data set을 만드는 과정에서 일반화를 ..

2022. 12. 31. 18:13

머신러닝 모델링 기본방법 - bootstrapping, bagging, boosting

1. bootstrapping 현재 데이터를 복원추출로 random sampling하여 얻은 여러 데이터로 학습하는 기법 각각의 sample 각각에서 모델을 만들어 예측의 consistence를 보고자 하는 것임 혹은 데이터가 부족할 때 데이터를 늘리고자 쓰는 기법 위 그림은 bootstrapping을 이용한 bagging을 나타낸다고 볼 수 있겠다 2. bagging bootstrapping으로 만든 데이터 set으로 여러 모델을 만들고 각 모델의 성능을 적절하게 aggregation 한다 aggregation하는 방법은 voting이나 averaging 등이 있다. 보통 모든 학습데이터를 써서 결과를 내는게 성능이 좋아보이지만 의외로 80% sampling bootstrapping 하여 얻은 bagg..

2021. 11. 3. 20:57

CatBoost 모형

그 이름 Cat가 categorical feature를 뜻하는데 categorical 변수에 최적화되어있다고 논문에서 주장하고 있습니다. “ Two critical algorithmic advances introduced in CatBoost are the implementation of ordered boosting, a permutation-driven alternative to the classic algorithm, and an innovative algorithm for processing categorical features “ 논문에서 언급하는 ordered boosting은 일반적인 boosting이 모든 데이터 row에 대해 gradient 업데이트 과정을 거쳤다면 Catboost는 다음..

Light GBM 모형

LightGBM은 그 이름 Light에서도 알 수 있듯이 computational cost를 줄이기 위해 여러 가지 고급기술?을 도입하였다고 합니다. 그 중 하나인 Gradient based one sided sampling에 대해 직관적으로 이해해봅시다. 위에서 gradient boosting 기법을 다시 한번 생각해보면 각 data row마다 residual을 계산하여 learning rate를 이용한 예측값을 갱신하는 과정이 있었습니다. 이것은 마치 data row가 가지는 gradient로부터 gradient descent를 하는 과정을 연상시키죠. 그런데 Gradient based one sided sampling은 이름에서도 알 수 있듯이 gradient를 기반으로 필요없는 데이터는 버리겠다는..

2021. 11. 2. 18:32

XGBoost 모델

1. XGBoost 모델 gradient boosting의 약점은 train data에 대해 한없이 loss인 residual을 줄여나가니까 overfitting되기 쉽다는 단점이 있습니다. 이런 단점을 인식하여 나온 방법이 XGBoost입니다. XGBoost는 실제 값과 예측 값의 차이를 일반적인 loss에 regularization term을 더하여 이것을 줄이는 방향으로 학습을 진행합니다. loss function도 단순한 MSE같은 차이뿐만 아니라 다양한 loss function을 사용하여 task에 따른 유연한 튜닝을 가능하게 하였다고 합니다. 2. parameter norm penalty parameter norm penalty 기법은 loss function에 norm penalty를 더하는..

2021. 11. 1. 19:33

Gradient boosting 모형

기존 boosting이 model의 정확성을 점점 개선하는 방식으로 진행되었다면 gradient boosting은 그 이름에서도 알 수 있듯이 loss function을 정의하고 이것을 줄여나가는 방식으로 model을 학습해나갑니다. loss function은 딥러닝에서도 자주 사용하듯이 실제값과 예측값의 차이로 정의합니다. 예시 그림을 보면 이해하기 쉬울 것이라고 생각합니다. 위 그림에서 weight를 예측하는 model을 만든다고 합시다. 실제값과 예측값의 차이인 loss function을 최소로하는 최초 예측은 모든 weight의 평균값으로 예측하는 것이 제일 간단합니다. 여기서 평균은 71.2라고 합니다. 예측한 값과 실제 값들의 차이(이것을 residual 혹은 loss라고 부릅니다)를 각 ro..