공부/AI School 인공지능 여름캠프

머신러닝 의사결정트리(Decision Tree), 앙상블, 엔트로피 - [AI School]

1Seok 2021. 5. 3. 17:37

의사결정트리, 앙상블

  1. 의사결정 트리를 이해하기
  2. 앙상블의 여러가지 방법을 이해하기
  3. 랜덤 포레스트에 대한 설명

 

의사결정트리

데이터를 분석해서 이들 사이에 존재하는 패턴을 예측 가능한 규칙들의 조합을 트리를 뒤집어 놓은 모양으로 나타낸 것

  • 운동경기가 열렸다면 Play = 1, 그렇지 않으면 Play = 0 으로 분류
  • 날씨가 맑고, 습도가 70이하 인날 경기가 열렸다.
  • 비가 오고 바람이 부는 날에는 경기가 열리지 않았다.

특징

  • 중간의 Terminal node 가 3개라는 것은 전체 데이터가 3개의 부분집합으로 나누어진 셈이다
  • 분류  회귀 두가지 모두 가능하다

의사결정 트리 분류

root node 가 A -> B, C로 분할, B가 -> C, D로 분할 * 이점을 고려하여 C,D,E 3개로 분할이 되는 특성을 가지고 있음. 불순도/ 불확실성

분류나무 구분 뒤에 순도가 증가, 불순도, 불확실성 이 최대한 감소 하는 방향으로 학습을 진행한다. //이를 정보획득 이라고 함.

불확실성

  • ex) 동전이 그림과 숫자중 그림이 나올 확률 50% 불확실성이 높다
  • 반면에 동전이 두면 모두 그림일 경우 어떻게든 그림면이 나온다 이는 불확실성이 낮다.

이 불확실성을 숫자로 표현하는것이 엔트로피

엔트로피

불확실성을 숫자로 표한한 것!

  • 높은 엔트로피는 불확실성이 높다.
  • 낮은 엔트로피는 불확실성이 낮다.

예시 

  • 군인인지 아닌지 에서의 엔트로피가 더낮다 불확실성이 낮음.

https://www.youtube.com/watch?v=r3iRRQ2ViQM&t=68s

 

앙상블

앙상블은 모델 결합 이라고 한다.

  • 여러 모델을 학습시켜 결합하는 방식 으로 문제 처리

Weak learner 이란? 개별로 학습된 모델

앙상블의 장점

  1. 성능을 분산시켜 과적합(over fitting)에 감소효과가 잇음
  2. 개별 모델 성능이 잘 안나올때 앙상블 학습을 사용하면 성능 향상

앙상블 취합방법

미리 정해져 있는 weak learner들을 취합해서 사용~ ex)Voting, bagging and pasting, random forest

  1. Voting 다수결/투표 기반 방법  Ex) 예를 들어서 3개의 모델로 classification 을 할때 이미지를 넣었을때 Random forest에서는 고양이로, SVM모델 에서는 개로, etc..고양이로 결과를 도출 이때는 다수결로 고양이가 많이 나왔으므로 최종 Output을 고양이로 설정.
  2. Bagging and Pasting

무작위로 훈련시킨 데이터 셋을 잘게 나눈 후 나누어진 훈련 데이터 셋을 여러개의 모델에 할당시켜 학습 

  • Bagging : 전체 훈련 데이터에서 여러 번 중복을 허용한 복원 추출을 한다.
  • Pasting : 중복을 허용하지 않고 데이터 셋을 나누는 것.
  • Bagging <--> Pasting 반대를 의미함*OOB (out of bag)Bagging 은 복원추출을 진행하여 37% 정도는 뽑히지 않아 데이터를 테스트 셋으로 사용 가능하다.
  1. Boosting(부스팅) 부스팅이란? (Weak learner)약한 모델을 결합하여 강한 모델을 만드는 것 //기존의 모델을 개선하는 방향
  1. Random forest★

여러 개의 결정 트리를 생성하여 각각의 트리에 나오는 결과를 취합하는 방법. (Bagging & Random patch & Decision Tree방식등을 사용)