1. AdaBoost 란?
1) AdaBoost는 앙상블 기법 중 부스팅 방식의 기초적인 알고리즘
2) 가중치를 이용해서 강한 분류기를 만드는 방법
2. AdaBoost의 학습과정은?
1) 우리가 가지고 있는 샘플(데이터)의 각 샘플마다 가중치를 1/n으로 초기화 합니다.
2) 샘플을 이용해서 각 피쳐를 이용한 루트노드에 리프노드가 2개만 붙은 약한분류기stump를 생성합니다.(수치형 변수는 Decision Tree의 방식처럼 루트를 선택)
3) stump들 중 지니계수가 가장 낮은 stump를 선택합니다.
4) stump의 Amount of Say를 구합니다
5) 계산된 Amount of Say(=Performance Say)를 이용해서 새로운 샘플 가중치를 구합니다.
옳게 분류된 샘플엔 양의 지수를 잘못 분류된 샘플에 음의 지수를 사용합니다.
6) 계산된 가중치는 총합이 1이 되도록 정규화 되어 다음 샘플에 추가된 확률을 나타내게 됩니다. 이 확률을 이용해서 샘플을 조정하고 다음 학습기의 학습에 이용됩니다.
7) 위 과정을 반복 후 마지막으로 분류를 하기 위해 각 클래스들의 Amount of Say를 구한 후 가장 큰 Amount of Say의 클래스로 데이터를 분류하게 된다!
0 comments:
댓글 쓰기