본문 바로가기
반응형

ML/Ensemble7

[ML][Ensembel] LightGBM LightGBMXGBoost와 LightGBM은 Decision Tree 알고리즘 기반의 대표적인 Boosting 앙상블 기법입니다여기서 LightGBM은 시간적 한계를 보완한 알고리즘입니다 Node의 split을 균형 트리 분할(Level - wise Tree Growth) 방식이 아니라 최대 Loss를 가진 Node를 중심으로 계속 분할하는 Leaf 중심 트리 분할 (Leaf-wise Tree Growth)방식을 사용합니다이 방식을 통해 Tree가 깊어지기 위해 소요되는 시간과 메모리를 절약할 수 있습니다 Motivation & IdeaMotivation기존의 Boosting 알고리즘은 B번의 반복 학습 때마다 전체 데이터 셋을 scan하여 모든 Split Point에 대한 Information Ga.. 2024. 7. 11.
[ML][Ensemble]XGBoost(Extreme Gradient Boost) XGBoost(Extreme Gradient Boost)XGBoost는 기존 GBM 알고리즘의 성능과 속도를 향상시킨 알고리즘이다기존 GBM은 학습 데이터에 대한 Residual을 계속 줄이는 방향으로 학습하기 때문에 Overfitting이 되기 쉽다따라서 정규화 항을 Loss Function에 추가함으로써 Overfitting을 방지한다또한 Split Finding 알고리즘을 통해 연산의 효율성을 높혔다정규화$\Omega(f) = \gamma T + \frac{1}{2}\lambda ||c||^2$ (T : Terminal Node의 수, c : 각 노드의 가중치)여기서 $\gamma,\; \lambda$는 Hyper Parameter이다Split Finding기존에는 모든 Feature를 Split .. 2024. 7. 4.
[ML][Ensemble]Gradient Boosting Machine(GBM) Gradient Boosting Machine(GBM)Residual(잔차, $y_i - \hat{f}(x_i)$)($\approx$ Negative Gradient)를 이용하여 이전 모델의 약점을 보완하는 새로운 모형을 순차적으로 Fitting한 뒤 이들을 선형결합하여 얻어진 모델을 생성하는 지도학습 알고리즘 $$ \begin{aligned} y_1 &= F_{prev}(x_1) + h(x_1)\\ y_2 &= F_{prev}(x_2) + h(x_2)\\ &\qquad\qquad \vdots \\ y_n &= F_{prev}(x_n) + h(x_n)\\ \Rightarrow &F_{new}(x) = F_{prev}(x) + l \cdot h(x) \end{aligned} $$위의 식과 그림처럼 이전 모.. 2024. 7. 2.
[ML][Ensemble] AdaBoost(아다부스트, Adaptive Boosting) AdaBoost(아다부스트, Adaptive Boosting)Adaboost는 최초의 Boosting 알고리즘입니다이전 Decision Tree가 잘못 예측한 데이터에 큰 가중치를 부여해, 다음 Decision Tree가 더 집중할 수 있도록 순차적으로 학습하는 방법입니다Decision Tree로는 Stump 구조를 사용합니다(여기서 Stump 구조란 하나의 Split 만을 가진 가장 간단한 형태의 Decition Tree입니다) 세부적으로 설명하자면 B개의 Decision Tree 별로 계산된 모델 가중치 ($c_b$)를 합산하여 최종 모델을 생성합니다AdaBoost의 알고리즘 설명 전 AdaBoost의 Loss Function에서 사용되는 지수 손실에 대해서 간략히 설명하겠습니다※ 지수 손실 지수 손.. 2024. 6. 26.
[ML][Ensemble] Random Forest(랜덤 포레스트), OOB(Out Of Bag) Random Forest를 공부하기 전 앞서 봤던 Bagging에 대해 더 알아보고 시작해야합니다Bagging은 Bootstrap을 통해 B개의 데이터셋을 만든다고 설명했었습니다여기서 원래 n개의 데이터가 존재하는 데이터 셋 $X$에서 j번째 데이터 $x_j$에 집중해서 보고자합니다1. $X$에서 임의의 데이터 추출 => 첫번째 Bootstrap 데이터 셋의 첫번째 Observation여기서 $x_j$가 뽑히지 않을 확률 : $1 - \frac{1}{n}$  2. $X$에서 임의의 데이터 복원 추출 => 첫번째 Bootstrap 데이터 셋의 두 번째 Observation여기서 $x_j$가 뽑히지 않을 확률 : $1 - \frac{1}{n}$  이 과정을 n번 반복하여 첫번째 Bootstrap 데이터 셋의.. 2024. 6. 25.
[ML][Ensemble] Ensemble Learning(앙상블 학습), Bagging(배깅),Boosting(부스팅) Ensemble Learning(앙상블 학습)Ensemble Learning이란 여러 개의 모델을 학습시켜, 다양한 예측 결과를 이용하는 방법론입니다보통 Decision Tree에서 자주 사용되며, 크게 Bagging, Boosting이 있습니다Bagging(배깅, Bootstrap Aggregation)먼저 Bagging에 대해 알아보도록 하겠습니다Bagging은 분산이 $\sigma^2$인 독립적인 Observation($Z_1, Z_2, \cdots, Z_n$)이 있을 때, Observation의 평균 $\bar{Z}$의 분산은 $\frac{\sigma^2}{n}$이 되는 것을 이용하여, 여러 Observation을 평균을 내면 분산이 줄어드는 점을 이용한 방법입니다 즉, Bootstrap을 이용해.. 2024. 6. 25.
[ML][Ensemble]Decision Tree(결정트리) Machine Learning 주제에서 Ensemble 학습에 들어가기 전에 Ensemble 학습의 대표적인 모델인 Random Forest가 Decision Tree 기반으로 되어있기 때문에 Decision Tree에 대해 공부하고 Ensemble 학습에 대해서 공부해보도록 하겠습니다 Decision Tree(결정트리)Decision Tree란 의사 결정 규칙과 그에 따른 결과들을 Tree 구조로 나타낸 모델입니다예측을 위해 여러 Region으로 Segmenting 하는 과정을 거치게 되고 분류 및 회귀에서 모두 사용 가능합니다 아래의 그림에서 "Years  Root Node : Tree 최상단에 위치하며, 데이터 분류의 시작점Internal Node : 하나의 Feature에 대한 조건으로 분할되는 .. 2024. 6. 24.
반응형