Ü YP Y L Ÿ 1 / 20 - statlearn.uos.ac.krstatlearn.uos.ac.kr/2018/dmlab_spring_18/extra.pdf ·...

20
Y` Lü ¡0 0˜ =t YP ˜Yü =t (YP ˜Yü) Y` Lü ¡0 0˜ 1 / 20

Transcript of Ü YP Y L Ÿ 1 / 20 - statlearn.uos.ac.krstatlearn.uos.ac.kr/2018/dmlab_spring_18/extra.pdf ·...

앙상블 알고리즘과 서포트 벡터 기계

박창이

서울시립대학교 통계학과

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 1 / 20

학습내용

앙상블(emsemble) 알고리즘

배깅(bagging)

부스팅(boosting)

랜덤 포레스트(random forrest)

서포트 벡터 기계

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 2 / 20

학습방법의 불안정성 I

학습자료의 작은 변화에 의해 예측모형이 크게 변하는 경우 그

학습방법은 불안정함

안정적인 방법:

1-차 근방(1-nearest neighbor), 최소제곱추정에 의한 선형회귀

불안정한 방법:

선형회귀모형에서의 최적 부분집합선택, 의사결정나무 등 예측모형

구축시 불연속적인 의사결정

학습방법의 불안정성은 예측력을 저하시키며 예측모형의 해석을

어렵게 함

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 3 / 20

학습방법의 불안정성 II

의사결정나무의 불안정성

|NOX<9.55

INDUS<3.985

TAX<264.5 RM<6.6365

40.69 27.26 20.00 34.07

-71.04

|AGE<2.9475

DIS<14.9632

RM<6.945

RM<7.437

-71.04

21.65

32.72 46.29

42.21

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 4 / 20

배깅 알고리즘 I

bagging: Bootstrap Aggreating

주어진 자료에 대하여 여러개의 붓스트랩(bootstrap) 자료를 생성하고

각 붓스트랩 자료에서 예측모형을 만든 후 결합하여 최종 예측모형을

만듬

L = {(x i , yi )}ni=1: 훈련자료

알고리즘

1. B개의 붓스트랩 자료 L∗(b), b = 1, . . . ,B 생성

2. 각 붓스트랩 자료 L∗(b)에 대해서 예측모형 f (b)(x)를 구축

3. B개의 예측모형을 결합하여 최종 모형 f을 만듬

1 회귀: f (x) =∑B

b=1 f(b)(x)/B와 같이 평균 이용

2 분류: f (x) = arg maxk(∑B

b=1 I (f(b)(x) = k)

)와 같이 투표(voting)

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 5 / 20

배깅 알고리즘 II

Breiman (1996) 논문의 예시 중 일부

자료 표본수 변수개수 클래스 개수 eS eB 오차 감소율

waveform 300 21 3 29.1 19.3 34 %

heart 1395 16 2 4.9 2.8 43 %

breast cancer 699 9 2 5.9 3.7 37%

ionosphere 351 34 2 11.2 7.9 29%

diabets 768 8 2 25.3 23.9 6%

glass 214 9 6 30.4 23.6 22%

soybean 683 35 19 8.6 6.8 21%

eS : 최적의 단일 의사결정나무의 예측오차, eB : 배깅의 예측오차

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 6 / 20

배깅 알고리즘 III

최적의 의사결정나무 구축시 가장 어려운 부분이 가지치기임

배깅에서는 가지치기를 하지 않은 최대로 성장한 의사결정나무를

사용함. 가지치기를 하지 않음으로써 오히려 하나의 최적

의사결정나무를 구축하는 것보다 계산량이 작을 수 있음

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 7 / 20

배깅의 이론적 배경

배깅은 예측모형의 편의(bias)에는 영향을 미치지 않고 분산에만

영향을 미침

배깅을 적용하기에 적합한 예측모형은 편의가 없고 분산이 큰 모형

