[패스트캠퍼스] 머신러닝 강의 4주차 학습일지

김나래·2022년 9월 20일
0

학습일지

목록 보기
4/5

강의 제목 : 머신러닝 & AI 첫걸음 시작하기

4주차

  • Ensemble의 개념을 이해할 수 있다.
  • Ensemble 종류의 차이점에 대해 알고, 데이터를 통해 직접 실습해볼 수 있다.
  • 결과에 대해 중요한 변수를 파악할 수 있다.
  • 왜 아직 딥러닝보다 AI가 많이 쓰이는지 알 수 있다.

1. Ensemble 개념

  • 다양한 모델을 통해 성능을 높여보자!
    여러 개의 Base model을 이용해서 하나의 model을 만드는 것.
  • Base model들을 각각 Learner 1, Learner 2, ..., Learner p라고 하자.
    Train Dataset 각 Learner들에 넣어서 학습한 다음 Test Dataset을 통해 Prediction한다.
  • 장점: 기존의 Tree model보다 성능이 좋다.
  • 단점: model이 복잡하기 때문에 해석이 어렵다.

2. Ensemble 종류

Bagging, Random Forest, Boosting은 Learner를 Tree에 기반한 model을 사용한다.

1) Bagging

  • 복원추출(sampling with replacement)를 통해 새롭게 sample을 추출
  • 추출되지 않은 sample을 통해 Error를 계산
  • Decision Tree보다 성능이 좋다.
  • 문제점: 각 Learner에 중복된 데이터가 존재
    \rightarrow Learner들이 독립적이지 않다. 즉, 비슷한 Dataset에 대한 결과가 많다.
    \rightarrow Learner의 수가 증가할수록 전체 분산이 높아질 수 있다.

2) Random Forest

  • Bagging의 문제점을 보완하기 위한 것.
  • Bagging + 변수들도 랜덤으로 추출하여 Learner들에 적용
  • model의 분산을 감소시키기 때문에 Bagging보다 성능이 좋다.

3) Boosting

  • Learner들에 넣어 학습하는 것을 여러 번 반복(Round1, Round2, ...)
  • 복원추출할 때 잘 분류되지 않은 데이터가중치를 높여 학습하자.
  • 기본적인 기법 : AdaBoost(Adaptive Boost)
    • Round를 시작하기 전 그 전 Round에서 잘 분류되지 않은 데이터에 가중치를 두고 복원추출
  • 주로 사용되는 기법 : Gradient Boosting
    • 각 Round마다 잔차(Residual)를 예측하는 model로 학습
    • XGBoost < LightGBM < CatBoost

4) Stacking

  • Tree기반이 아닌 다양한 model을 이용하여 학습
    1) 각 Learner로 학습한 후 Prediction을 추가하여 새로운 Train Data 생성
    2) Prediction을 추가한 새로운 Test Data 생성
    3) New Train Data - Learner - New Test Data를 통해 Prediction

5) Ensemble in Ensemble

  • 강사님께서 가장 많이 사용하는 기법이라고 한다.
  • Learner들도 Ensemble인 경우를 말한다. 보통 10~30개의 Learner를 사용한다고 함.
  • 단일 Ensemble보다 성능이 좋음
  • hyperparameter에 민감하지 않음

3. 중요한 변수 추출

1) feature importance의 문제

  • Ensemble에서는 feature importance를 추출하는 알고리즘이 내재되어 있다.
  • Consistency : 중요도는 각 Learner에서도 바뀌지 않아야 한다.
    But 대부분은 inconsistency하다.
    \rightarrow Shap value 등장

2) Shap value

  • 다른 features에 따라 해당 feature의 marginal contribution을 여러번 측정 후 평균
  • 목적 : 실제 예측평균 예측의 차이를 설명
  • 그래프를 통해 직관적으로 이해 가능
    ex1) contribution vs features : 양/음의 관계를 설명 가능
    ex2) feature vs Shap value : feature의 값에 따라 부분적으로 설명 가능

4. 아직 딥러닝보다 우수한 이유?

  • 딥러닝은 Graphical representation에서 우수.
    우리가 직면하는 문제들은 대부분 Graphical한 요소가 없다.
    image에서는 연속성을 가정하지만, Tree에서는 각 feature들의 독립성을 가정한다.
  • Tree에 기반한 학습은 직관적으로 설명이 가능하다.

느낀점

  • 각 Ensemble의 종류에 따라 실습할 수 있어서 개념에 대해 더 잘 이해할 수 있었다.
  • 다른 유형의 데이터를 찾아 실제로 적용해봐야 확실히 이해하고 받아들일 수 있을 것 같다.
  • 벌써 4주차이다. 배운 것은 많은데 내가 받아들인 부분은 매우 작은 것 같다.
  • 반드시 5주차 학습노트를 쓰기 전까지는 2번 이상 복습할 것이다!!!
profile
김나래입니다.

0개의 댓글