본문 바로가기

study

혼공 머신러닝/딥러닝 4주차

 

5장 : 트리 알고리즘

☞ 성능이 좋고 이해하기 쉬운 트리 알고리즘

☞ 알고리즘 성능 최대화를 위한 하이퍼파라미터

☞ 여러 트리를 합쳐 일반화 성능을 높일수 있는 앙상블 모델

 

 

■ 5-1 : 결정트리

1차시도 : sklearn - LogisticRegression (로지스틱 회귀 모델)
2차시도 : sklearn - DecisionTreeClassifier (결정트리)
  • 결정트리가 무조건 좋은 것일까? 언제 사용해야 하나?
    • 로지스틱 회귀모델의 성능이 안좋을때 검토 가능
    • 이유를 설명하기 쉽다 (노드별로 판단기준을 확인가능)
    • 표준화 전처리 과정이 필요 없다.
    • 어떤 특성이 가장 유용한지 나타내는 특성 중요도를 계산해줌

■ 5-2 : 교차검증과 그리드 서치

  • 검증세트
    • 훈련세트(60%), 검증세트(20%), 테스트 세트(20%)으로 구성
      1차적으로 훈련세트와 테스트세트 나눈후에다시 훈련세트를 훈련세트와 검증세트로 나누는 방식
      • 테스트 세트가 검증되어서 성능검증의 오류차단 목적
      • 훈련세트 → (매개변수 변경) → 검증세트 검증
      • (훈련세트 + 검증세트) → (매개변수) → 훈련 → 테스트 세트로 검증
      • 모델이 과대적합인지, 과소적합인지를 파악해서 계속 모델 튜닝
  • 교차검증
    • 훈련세트와 검증세트의 밸런스체크를 해서, 안정적인 훈련세트 여부, 검증세트도 적당한지 검증한다. 
    • 검증세트를 떠어내어서 과정을 반복 
    • k겹 교차검증 (ex : 3-폴드 교차 검증)
  • 하이퍼파라미터
    • 사용자 지정 파리미터 (모델이 학습을 할수 없어서 사용자가 직접 지정해주어야 하는 값)
      • 사람이 지정하지 않고, 자동으로 튜닝하는것 : AutoML

■ 5-3 : 트리의 앙상블

  • 정형데이터 / 비정형 데이타
    • 앙상블 학습 : 정형데이터 처리에서 띄어난 성과를 내는 기법
  • 랜덤포레스트(Random Forest)
    •  앙상블 기법의 대표 / 안정적인 성능 제공
    • (결정트리) + (Random)으로 구성하여서 → 숲:포레스트(Forest) 를 구성함
    • 샘플링
      • 부트스트랩 샘플
  • 엑스트라 트리(Extra Trees)
    • 랜던포레스트와 비슷함
    • 차이점
      • 부트스트랩샘플을 사용하지 않음
      • 결정트리 구성시, 전체 훈련세트를 사용함
      • 노드 구성시, 무작위 구성
  • 그레이디언트 부스팅 (gradient boosting)
    • 깊이가 얕은 결정트리를 사용하여, 이전 트리의 오차를 보완하는 방식
    • 경사하강법을 사용하여, 트리를 앙상블에 추가
    • 분류 (로지스틱함수) + 회귀 (평균제곱오차함수) 사용
  • 히스토그램 기반 그레이디언트 부스팅(histogram-based~)
    • 인기가 많은 알고리즘
    • 특성을 256구간으로 나누어서 처리 / 최적 분할을 빠르게 찾아감
    • XGBoost (사이키런 아님!, 대표적인 관련 라이브러리)
    • LightGBM (ms에서 만듬)

 

■ 기본 미션

  • 교차검증
    • 훈련세트와 검증세트의 밸런스체크를 해서, 안정적인 훈련세트 여부, 검증세트도 적당한지 검증한다. 
    • 검증세트를 떠어내어서 과정을 반복 
    • k겹 교차검증 (ex : 3-폴드 교차 검증)

■ 선택 미션