일반적으로 과대적합된 모형이 편의가 작고 분산은 크며,

의사결정나무에 배깅을 적용할 때 가지치기를 하지 않는 것도

과대적합을 통해 배깅의 효과를 극대화하기 위함임

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 8 / 20

부스팅 I

AdaBoost(Adaptive Boost) 알고리즘

1. 가중치 wi = 1/n, i = 1, . . . , n를 초기화

2. m = 1, . . . ,M에 대하여 다음 과정을 반복

1 가중치 wi를 이용하여 분류기 fm(x) ∈ {−1, 1}를 적합2 errm를 다음과 같이 계산

errm =

∑ni=1 wi I (yi 6= fm(x i ))∑n

i=1 wi.

3 cm = log((1− errm)/errm)로 설정

4 가중치 wi를 wi = wi exp(cmI (yi 6= fm(x i ))

)로 업데이트

3. 단계 2에서 얻은 M개의 분류기를 결합하여 최종 분류기

f (x) = sign(∑M

m=1 cm fm(x))를 얻음

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 9 / 20

부스팅 II

단계 2의 (c)와 (d)

fm: 랜덤한 추측보다 조금 좋은 예측력을 갖는다고 하면 fm의 (가중)

오분류률은 0.5보다 작게 되므로 (c)의 cm > 0

(d)에서 각 관측치에 할당되는 가중치가 fm에 의해서 오분류된

관측치에서는 증가하고 정분류된 관측치에서는 기존의 값과 같음

⇒ 매 반복마다 오분류된 관측치의 가중치는 증가시키고 정분류된가중치는 감소시키면서 예측모형을 만듬

약한 학습기 fm의 오분류율이 항상 0.5− γ(γ > 0)이면 훈련오차는

지수적으로 빠르게 0으로 수렴(Freund와 Schapire, 1997)

AdaBoost 알고리즘의 본래 목적은 훈련오차를 빨리 줄이기 위한

것이나 예측오차도 감소한다는 것이 경험적으로 입증

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 10 / 20

부스팅 III

부스팅의 예측오차

자료 단일 의사결정나무 Adaboost 감소율 Bagging

waveform 29.0 18.2 37 % 19.4

breast cancer 6.0 3.2 47 % 5.3

ionosphere 11.2 5.9 47 % 8.6

diabets 23.4 20.2 14 % 18.8

glass 32.0 22.0 31 % 24.9

AdaBoost의 예측력이 배깅보다 더 좋음

AdaBoost에서는 최종노드의 수가 2개인 가장 간단한 의사결정나무인

그루터기(stump)를 약한 학습기로 사용

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 11 / 20

랜덤 포레스트 I

배깅과 부스팅보다 더 많은 무작위성을 주어 약한 학습기들을 생성한

후 이를 선형결합하여 최종 학습기를 생성

이론적 설명이나 최종 결과에 대한 해석은 어렵지만 예측력은 매우

높음

특히 입력변수의 개수가 많을 때에는 배깅이나 부스팅과 비슷하거나

더 좋은 예측력을 보이는 경우가 많고, 조율모수가 없어서 실제

자료분석에 쉽게 사용됨

무작위성을 극대화하기 위해 붓스트랩과 더불어 입력변수들에 대한

무작위 추출을 결합

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 12 / 20

랜덤 포레스트 II

알고리즘

1. 훈련자료 L = {yi , x i}ni=1, x i ∈ Rp 에 대하여 n개를 자료를 이용한

붓스트랩 표본 L∗ = {y∗i , x

∗i }ni=1을 생성

2. L∗에서 입력변수들 중 k(k � p)개만 무작위로 뽑아 의사결정나무를

생성. 이때 의사결정나무는 정해놓은 s 단계까지 진행

3. 생성된 의사결정나무들을 선형결합하여 최종학습기를 생성

붓스트랩 표본의 크기, k/p값, 선형결합의 형식 등 여러가지

