AdaBoost

AdaBoost

AdaBoostAdaptive Boost의 줄임말로, 요브 프룬트로버트 샤파이어1995년에 만든 통계 분류 메타 알고리즘으로, 2003년 괴델상을 수상했다.다른 많은 유형의 학습 알고리즘과 함께 사용하여 성능을 향상시킬 수 있습니다.다른 학습 알고리즘('약한 학습자')의 출력은 상승된 분류기의 최종 출력을 나타내는 가중치 합계로 결합된다.일반적으로 AdaBoost는 이진 분류용으로 제공되지만, 실제 라인에서 [1][2]여러 클래스 또는 경계 간격으로 일반화할 수 있습니다.

AdaBoost는 후속 취약 학습자가 이전 분류자에 의해 잘못 분류된 인스턴스를 위해 조정된다는 점에서 적응력이 있습니다.일부 문제에서는 다른 학습 알고리즘보다 과적합 문제에 덜 민감할 수 있습니다.개별 학습자는 약할 수 있지만, 각각의 성과가 무작위 추측보다 약간 더 좋으면 최종 모델은 강력한 학습자로 수렴된다는 것을 증명할 수 있다.

AdaBoost는 일반적으로 약한 기본 학습자(: 의사 결정 스탬프)를 결합하는 데 사용되지만, 강력한 기본 학습자(예: 깊은 의사 결정 트리)를 효과적으로 결합할 수 있어 훨씬 더 정확한 [3]모델을 생성할 수 있는 것으로 나타났다.

모든 학습 알고리즘은 일부 문제 유형에 더 잘 맞는 경향이 있으며, 일반적으로 데이터 집합에서 최적의 성능을 달성하기 전에 조정해야 하는 다양한 매개 변수와 구성이 있습니다.AdaBoost(약자 학습자로서의 의사결정 트리 포함)는 종종 즉시 사용할 [4][5]수 있는 최고의 분류기라고 불립니다.의사결정 트리 학습과 함께 사용될 때, 각 훈련 샘플의 상대적인 '경도'에 대한 AdaBoost 알고리즘의 각 단계에서 수집된 정보는 나중에 트리가 분류하기 어려운 예에 초점을 맞추는 경향이 있도록 트리 성장 알고리즘에 공급된다.

트레이닝

AdaBoost는 부스트된 분류기를 훈련하는 특정 방법을 말합니다.부스트 분류자는 형식의 분류자입니다.

