수식이 나오지 않는다면 새로고침(F5)을 해주세요
모바일은 수식이 나오지 않습니다.
📌 Bagging(배깅)
배깅(Bagging)은 앙상블 학습 방법 중 하나입니다. 단일 모델, 즉 단 하나의 모델이 아닌 여러 개의 모델을 독립적으로 학습시킨 후에 결과를 투표 방식(Catrgorical 일 때) 혹은 평균으로(Continuous 일 때) 집계합니다.
쉽게 말하면 범주형 변수의 경우 10개의 모델 중에 8개 모델이 A로, 2개의 모델이 B로 예측하였을 경우, 투표방식으로 최종 A로 분류합니다.
연속형 변수의 경우 10개 모델의 결과를 평균을 내어 예측 값을 결정합니다.
이 bagging 방법은 다양한 모델을 학습하고 예측을 결합함으로써 모델의 분산을 줄이고, 예측 정확도를 향싱시킬 수 있습니다.
이름이 Bagging인데는 이유가 있습니다. 바로 Bootstrap aggregation(부트스트랩 집계)를 이용하기 때문입니다.
원본 데이터셋으로부터 중복을 허용하면서 무작위로 데이터를 여러번 resampling해서 나온 여러 데이터셋을 가지고 각각 개별의 모델을 학습하는 방법입니다.
우선 bagging의 전체적인 흐름을 한번 봅시다.
◼️ 평균, 분산으로 설명하는 배깅의 이유
$Z_1, Z_2, ..., Z_N$가 있고, 이들 사이의 상관관계가 $\rho$라고 가정합니다.
그리고 특정한 값 $x$에 대한 함수 $f(x)$를 추정하려고 합니다.
이때, 각각의 데이터 $Z_1,...,Z_N$에서 추정된 값과 실제 값 사이에 편향(Bias)이 있어서, 이 편향이 모든 데이터에 대해 일정한 값인 $b$를 갖습니다. 당연히 데이터의 평균 편향 역시 $b$를 가집니다.
$$
Bias(Z_i) = E(Z_i)-f(x) = b
$$
$$
\begin{align}
Bias(\frac1N \sum_{i=1}^N Z_i) &= E(\frac1N \sum_{i=1}^N Z_i) -f(x)
\\ &= \frac1N \sum_{i=1}^N(E(Z_i)-f(x))
\\ &= \frac1N Nb = b
\end{align}
$$
이 때, 데이터의 평균을 계산하면 그결과의 분산은 아래와 같습니다.
$$
\begin{align}
Var(\frac1N \sum_{i=1}^N Z_i) &= \frac{1}{N^2}[\sum_{i=1}^N Var(Z_i) + \sum_{i=1}^N \sum_{j\neq i}Cov(Z_i, Z_j)
\\ &= \frac{1}{N^2}[N \sigma^2 + N(N-1) \rho \sigma^2]
\\ &= \rho \sigma^2 + \dfrac{1-\rho}{N}\sigma^2
\end{align}
$$
이를 통해 MSE를 구해봅시다.
$$
MSE = Var + Bias^2
$$
$$
\begin{align}
MSE(Ave(Z_i)) &= Var(Ave(Z_i)) + Bias(Ave(Z_i))^2
\\ &= \rho \sigma^2 + \frac{1-\rho}{N}\sigma^2 +b^2
\end{align}
$$
평균이 아닌 원래값 $Z_i$의 MSE도 구해봅시다.
$$
\begin{align}
MSE(Z_i) &= Var(Z_i) + Bias(Z_i)^2
\\ &= \sigma^2 + b^2
\end{align}
$$
이 값들을 사용했을 때 원래 데이터 $Z_i$와 데이터들의 평균인 $\frac{1}{N}\sum_{i=1}^N Z_i$의 MSE 차는 아래와 같습니다.
$$
MSE(Z_i) - MSE(\dfrac1N \sum_{i=1}^N Z_i) = (1-\rho)(\dfrac{N-1}{N})\sigma^2
$$
해당식을 보면 데이터간의 상관인 $\rho$가 1보다 작고, 데이터 세트들의 개수인 $N$이 1보다 크다면 무조건 양수입니다.
양수의 의미가 중요합니다. 양수라는 뜻은 $MSE(Z_i)$가 $MSE(Ave(Z_i))$값보다 크다는 의미입니다. 이는 단일 데이터셋이 아닌 데이터셋들의 평균을 냈을 때 분산이 감소하고 MSE가 감소한다는 의미입니다. 때문에 평균을 사용하는 것입니다.
하지만 가장 큰 문제는 그럼이 $Z_1,...Z_N$의 데이터들을 도대체 어디서 구하느냐 입니다. 이를 위해 부트스트랩 방법을 사용합니다. 그래서 bagging = Bootstrap aggregation인 이유이죠.
'🌞 Statistics for AI > Machine learning' 카테고리의 다른 글
3. Bagging(배깅) : Random Forest은 뭐가 다를까? (0) | 2023.10.12 |
---|---|
2. Bagging(배깅) : Out of bag error estimation (0) | 2023.10.12 |
Pruning(프루닝, 가지치기) with Tree model (0) | 2023.10.10 |
CART 2. 분류나무(Classification tree)[지니 계수, 엔트로피] (0) | 2023.10.09 |
CART 1. 회귀나무(Regression tree)[재귀적 이진 분할 알고리즘] (1) | 2023.10.06 |