Prev Contents/Deep learning

[그림으로 배우는 딥러닝] 12장. 앙상블 (417~435p)

Convergence Medicine 2022. 8. 12. 15:12

12장. 앙상블

그림으로 배우는 딥러닝 (http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791161756448&orderClick=LAG&Kc=)

 

그림으로 배우는 딥러닝 - 교보문고

◈ 이 책에서 다루는 내용 ◈ ◆ 텍스트 생성기로 이야기와 기사를 만드는 방법 ◆ 인간 게임에서 딥러닝 시스템이 승리하도록 학습하는 방법 ◆ 이미지 분류 시스템으로 사진 속 사물이나 사람

www.kyobobook.co.kr

유사한 학습기들을 묶어 그루핑하는 것을 앙상블이라 한다. 결과는 멤버들로부터 가장 인기 있는 결과로 투표로 결정한다.
보통은 약간 다른 데이터로 학습하여 정확히 같은 방식으로 오류가 재현될 가능성을 낮춘다.
여러 결정 트리를 하나의 앙상블로 결합하여 의사 결정 트리의 단순성과 투명성을 활용하고 과적합의 문제를 크게 줄이는 알고리즘을 얻게 된다.

투표

기계에도 편향 (bias)가 있다. 이를 줄이기 위해 다양한 데이터로 훈련시킨 여러 학습기를 만들면 되지만, 현실적으로 어려워 같은 훈련 데이터 풀에서 추출한 서로 다른 부분 집합을 사용한다.
평가치들을 단순 다수 투표를 사용하는 것이지만, 가중 다수 투표 (weighted pleurality voting)을 이용할 수 있다.
또 다른 변형은 각 투표자에게 결정에 대한 신뢰도 (confidence)를 확인하도록 요구하는 것이다.

의사결정 트리의 앙상블

배깅

bootstrap aggregating의 합성어 - 부트스트랩 아이디어에 바탕을 두고 있다.

1) 훈련 데이터 세트의 샘플들에 대해 복원 추출
2) 복원 추출된 데이터로 의사결정 트리를 만들어 해당 데이터에 대해 훈련 - 이 트리들의 집합을 앙상블이라고 함
3) 새 데이터를 예측한 클래스 값을 다수 투표로 결정

앙상블을 만들기 위한 파라미터: 각 부트스트랩에 사용할 샘플의 개수, 만들 트리 수

분류기를 계속 추가해도 성능이 좋아지지는 않고, 속도가 느려진다. - 수확 체감의 법칙
적절한 분류기의 수는? - 클래스의 숫자와 유사한 정도가 적절하다. 하지만, 교차 검증을 이용해 적절한 분류기 수를 정할 수도 있다.

랜덤 포레스트

샘플이 아니라 피처들의 집합으로 피처 배깅을 이용 - 비복원 추출을 사용해 샘플들의 부분 집합을 추출하여 피처 집합을 선정
각각 다른 피처 집합을 이용하여 결정 트리를 만듦
파라미터가 하나 더 추가되는 데 전체 피처 중 얼마나 피처 집합에 넣을지에 대한 비율을 정해야 함
그러므로 이 알고리즘은 무작위 피처 집합을 사용했고 (랜덤), 이 트리의 집합 (포레스트)으로 답을 내는 것이다.

엑스트라 트리

앞의 무작위 추출은 그대로이나, 가장 잘 분할하는 포인트가 아닌 무작위로 선택해 보자. 이를 극단적 랜덤 트리 혹은 엑스트라 트리로 불린다.
나쁜 결과가 나올 것 같지만 트리가 과적합되기 쉽다는 것을 생각해 보면, 정확도를 절충하여 결과를 낸다.

부스팅

어떤 종류의 학습기에도 적용할 수 있는 앙상블을 만들자.
약한 학습기 (weak learner) - 쓸모없는 분류기보다 약간만 더 낫다.
이 약한 학습기를 결정 트리에 적용하면, 루트 노드와 자식 노드 2개만 있는 의사결정 그루터기 (decision stump)로 만들 수 있다. 이는 작고 빠르며 무작위보다 성능이 좀 더 좋다고 할 수 있다.
단순하고 성능이 무작위보다 약간 좋은 직선을 사용해서 두 개의 클래스를 예측하는 사고 실험을 보면, 그 원리를 파악할 수 있다.
직선으로 분할 후 얻은 점수의 합을 그대로 쓰기 보다 가중치의 합을 설정할 수 있다.

부스팅의 장점은 간단하고 빠르지만 형편없는 분류기로 가중치를 주어 하나의 훌륭한 분류기를 만든다는 것이다.

요약

Keywords:

1) 앙상블
2) 부스팅