서 각 {\ x {\ x 입력으로 사용하여 객체의 클래스를 나타내는 값을 반환하는 약한 학습자입니다.예를 들어, 2-클래스 문제에서 약한 학습자의 출력 부호는 예측 대상 클래스를 식별하고 절대값은 해당 분류에 대한 신뢰를 준다.T\T번째 분류기는 샘플이 양수이면 양수이고 그렇지 않으면 음수입니다.

각 약한 학습자는 교육 세트의 각 샘플에 대해 h를 수정하는 출력 h)({ h 생성합니다.tt를 할 때마다 약한 학습자를 선택하고 t _ 할당하여 결과적으로 t\ tstage 부스트 분류기의 총 훈련 오류 최소화합니다.

t- () { F _ { t -( x ) }는 훈련의 이전 단계까지 구축되어 있는 확장 이며( F ) { E( ) = h( x ) { } \ ( x ))최종 분류기

가중치

트레이닝 프로세스의 각 반복 시 트레이닝 세트의 각 샘플에 가 해당 샘플의 현재 E( -1 (i Ei}))와 동일합니다.이러한 가중치는 약한 학습자의 훈련에 사용될 수 있다. 예를 들어, 높은 가중치를 가진 샘플 세트를 분할하는 것을 선호하는 의사결정 트리를 기를 수 있다.

파생

Rojas(2009)[6]에 이은 파생 모델입니다.

세트{ ( 1, 1 ) ( N , ) { \ { ( 1 , \, ( x { , y { \ }。여기서 i { style y 1 입니다 항목별로 { -, \ {- 출력합니다.( -) {() -th 반복 후, 부스트 분류기는 형식의 약한 분류기의 선형 조합입니다.

( -1) ( ) k ( i) +m - k -1 ( ){ ( =\_ {1} (+\_

여기서 클래스는 ( -) ( ) { ( ) ( _ { }} 。{ m} - 번째 반복에서는 다른 m { 을 추가하여 더 나은 부스트 분류기로 확장하려고 합니다.

따라서 어떤 분류기가 km(\ k_{에 가장 적합한지, 그리고 그 m 얼마인지 결정해야 합니다. m{ C _ { } error eE error error 、각 데이터 포인트에서의 지수 손실의 합계로서 다음과 같이 정의합니다.

(1 ) { w { }^{ (1) } = ( ) - i - ( ) = { - y _ { } _ { i } =e^ { - { } C _ { - { i } C _ { - { i } ( { } } }} }}}}} m > m 、 m : 1 : 、 1 : > sty m 、 m 、 m

이 합계를 k 로 올바르게 분류된 데이터 포인트와 잘못 분류된 데이터 포인트(\ i}( 1로 나눌 수 있습니다.

방정식의 오른쪽 부분 중 k m 하는 부분은 ( w ( _ {}\}) } 입니다.Inimizes ∑ y 나는 ≠ km()나는)wi(m){\displaystyle \sum_{y_{나는}\neq k_ᆰ(x_{나는})}w_{나는}^{(m)}}[가정은α m>0{\displaystyle \alpha_{m}>0}], 가장 낮은 가중 오류(로 무게 wi(m)과 예를 들면, 약한 선형 분급기)e−는 y나는 Cm− 1()나는){\displaystyle 지..지_{나는}^{}}}}}}.

방금 결정한 m})로 E 하는 원하는 m \m})을 결정하기 위해 다음과 같이 구분합니다.

이 값을 0으로 설정하고 m {\ _ 대해 해결하면 다음과 같이 됩니다.

증명

- m {\ e _ i {\ i}에 의존하지 않기 입니다.

약한 분류기의 가중 오류율은 m ( i ) i () / i w ( ) ( ) { \ _ { m } \ { } ( { } \ neq k _ { i } w / { } / { m / { i } ( i } } ( } )로 계산한다.

음의 로짓 함수에 0.5를 곱한 값입니다. m\ _ { } m a aa a a a due due due due m m m m m mm m due due due due of of of of of due due due due of due due due due due due due of e e e due due due

주의: 이 도출은 k ( x ){{ - , \ \ { - 1 , { k { _ { } \ in \ { - \ \ in \ i } \ in \ style k_m ( x _ \ a is is is is is 、 a ,_ k ( { i } } { k k k { { { { { { { k k k k k k k k k { { { { { { { k k k k k k,b , , { k _ { )\ { a , , \ ,n \} Rk _ { } \ \ { }

따라서 AdaBoost 알고리즘을 도출했습니다.각 반복에서 m{\합니다.이것에 의해, 합계 가중 에러를 최소한으로 억제할 수 있습니다 ( x )w( ) \ displaystyle \_ { y _ } \ k _ { m} ( x { }} } } w _ { i _ { i } } }^{ m }} ww i i i i i iw i iw i mw i m= i mw i k m i i i i i w (m) { \_ { m } = \ { _ { \ k { } ( { _ { N_ { }^{ i } ^{ i }^{ i } 1( m lneq k _ } w 1 lneq k } }는 C m- C )+ m ({m}= _로 개선합니다.

부스팅에 대한 통계적 이해

부스팅은 선형 회귀의 한 형태로, 각 스타일 })의 특징은 스타일 에 적용된 약한 h h 결과입니다.

회귀 분석에서는 일반화의 손실없이 F) {F(를 y 정확하게 맞추려고 하지만, 일반적으로 제곱 E (( ) -( ) 2 {E(fx)를 사용합니다. 반면 AdaBoost 오류 E ( ) - ( ) ( E ( f )= { - ( )f )}}는 최종 결과의 부호만 되므로 F( F ( 에러를 증가시키지 않고 크게 할 수 있습니다.단, i ( )f( i) { -( x i ) ( x _ { ) f ( { } )의 오차는 기하급수적으로 합니다.결과적으로 특이치에 과도한 가중치가 할당됩니다.

지수 오차 함수 선택의 한 가지 특징은 최종 가법 모델의 오차가 각 단계의 오차의 곱이라는 이다. 즉, e - f ( ) - f ( xi) \display ^{\ _ fi따라서 AdaBoost 알고리즘의 가중치 업데이트는 각 단계 후에 t ( 재계산하는 것과 동등함을 알 수 있습니다.

손실 함수의 선택에는 많은 유연성이 허용된다.손실 함수가 단조롭고 연속적으로 미분 가능한 한, 분류기는 항상 순수한 해법으로 [7]유도됩니다.Zhang(2004)은 수정된 Huber 손실 함수인 최소 제곱에 기초한 손실 함수를 제공합니다.

이 기능은 LogitBoost보다 f())에 가까운 1또는-1,>(yf())‘자신 과잉’ 예측 penalise지 않는다{\displaystyle f())}을 위해;1{\displaystyle yf())> 1}), 수정되지 않은 최소 이승, 그리고 오직 penalises 사료로 quadratica에 반대하는 자신감 이상 1선형과, misclassified 달리 몸가짐이 바르다lly나지수적으로 증가하므로 특이치의 영향을 덜 받습니다.

경사 강하 시 부스팅

승압은 볼록한 [8]함수 집합에 대한 볼록 손실 함수의 최소화로 볼 수 있다.구체적으로 AdaBoost에 의해 최소화되는 손실은 지수 손실 i( i , , ) - f ( _ , , f )= \_{} fi ), Logistration을 실행하는 반면, logistruction,

경사 강하 유추에서, 각 훈련 포인트에 대한 분류기의 출력은 각 학습자가 약한 훈련에 해당하는 n차원 공간에서 점t (1), , ( n), (_ { } ( x { n} ) , \ , F _ { } ( { n } \ right 간주됩니다. h 고정된 방향과 길이의 벡터에 대응하며, 목표는 타겟포인트1, {또는 1, n { )에 도달하는 입니다., 가장 적은 스텝으로.따라서 AdaBoost 알고리즘은 Cauchy(최경사 구배를 가진 h h 찾아 테스트 오류를 최소화하려면h ) 또는 Newton(타깃점을 하고 }) 중 수행합니다.트레이닝 에러의 발생.

알고리즘 예(Discrete AdaBoost)

포함:

  • 1n \ style \
  • 원하는 1 , { - , { _ {1 \ y _ {} , y \ \ { - 1, \ }
  • (1 , { 으로 됩니다.
  • 오류 E( () , , ) - ( i ){ ( ) , , i= { - _ { ( x {i } }
  • 약한 h : { - , 1 { \ \ { -, 1\ }

\ t 1 \ 1 \ T :

  • t() { 합니다.
    • 분류된 포인트의 가중치 합계 오류 h t ( ) n ,t \ \ _ { t } 、 t \ \ _ { } ( x) 、 t 、 t 、 \{ { t
    • t 2 - t{ _ { t } ={ { left { } \ \ { 1 - \ { t} { \ } } } 를 합니다.
  • 앙상블에 추가:
  • 무게 업데이트:
    • i + i - y t ( i) { { , } =_ { , t } { - y _ { i } \ _{ } h { x { } } } } }
    • + {1} {displaystyle ,t+1 {} 로 정규화 .
    • (주: h+ ( i ) w , t+ + ( ) y , + 1 t (x ) , 、 t 、 t t 、 ( ) { { {_{i})=y_}}){i}}}t}}}}}}}}}는 단계마다 새로운 가중치의 계산을 단순화할 수 있습니다

변종

실제 AdaBoost

Decision Tree의 출력은 클래스 확률 p ( ) ( 1 x ){ ( x )= ( yx )。x{ x}가 플러스 [7]클래스일 확률입니다.Freedman, Hastie 및 Tibshirani는 최소 를 사용하여 e- ( t - () + t (x){ e^ { - \ ( _ { t - 1 } ( ) + _ { } () \ )에 분석 최소치를 도출한다.

t(x ) 1 -){ t}(x)= {x} \

따라서 트리 전체의 출력에 일정한 값을 곱하는 것이 아니라 각 리프 노드가 이전 값의 로짓 변환의 절반을 출력하도록 변경됩니다.

LogitBoost

LogitBoost는 설정된 로지스틱 회귀 기법을 AdaBoost 메서드에 적용하는 것을 나타냅니다.약한 학습자는 y에 대한 오류를 최소화하는 대신 t( f_ (가중치 최소 제곱) 오류를 최소화하는 데 선택됩니다.

어디에

, zt {\ t에서의 로그 우도 오류 최소화에 대한 뉴턴-라프슨 근사치이며, weak f {\ f_}}는 가중 최소 제곱에 의해 z {\ 가장 학습자로 선택됩니다.

p가 1 또는 0에 가까워지면 p ( ) - ( ) { style _ { } ( { } )의 이 매우 작아지고 잘못 분류된 샘플의 경우 큰 z 항이 기계 정밀도 반올림 오류로 인해 수치적으로 불안정해질 수 있습니다.이는 z의 절대값과 w의 최소값에 대해 어느 정도 제한을 적용함으로써 극복할 수 있습니다.

젠틀 AdaBoost

이전 부스트 알고리즘은 f {\ 탐욕스럽게 하여 각 단계에서 전체 테스트 오차를 최대한 최소화한 반면, GentleBoost는 제한된 스텝 크기를 특징으로 합니다.t { f{t } i i - ( ) ) _ { _ { , } ( _ { } - _ { } ( x { } ) 추가 계수는 적용되지 않습니다.따라서 약한 학습자가 완벽한 분류 성능을 보이는 경우, GentleBoost는 t ( ) t () { ) \ _ y{ y 동일하게 하지만, 가장 가파른 하강 알고리즘은 displaystyle \\tyle_하려고 한다.GentleBoost의 양호한 성능에 대한 관측 결과는 지나치게큰 α(\ 허용하면 일반화 성능이 [9][10]저하될 수 있다는 Schapire와 Singer의 발언을 뒷받침하는 것으로 보인다.

조기 종료

부스트된 분류기의 처리를 고속화하는 기술인 조기종단은 어떤 신뢰역치를 충족하기 위해 필요한 최종 분류기의 층수만큼만 각 잠재적 오브젝트를 테스트하는 것을 의미하며, 오브젝트의 클래스를 쉽게 결정할 수 있는 경우의 계산을 고속화한다.그러한 긍정적인 샘플의 일부 허용될 만큼 작은 일부 부정적으로라고 잘못 라벨링은 그와 같은 계획은 개체를 탐지 체계 비올라와 존스에 의해 소개되:훨씬 더 부정적인 샘플의 응용 프로그램에보다 긍정적으로[11], 별도의 부스터 classifiers이 쏟아지는 바람, 각 단계의 출력은 편견에, 그리고 모든 샘플 mar. 훈련을 받는다양이파리.각 단계가 폐기된 후 음으로 표시됩니다.음성 샘플의 50%가 각 단계에서 걸러지면 극소수의 개체만 전체 분류기를 통과하여 계산 작업을 줄일 수 있습니다.이 방법은 이후 각 단계에서 최적의 임계값을 선택하여 원하는 잘못된 양의 [12]비율과 잘못된 음의 비율을 달성하기 위한 공식을 통해 일반화되었습니다.

AdaBoost가 보통 치수 문제에 더 많이 적용되는 통계 분야에서는 오버핏을 [13]줄이기 위한 전략으로 조기 정지가 사용됩니다.검증 샘플 세트를 트레이닝 세트로부터 분리해, 트레이닝에 사용하는 샘플의 분류기의 퍼포먼스와 검증 샘플의 퍼포먼스를 비교하고, 트레이닝 세트의 퍼포먼스가 계속 향상하고 있어도 검증 샘플의 퍼포먼스가 저하한다고 판단되면 트레이닝을 종료한다.

완전 수정 알고리즘

오류를 최소화하기 위해 각 계층 t에서 t \ _ 선택하는 AdaBoost의 가장 가파른 하강 버전의 경우, 추가된 다음 계층은 계층 [14]t와 최대 독립적이라고 한다. 학습자 t와 유사한 약한 학습자 t+1을 선택할 가능성은 낮다.그러나 t+1이 다른 초기 계층과 유사한 정보를 생성할 가능성은 남아 있습니다.LPBoost와 같은 완전 수정 알고리즘은 각 단계 이후의 모든 계수의 값을 최적화하기 때문에 추가된 새로운 계층은 항상 모든 이전 계층과 최대한 독립적입니다.이는 백핏, 선형 프로그래밍 또는 다른 방법으로 수행할 수 있습니다.

가지치기

플루닝은 성능이 떨어지는 취약한 분류자를 제거하여 메모리 및 확장 분류자의 실행 시간 비용을 개선하는 프로세스입니다.완전 교정 훈련과 함께 특히 효과적일 수 있는 가장 간단한 방법은 가중치 또는 마진 트리밍이다. 즉, 일부 약한 분류기의 계수 또는 총 시험 오류에 대한 기여도가 특정 임계값 아래로 떨어지면 해당 분류기가 떨어진다.Margineantu & Dietterich는[15] 트리밍의 대체 기준을 제시했습니다: 앙상블의 다양성을 최대화할 수 있도록 약한 분류기를 선택해야 합니다.두 명의 약한 학습자가 매우 유사한 출력을 생성하는 경우, 이들 중 하나를 제거하고 나머지 [16]약한 학습자의 계수를 증가시킴으로써 효율성을 향상시킬 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Freund, Yoav; Schapire, Robert E. (1995), "A desicion-theoretic [sic] generalization of on-line learning and an application to boosting", Lecture Notes in Computer Science, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 23–37, doi:10.1007/3-540-59119-2_166, ISBN 978-3-540-59119-1, retrieved 2022-06-24
  2. ^ Hastie, Trevor; Rosset, Saharon; Zhu, Ji; Zou, Hui (2009). "Multi-class AdaBoost". Statistics and Its Interface. 2 (3): 349–360. doi:10.4310/sii.2009.v2.n3.a8. ISSN 1938-7989.
  3. ^ Wyner, Abraham J.; Olson, Matthew; Bleich, Justin; Mease, David (2017). "Explaining the Success of AdaBoost and Random Forests as Interpolating Classifiers". Journal of Machine Learning Research. 18 (48): 1–33. Retrieved 17 March 2022.
  4. ^ Kégl, Balázs (20 December 2013). "The return of AdaBoost.MH: multi-class Hamming trees". arXiv:1312.6086 [cs.LG].
  5. ^ Joglekar, Sachin. "adaboost – Sachin Joglekar's blog". codesachin.wordpress.com. Retrieved 3 August 2016.
  6. ^ Rojas, Raúl (2009). "AdaBoost and the super bowl of classifiers a tutorial introduction to adaptive boosting" (Tech. Rep.). Freie University, Berlin.
  7. ^ a b Friedman, Jerome; Hastie, Trevor; Tibshirani, Robert (1998). "Additive Logistic Regression: A Statistical View of Boosting". Annals of Statistics. 28: 2000. CiteSeerX 10.1.1.51.9525.
  8. ^ Zhang, T. (2004). "Statistical behavior and consistency of classification methods based on convex risk minimization". Annals of Statistics. 32 (1): 56–85. doi:10.1214/aos/1079120130. JSTOR 3448494.
  9. ^ Schapire, Robert; Singer, Yoram (1999). "Improved Boosting Algorithms Using Confidence-rated Predictions": 80–91. CiteSeerX 10.1.1.33.4002. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  10. ^ Freund; Schapire (1999). "A Short Introduction to Boosting" (PDF):
  11. ^ Viola, Paul; Jones, Robert (2001). "Rapid Object Detection Using a Boosted Cascade of Simple Features". CiteSeerX 10.1.1.10.6807. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  12. ^ McCane, Brendan; Novins, Kevin; Albert, Michael (2005). "Optimizing cascade classifiers". {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  13. ^ Trevor Hastie; Robert Tibshirani; Jerome Friedman (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd ed.). New York: Springer. ISBN 978-0-387-84858-7.
  14. ^ Šochman, Jan; Matas, Jiří (2004). Adaboost with Totally Corrective Updates for Fast Face Detection. ISBN 978-0-7695-2122-0.
  15. ^ Margineantu, Dragos; Dietterich, Thomas (1997). "Pruning Adaptive Boosting". CiteSeerX 10.1.1.38.7017. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  16. ^ Tamon, Christino; Xiang, Jie (2000). "On the Boosting Pruning Problem". {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)

추가 정보