4. 「기계학습」 Chapter 12 앙상블 기법 (4/25)
↳
1. 웬만한 성능을 쉽게 얻을 수 있다.
2. 성능 향상을 꾀할 수 있다.
3. 데이터 양이 적어도 충분한 학습 효과를 거둘 수 있다.
4. 원하는 시점에서 데이터를 융합할 수 있다.
5. 점진적인 학습이 가능하다.
Introduction
앙상블을 사용하는 이유
Part 01
5. 「기계학습」 Chapter 12 앙상블 기법 (5/25)
↳
• 앙상블 결합에 참여하는 개별 분류기는 다양해야 함.
• 요소 분류기들이 틀리는 샘플이 서로 다를수록 ‘다양하다’ 라고 함.
• 분류기를 생성하는 방법
• 훈련 집합을 재샘플링(Resampling method)하는 방법, 특징 공간의
일부를 선택하는 부분 공간 방법(Subspace method)으로 나뉨
• Begging과 Boosting은 재샘플링, Random Forest는
부분 공간 방법에 해당
Introduction
분류기의 다양성
Part 01
7. 「기계학습」 Chapter 12 앙상블 기법 (7/25)
↳
• DB의 질적 및 양적 품질은 인식기의 성능을 좌우
• 훈련 집합 이외에 별도의 검증 집합 필요
• 그러나 현실적인 문제들이 존재
• DB수집에는 많은 시간과 비용이 듬
• 수집 DB의 양이 부족함
• 이 경우 재샘플링 기법을 통해 성능측정의 신뢰도 향상 도모 가능.
Resampling Method
재샘플링 기법
Part 02
8. 「기계학습」 Chapter 12 앙상블 기법 (8/25)
↳
• 사람들의 의사 결정 방식을 모방 (여러 알고리즘이 협동)
• 앙상블 생성 : 여러 전문가를 확보하는 과정
• 앙상블 선택 : 전문가 집단에서 보다 나은 전문가의 선택에 해당
• 앙상블 결합 : 전문가 의견을 합쳐 최종 의견을 만드는 과정에 해당
• 앙상블 생성 방식 : Bagging, Boosting
앙상블 생성 앙상블 선택 앙상블 결합
Resampling Method
앙상블 생성
Part 02
9. 「기계학습」 Chapter 12 앙상블 기법 (9/25)
↳
• 모델 선택 문제를 푸는 알고리즘.
• Overall Idea
1. 샘플 집합에서 N개 샘플을 임의로 추출
2. 임의로 뽑은 샘플은 다시 넣음.
3. 이렇게 얻은 샘플 집합을 𝑿𝑿𝟏𝟏이라 하고,
이 샘플링 과정을 독립적으로 𝑇𝑇번 수행.
4. 성능을 T번 측정 후 결과를 평균내어
최종 성능으로 취함.
Resampling Method
Bootstrap Algorithm
Part 02
10. 「기계학습」 Chapter 12 앙상블 기법 (10/25)
↳
• 부트스트랩 알고리즘을 앙상블
생성에 적용한 알고리즘
• Overall Idea
• T개의 샘플 집합 𝑿𝑿𝟏𝟏, 𝑿𝑿𝟏𝟏, …, 𝑿𝑿𝑻𝑻에서 𝑿𝑿𝒕𝒕를
훈련 집합으로 하여 분류기 𝒄𝒄𝒕𝒕를 만듬.
• 이 분류기 학습을 𝟏𝟏 ≤ 𝒕𝒕 ≤ 𝑻𝑻에 대해
독립적으로 수행하여 𝑇𝑇개의 분류기 생성.
Resampling Method
Bootstrap Aggregating (Bagging) 기법
Part 02
11. 「기계학습」 Chapter 12 앙상블 기법 (11/25)
↳
• 배깅보다 정교한 재샘플링 연산 사용
• 𝒕𝒕번째 분류기 𝒄𝒄𝒕𝒕와 𝒄𝒄𝒕𝒕+𝟏𝟏이 연관성을 갖고
만들어짐.
• 훈련 샘플은 𝒄𝒄𝒕𝒕가 맞춘 샘플과 틀린 샘플로 구분됨
• 맞춘 샘플은 가중치를 낮추지만 틀린 샘플은 높임.
• 𝒄𝒄𝒕𝒕+𝟏𝟏 은 가중치 정보를 고려해 가중치가 높은 샘플을
잘 맞추도록 학습 수행
Resampling Method
AdaBoosting 기법
Part 02
12. 「기계학습」 Chapter 12 앙상블 기법 (12/25)
↳
• 라인 3에서 모든 샘플에 같은 가중치를 부여하고 시작
• 새 분류기가 만들어질 때마다 11~13에서 가중치 갱신
• 틀린 샘플은 𝒆𝒆𝒆𝒆𝒆𝒆(𝜶𝜶𝒕𝒕)를 곱해 가중치를 높임
• 라인 5는 가중치를 고려하여 분류기 𝒄𝒄𝒕𝒕를 학습시킴.
• 라인 6~8은 새 분류기의 오류율 계산 (가중치 포함)
• 라인 10는 오류율을 계산
Resampling Method
AdaBoosting 기법
Part 02
13. 「기계학습」 Chapter 12 앙상블 기법 (13/25)
↳
• Bagging은 분류기가 서로 독립하여 학습을 수행
• AdaBoost는 분류기들이 상호 보완적이므로 현재 분류기의 약점을
다음 분류기가 보완해줌. (따라서 라인 5, 11~13의 가중치 관리가 핵심)
대치 허용 안함 대치 허용함
성능 평가에 쓰임 교차 검증 Bootstrap
앙상블 생성에 쓰임 Boosting Bagging
Resampling Method
Bagging과 Boosting의 차이
Part 02
14. 「기계학습」 Chapter 12 앙상블 기법 (14/25)
Decision Tree &
Random Forest
Part 03
15. 「기계학습」 Chapter 12 앙상블 기법 (15/25)
↳
• 주어져 있는 훈련 집합을 토대로
최적의 분류 성능을 갖는 트리를 만드는 것
• 다음의 네 가지를 고려해야 함
• 노드에서 몇 개의 가지로 나눌 것인가?
• 각 노드의 질문을 어떻게 만들 것인가?
• 언제 트리 학습을 멈출 것인가?
• 잎 노드를 어느 부류에 할당할 것인가?
Decision Tree & Random Forest
결정 트리란?
Part 03
16. 「기계학습」 Chapter 12 앙상블 기법 (16/25)
↳
• ℝ의 멈춤조건 (and나 or로 판단)
• 불순도가 0인 경우, 𝑋𝑋𝑻𝑻의 샘플 개수가 임계값 이하인 경우,
라인 11 �𝑞𝑞의 불순도 감소량이 임계값 이하일 경우
• 노드를 𝑋𝑋𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙와 𝑋𝑋𝑟𝑟𝑟𝑟 𝑟𝑟ℎ𝑡𝑡로 나누는 방법
1. Question q를 결정
2. 트리 성장 멈춤 조건을 판단
• 멈춤 조건을 만족하면 Leaf 노드를 할당하고 반복문을 빠져나감.
• 멈춤 조건을 불만족하면 Question q를 바탕으로 𝑋𝑋𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙와 𝑋𝑋𝑟𝑟𝑟𝑟 𝑟𝑟ℎ𝑡𝑡를 나누고,
새로 생성된 각각의 노드들에서 순환함수 ℝ을 재실행.
Decision Tree & Random Forest
결정 트리란?
Part 03
17. 「기계학습」 Chapter 12 앙상블 기법 (17/25)
↳
• 후보 질문을 평가하여 최적의 질문을 결정하는 기준
• 모든 샘플의 부류가 같으면 불순도는 0.
• 불순도가 낮을수록 좋은 질문
• 불순도 측정 방법
• 𝒆𝒆𝒆𝒆𝒆𝒆𝒆𝒆𝒆𝒆𝒆𝒆𝒆𝒆 𝕐𝕐𝑻𝑻 = ∑𝒌𝒌=𝟏𝟏
𝒄𝒄
𝒑𝒑 𝒌𝒌 𝕐𝕐𝑻𝑻 log 𝟐𝟐 𝒑𝒑 𝒌𝒌 𝕐𝕐𝑻𝑻
• g𝒊𝒊 𝒊𝒊𝒊𝒊 𝕐𝕐𝑻𝑻 = 𝟏𝟏 − ∑𝒌𝒌=𝟏𝟏
𝒄𝒄
𝒑𝒑 𝒌𝒌 𝕐𝕐𝑻𝑻 𝒙𝒙𝟐𝟐 = ∑𝒋𝒋≠ 𝒌𝒌 𝒑𝒑 𝒋𝒋 𝕐𝕐𝑻𝑻 𝒑𝒑 𝒌𝒌 𝕐𝕐𝑻𝑻
• 𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎 𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎𝒎 𝕐𝕐𝑻𝑻 = 𝟏𝟏 − max
𝒌𝒌
𝒑𝒑 𝒌𝒌 𝕐𝕐𝑻𝑻
불순도(Impurity)
Decision Tree & Random ForestPart 03
19. 「기계학습」 Chapter 12 앙상블 기법 (19/25)
↳
• 같은 데이터에 DT 여러 개를 동시 적용해
학습 성능을 높이는 앙상블 기법 중 하나
• 보통 일반적인 트리는 랜덤성이 없기 때문에
Bagging하여 포레스트를 구성
• 동일한 데이터로부터 복원추출을 통해 다량의 데이터셋을
만들고 각각에 DT를 적용한 후 최상의 학습 결과를 취합
• 남아있는 모든 변수 중에서 최적의 변수를 선택하는
것이 아닌, 변수 중 일부만 선택하고 그중 최적의 변수를
선택함.
Decision Tree & Random Forest
랜덤 포레스트란?
Part 03
20. 「기계학습」 Chapter 12 앙상블 기법 (20/25)
↳ 랜덤포레스트의 장/단점
장점
•여러 개의 트리를 통해 오버피팅
대비 가능
•분류와 회귀 문제 둘 다에 적용
가능
•데이터 준비 시간을 절약할 수
있음
단점
•학습 속도가 느리고 실시간
시스템에서는 예측 속도가
느려짐
•학습 데이터의 응답값 범위를
벗어나는 예측은 할 수 없음
Decision Tree & Random ForestPart 03
22. 「기계학습」 Chapter 12 앙상블 기법 (22/25)
↳
• 다중 분류기의 출력을 결합하여 하나의 분류 결과를 만드는 과정
• 앙상블 결합의 종류
1. 부류 레이블 : 투표를 통해 결과 도출
1. 최다 득표 방식 : 표를 가장 많이 획득한 부류를 선택
2. 과반 득표 방식 : 과반을 획득한 부류를 선택하되 없을 경우 기각함.
3. 가중치 투표 : AdaBoost로 생성된 요소 분류기를 통해 신뢰도가 높은
요소 분류기에 표를 더 많이 주는 방식.
𝒍𝒍 = argmax
𝒊𝒊
�
𝒌𝒌=𝟏𝟏
𝑻𝑻
𝒂𝒂𝒌𝒌 𝒐𝒐𝒊𝒊
(𝒌𝒌)
Combine Ensemble
앙상블 결합
Part 04
23. 「기계학습」 Chapter 12 앙상블 기법 (23/25)
↳
• 앙상블 결합의 종류
2. 부류 순위 : 보르다 계수를 사용하여 선호도 기준으로 순서를 표기하는 방식
ⓐ분류기의 순위 벡터를 점수 벡터로 변환한 후
ⓑ점수 벡터를 모두 더하고
ⓒ가장 높은 점수를 얻은 부류를 선택
𝒍𝒍 = argmax
𝒊𝒊
�
𝒌𝒌=𝟏𝟏
𝑻𝑻
𝒔𝒔𝒊𝒊
(𝒌𝒌)
𝒔𝒔𝒊𝒊
(𝒌𝒌)
는 𝑘𝑘번째 분류기의 𝑖𝑖번째 부류의 점수를 의미
Combine Ensemble
앙상블 결합
Part 04
24. 「기계학습」 Chapter 12 앙상블 기법 (24/25)
↳
• 앙상블 결합의 종류
3. 부류 확률 : 가장 일반적인 형태의 결합 방법
• 오른쪽 표의 6가지 규칙 존재
• 6가지 규칙 중 하나를 사용해 𝜷𝜷를 구한 후
̂𝒍𝒍 = argmax
𝒊𝒊
𝜷𝜷𝒊𝒊를 통해 최고값을 가진 부류 선택
• 보통 평균 규칙을 많이 사용하지만
분류기 신뢰도가 주어지면 가중합 규칙을 사용
합
(또는
평균)
𝜷𝜷𝒊𝒊 = ∑𝒌𝒌=𝟏𝟏
𝑻𝑻
𝒔𝒔𝒊𝒊
(𝒌𝒌)
또는
𝜷𝜷𝒊𝒊 =
𝟏𝟏
𝑻𝑻
∑𝒌𝒌=𝟏𝟏
𝑻𝑻
𝒐𝒐𝒊𝒊
(𝒌𝒌)
가중합 𝜷𝜷𝒊𝒊 = �
𝒌𝒌=𝟏𝟏
𝑻𝑻
𝜶𝜶𝒌𝒌 𝒐𝒐𝒊𝒊
(𝒌𝒌)
최대 𝜷𝜷𝒊𝒊 = max
𝒌𝒌
𝒐𝒐𝒊𝒊
(𝒌𝒌)
최소 𝜷𝜷𝒊𝒊 = m𝑖𝑖𝑖𝑖
𝒌𝒌
𝒐𝒐𝒊𝒊
(𝒌𝒌)
메디언 𝜷𝜷𝒊𝒊 = median
𝒌𝒌
𝒐𝒐𝒊𝒊
(𝒌𝒌)
곱 𝜷𝜷𝒊𝒊 = �
𝒌𝒌=𝟏𝟏
𝑻𝑻
𝒐𝒐𝒊𝒊
(𝒌𝒌)
Combine Ensemble
앙상블 결합
Part 04
25. 「기계학습」 Chapter 12 앙상블 기법 (25/25)
Thank you for Listening.
Email : brstar96@naver.com (or brstar96@soongsil.ac.kr)
Mobile : +82-10-8234-3179