logo

퍼뮤테이션 엔트로피

https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.88.174102 http://materias.df.uba.ar/dnla2019c1/files/2019/03/permutation_entropy.pdf


오토마타

  • 폰 노이만 네이버후드

유전 알고리즘


MEP

https://arxiv.org/pdf/2110.00367


의사결정나무


데이터과학에서 배깅과 부스팅

용어

  1. (주로 데이터 과학에서) 부트스트랩bootstrap이란 이미 주어진 데이터셋에서 일부를 복원추출하며 데이터셋의 수 자체를 늘리는 기법과 관련이 있다.
  2. 배깅bagging이란 부트스트랩 어그리게이션bootstrap aggregating의 줄임말로, 여러 개의 모델을 만들어 그들의 합산으로써 최종 모델을 만드는 방법이다.
  3. 부스팅boosting이란, 여러 번 모델을 만들면서 예측 능력이 떨어졌던 데이터에 대해서 더 큰 가중치를 주며 약점을 보완한 최종 모델을 만드는 방법이다.

설명

직관적으로 보자면, 배깅은 병렬적이고 부스팅은 직렬적이다.

인터넷에 배깅과 부스팅을 도식이나 예시를 가지고 설명한 자료는 차고 넘치나, 수식이 편한 사람들에게는 이 포스트에서 참고한 논문이 더 마음에 들 것이다1. ‘학습’이 일어나는 총 시행횟수를 $T$, 그 때마다 $N$ 개의 데이터포인트 중 $n$ 개의 서브데이터셋을 복원추출하며, 회귀문제 혹은 분류문제를 푸는 모델을 $f^{(t)}$ 라고 나타내자. $\left\{ f^{(t)} \right\}_{t=1}^{T}$ 는 전체 데이터보다 부족한 데이터에서 학습했기 때문에 일종의 약한 모델weak model로 취급되기도 한다.

배깅

$t = 1 , \cdots , T$ 번째마다 $n$ 개의 데이터포인트를 복원추출하며 그 각각에서 모델을 학습시켜 $f^{(1)} , \cdots , f^{(T)}$ 를 얻는다. 이들은 서로 독립적이기 때문에 복수의 장치에서 동시에 학습시킬 수 있으며, 서로가 서로의 빈 부분을 테스트 데이터로 삼아 교차검증이 용이하다.

부스팅

$t$ 번째 시행에서 $N$ 개의 데이터포인트들이 가중치벡터 $w^{(t)} = (w^{(t)}_{1}, \cdots , w^{(t)}_{N})$ 에 비례하도록 샘플링된다. 가장 처음엔 모든 데이터포인트의 가중치가 동일하게끔 $w_{k}^{1} = 1 / N$ 으로 두고, 학습과정에서 오차가 크거나 오분류된 데이터포인트의 가중치를 키워서 다음 시행에서 더 자주 샘플링되도록 한다. 이렇게 세대를 거듭해서 학습되는 $f^{(t)}$ 는 점점 약점을 극복하는 방향으로 전문화된다.

최종 모델

최종 모델 $F$ 는 회귀문제와 분류문제에 따라 다르게 구성된다. 회귀문제에서는 다음과 같이 출력값의 평균을 리턴하는 식으로 나타낸다. $$ F(x) = {\frac{ 1 }{ T }} \left( f^{(1)}(x) + \cdots + f^{(T)}(x) \right) $$

분류문제에서는 다음과 같이 다수결 투표로 출력값을 리턴하는 식으로 나타낸다. $\operatorname{mode}$ 는 최빈값을 나타낸다. $$ F(x) = \operatorname{mode} \left\{ f^{(1)}(x), \cdots , f^{(T)}(x) \right\} $$


랜덤포레스트


그래디언트 부스팅


DBscan


ISTA


파레토 프론트


포물선의 광학적 성질


타원의 광학적 성질


쌍곡선의 광학적 성질


  1. Quinlan, J. R. (1996, August). Bagging, boosting, and C4. 5. In Aaai/Iaai, vol. 1 (pp. 725-730). ↩︎