선택사항이 있음

붓스트랩 표본의 개수는 적절히 커야 함

선형결합 형식: 회귀의 경우 평균, 분류의 경우 다수결 원칙 적용

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 13 / 20

서포트 벡터 기계

Cortes와 Vapnik (1995)에 의하여 도입

흔히 서포트 벡터 분류를 의미

예측이 정확하고 여러가지 형태의 자료에 대하여 적용이 쉽기 때문에

최근 여러가지 예측문제에서 사용됨

로지스틱 회귀와는 달리 확률 추정을 하지 않고 직접 분류 결과에

대한 예측

벌점화 기법의 하나이며, 계산량이 자료의 수에 비례하지만 차원의

크기에는 덜 민감(n� p의 경우 유용)

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 14 / 20

서포트 벡터 기계에 의한 선형 분류

(a) 분리 가능한 경우 (b) 분리 불가능한 경우

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 15 / 20

선형 분리 가능한 경우

선형 분류함수: f (x) = 〈w , x〉+ b

모든 i(= 1, . . . , n)에 대하여 yi f (x i ) > 0인 선형 초평면(linear

hyperplane) f (x) = 0가 무수히 많이 존재

훈련자료들의 마진(margin) C > 0를 최대화하는 유일한 초평면을

찾아줌

제약조건 yi (〈w , x i 〉+ b) ≥ C , i = 1, . . . , n에 대하여 maxb,w :‖w‖=1

C

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 16 / 20

선형 분리 가능하지 않은 경우 I

슬랙 변수(slack variable) ξ1, . . . , ξn을 도입함으로써 어느 정도

오분류를 허용하며 마진 C를 최대화

제약조건 yi (〈w , x i 〉+ b) ≥ 1− ξi , ξi ≥ 0, i = 1, . . . , n하에서

minb,w :‖w‖=1

(1

2‖w‖2 + C

n∑i=1

ξi

)

C > 0: 훈련오차와 벌점간의 상대적 크기를 조절하는 벌점 모수

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 17 / 20

선형 분리 가능하지 않은 경우 II

라그랑즈 원시 함수(Lagrange primal function)

QP =12‖w‖

2 + C∑n

i=1 ξi −∑n

i=1 αi [yi (〈w , x i 〉+ b)− (1− ξi )]−∑n

i=1 µiξi

i = 1, . . . , n에 대하여 αi , µi , ξi ≥ 0,

0 =∂QP

∂w= w −

n∑i=1

αiyix i , (1)

0 =∂QP

∂b= −

n∑i=1

αiyi ,

0 =∂QP

∂ξi= C − αi − µi

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 18 / 20

선형 분리 가능하지 않은 경우 III

라그랑즈 쌍대 목적함수(Lagrange dual objective function)

제약조건n∑

i=1

yiαi = 0, 0 ≤ αi ≤ C , i = 1, . . . , n

하에서

QD =1

2

n∑i=1

n∑j=1

yiyjαiαj〈x i , x j〉 −n∑

i=1

αi

QD의 최적화는 QP(quadratic programming) 문제

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 19 / 20

선형 분리 가능하지 않은 경우 IV

(1)과 함께 다음의 제약 조건들을 KKT 조건이라 부름

αi [yi (〈w , x i 〉+ b)− (1− ξi )] = 0, (2)

µiξi = 0,

yi (〈w , x i 〉+ b)− (1− ξi ) ≥ 0

αi (i = 1, . . . , n): QP의 해

w =∑n

i=1 αiyix i

αi > 0인 관측값을 서포트 벡터라 부름

편의항 b는 0 < αi < C인 자료에 대하여 b = yi − αi 〈w , xi 〉로 계산

분류함수: f (x) = 〈w , x〉+ b, 분류기: C (x) = sign(f (x))

박창이 (서울시립대학교 통계학과) 앙상블 알고리즘과 서포트 벡터 기계 20 / 20