성신여대 김영훈 교수님의 K-MOOC 실습으로 배우는 머신러닝 강의 내용을 바탕으로 포스팅하였습니다.
2차시: Ensemble Learning 소개
1. Ensemble Learning
DT는 분류나 예측에 대해 높은 해석력을 가진다는 장점이 있지만 데이터의 작은 변화에 민감하다는 한계를 가지고 있다.
이러한 한계를 극복하기 위해 사용하는 것이 바로 앙상블 모형이다.
가. 정의와 Random Forest
앙상블 알고리즘은 약한 분류기들이 모여서 voting을 진행하고 강력한 분류기를 구성하는 알고리즘으로
여러개의 모형이 합쳐져 집단지성을 발휘하는 알고리즘이라고 할 수 있다.
여러 모델이 모여 있기 때문에 한 모델에서 예측이 빗나가더라도 다른 모델에서 보정이 가능하다는 장점이 있고,
일반적으로 다양한 머신러닝 기법들을 앙상블 시켜주면 성능이 향상되는 효과를 얻을 수 있다.
어떻게 조합을 시킬 것인지에 따라 다양한 앙상블의 종류가 존재하고
앙상블의 대표적인 예시는 RF이다.
RF는 DT의 앙상블 버전으로 굉장히 robust(이상치에 민감하지 않은)하고 좋은 예측 성능을 보이는 것으로 알려져 있음
(RF는 배깅이 적용된 트리 알고리즘이다.)
나. 투표 기반 분류기
앙상블 모형은 투표 기반 분류기로, 투표 방식에는 하드보팅과 소프트 보팅이 있다.
(가장 기본은 다수결의 원칙에 따라 투표하여 y를 결정하는 하드보팅이다.)
1️⃣ 하드보팅: 다수결로 결정
모델1: 0.8
모델2: 0.7
모델3: 0.8
모델4: 0.5
=> 0.8이 2표로 0.8을 최종 예측 값으로 결정
2️⃣ 소프트 보팅: 모든 예측값의 평균을 이용
=> 평균 값인 0.7을 최종 예측 값으로 결정
3차시: Ensemble Learning 이론
1. Weak Learner, Strong Learner
가. 약한 분류기와 강한 분류기
다수결 투표 분류기는 앙상블에 포함된 개별 분류기 중 가장 뛰어난 것보다도 정확도가 높을 경우가 많다.
각 분류기가 약학 학습기일지라도 충분히 많고 다양하게 앙상블한다면 강한 학습기가 될 수 있다.
나. 확률적으로 이해해보기
동전을 던졌을 때 앞면이 나올 확률이 51%, 뒷면이 나올 확률이 49%인 동전이 있다고 가정하자.
(앞면이 정답인 상황에서 동전을 일종의 분류기라고 할 수 있고, 한 번 던졌을 때는 single.)
이 동전을 1000번 던진다면 약 510번은 앞면, 490번은 뒷면이 나올 것이다.
(1000번을 던지는 것은 앙상블 모형을 구성한 것이며, 이 경우 다수는 앞면이 될 것이다.)
이항분포를 가정하고 수학적으로 계산했을 때, 1000번을 던진 후 앞면이 다수가 될 확률은 75%에 가깝다.
큰 수의 법칙에 따라 더 많이 던질 수록 확률은 증가하게 되어있다.
다. 앙상블로 가져와서 적용해보기
위의 예시를 적용해서 51% 정확도를 가진 1,000개의 분류기로 앙상블 모델을 구축한다고 가정하면,
가장 많은 클래스를 예측 기준으로 삼는다면 75%의 정확도를 기대할 수 있다.
단, 모든 분류기가 완벽하게 독립적이고 오차에 상관관계가 없다는 가정이 있어야 한다.
같은 데이터로 훈련시키다 보면 이런 가정이 맞지 않은 경우가 많고
분류기들이 같은 종류의 오차를 만들기 쉬워서 실제 앙상블 정확도는 이론 정확도에 비해 낮아진다.
2. 앙상블 모델 만들기
앙상블할 때 다양한 분류기를 만드는 것이 중요하다.
가. 분류기를 만드는 방법
분류기를 만드는 방법은 2가지 방법이 존재한다.
1️⃣ 각기 다른 훈련 알고리즘을 사용하는 방법
(기본적으로 근간이 되는 가정이 다르기 때문에 유용하다.)
2️⃣ Training 데이터의 subset을 무작위로 추출하여 분류기를 각기 다르게 학습시키는 방법
나. Training 데이터의 subset을 추출하는 방법
1️⃣Bagging(bootstrap agregating)
training 데이터에서 중복을 허용하여 샘플링하는 방식(복원추출)
💡 참고로 배깅에서 발전된 방법이 boosting이다.
2️⃣ pasting
중복을 허용하지 않고 샘플릭하는 방식 (비복원 추출)
3. Out-of-Bag 평가
1. 샘플링되지 않은 데이터
bagging을 이용하게 되면 한 예측기에
어떤 샘플은 여러 번 샘플링 되고 어떤 것은 전혀 선택되지 않을 수 있다.
m개의 training data에서 중복을 허용하여 m개를 샘플링할 때 한 번도 샘플링 되지 않을 확률 구하기
예측기가 훈련되는 동안 학습에 반영되지 않는 샘플을 OOB 샘플이라고 정의한다.
앙상블의 평가는 각 예측기의 OOB평가를 평균해서 얻을 수 있고
일종의 검증 데이터 역할을 하는 것이다.
'강의 내용 정리하기 > 실습으로 배우는 머신러닝' 카테고리의 다른 글
[K-mooc] 8. Principal Componet Analysis (0) | 2022.11.22 |
---|---|
[K-mooc] 6. Decision Tree (0) | 2022.11.22 |
[K-mooc] 4. Model Learning with Optimization (0) | 2022.11.22 |
[K-mooc] 3. Classification(KNN, 로지스틱 회귀모형) (0) | 2022.11.21 |
[K-mooc] 2. Machine Learning Pipeline (0) | 2022.11.21 |
댓글