다중 클래스 분류를 위한 적응형 베이스 클래스 부스팅

본 논문은 다중 클래스 분류에 적용되는 ABC‑Boost(Adaptive Base Class Boost) 개념을 제안하고, 이를 구현한 ABC‑MART 알고리즘을 소개한다. 기존 MART가 이진 분류에서는 그대로 동작하지만, K≥3인 경우에는 베이스 클래스를 적응적으로 선택해 K‑1개의 클래스만 학습함으로써 모델 복잡도와 학습 시간을 감소시키면서 정확도를 향상시킨다. 실험 결과, 여러 공개 데이터셋에서 ABC‑MART가 기존 MART 대비 테스…

저자: Ping Li

다중 클래스 분류를 위한 적응형 베이스 클래스 부스팅
본 연구는 다중 클래스 분류 문제에 특화된 부스팅 프레임워크인 ABC‑Boost(Adaptive Base Class Boost)를 제안하고, 이를 구현한 ABC‑MART 알고리즘을 상세히 기술한다. 기존의 MART(Multiple Additive Regression Trees)는 다중 클래스 손실함수에 “합이 0”이라는 제약을 두지만, 실제 구현에서는 K개의 회귀 트리를 동시에 학습한다. 이는 K‑1개의 자유도만 존재함에도 불구하고 불필요한 연산을 초래한다. 저자는 이 제약을 명시적으로 활용하여 하나의 클래스를 베이스 클래스로 고정하고, 나머지 K‑1개의 클래스에 대해서만 그래디언트와 헤시안을 계산하도록 설계하였다. 핵심 아이디어는 두 가지이다. 첫째, 손실함수에 내재된 sum‑to‑zero 제약을 이용해 베이스 클래스를 선택하고, 해당 클래스를 제외한 K‑1개의 클래스에 대해 부스팅을 수행한다. 둘째, 매 부스팅 단계마다 현재 가장 큰 훈련 손실을 보이는 클래스를 베이스 클래스로 재선정함으로써, 학습이 어려운 클래스에 더 많은 자원을 할당한다. 이를 위해 각 단계에서 클래스별 확률 p_{i,k}=exp(F_{i,k})/∑_{s}exp(F_{i,s}) 를 계산하고, 베이스 클래스 b를 argmax_{k} L(k) (여기서 L(k)=∑_{i}−log p_{i,k}·1_{y_i=k}) 로 선택한다. 수식적으로는 베이스 클래스를 제외한 클래스 k에 대해 손실 L_i에 대한 1차 미분을 ∂L_i/∂F_{i,k}= (r_{i,0}−p_{i,0})−(r_{i,k}−p_{i,k}) 로, 2차 미분을 ∂²L_i/∂F_{i,k}²= p_{i,0}(1−p_{i,0})+p_{i,k}(1−p_{i,k})+2p_{i,0}p_{i,k} 로 새롭게 유도한다. 이는 기존 LogitBoost와 MART에서 사용된 미분값과 차이가 있음을 보여준다. 이러한 미분값을 이용해 회귀 트리의 잎노드 값을 뉴턴 업데이트 방식으로 조정한다. 알고리즘 흐름은 다음과 같다. 초기에는 모든 클래스에 대해 F_{i,k}=0, p_{i,k}=1/K 로 시작한다. 매 부스팅 반복 m에서 베이스 클래스를 제외한 K‑1개의 클래스마다 의사응답 ỹ_{i,k}=−(r_{i,b}−p_{i,b})+(r_{i,k}−p_{i,k}) 를 계산하고, 이를 목표값으로 회귀 트리를 학습한다. 각 트리의 잎노드에 대해 β_{j,k,m}=∑_{x_i∈R_{j,k,m}} ỹ_{i,k} / ∑_{x_i∈R_{j,k,m}}

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기