haje01 노트

자동화된 데이터 과학을 위한 트리기반 파이프라인 최적화 툴의 평가

목차

나의 생각
주의
도입
관련 연구
구현 방법
파이프라인 연산자
트리 기반 파이프라인의 조립
진화하는 트리기반 파이프라인
GAMETES 시뮬레이션 데이터 셋
UCI 벤치마크 데이터 셋
결과
논의
[ paper  automl  study  ]

자동화된 데이터 과학을 위한 트리기반 파이프라인 최적화 툴의 평가

원문 : Evaluation of a Tree-based Pipeline Optimization Tool for Automating Data Science (2016년)

나의 생각

이 논문은 파이썬 패키지 TPOT (Tree-based Pipeline Optimization Tool) 의 기반 논문입니다. TPOT 은 자동화된 모델 선택과 모수 최적화 등을 해주는 AutoML 파이프라인 툴이라고 할 수 있습니다. 유사한 패키지로 auto-sklearn 이 있으나, 몇 가지 차이점이 있습니다:

저는 개인적으로 TPOT 쪽의 손을 들어주고 싶은데, 가장 큰 이유는 Dask 클러스터를 이용한 대량의 처리가 가능 하기 때문입니다. 앞서, 자동화된 피처 합성을 해주는 Featuretools 의 논문인 심층 피처 합성 (Deep Feature Synthesis) 을 소개드렸는데요, Featuretools 로 생성된 피처를 이용해 TPOT 에서 최적의 파이프라인을 구축하는 식으로 사용하면 좋을 듯 합니다.

주의


도입

전형적인 데이터 과학자는 그림 1 처럼 머신러닝 문제에 접근

그림 1

그림 1 : 일반적인 지도학습 머신러닝 프로세스의 묘사.

데이터의 모델을 찾기 전 :

  • 초기 탐색적 분석 : 누락되거나 레이블이 잘못 지정된 데이터 찾기 등을 통해 데이터를 준비
  • 데이터 정리 (Data Cleaning) : 문제가 있는 기록을 수정하거나 제거
  • 피처 전처리 (Feature Preprocessing) : 피처 정규화 등
  • 피처 선택 (Feature Selection) : 모델링에 유용하지 않은 피처를 제거
  • 피처 구축 (Feature Construction) : 기존 데이터에서 새 피처를 만듦

등의 방법으로 데이터를 모델링에 보다 적합한 형식으로 변형한다. 그다음 :

  • 모델 선택 (Model Selection) - 데이터에 맞는 머신러닝 모델을 선택
  • 모수 최적화 (Parameter Optimization) : 모델이 데이터에서 가장 정확한 분류를 수행할 수 있도록 모델 모수를 선택
  • 모델 유효성 검증 (Model Validation) : 제외된 홀드 아웃 데이터 셋에서 모델의 성능을 테스트하여, 모델 예측이 수정되지 않은 데이터 셋에 일반화되도록 검증

을 수행한다. 파이프 라인에서 회색 영역이 TPOT 에 의해 자동화되는 파이프 라인의 단계를 나타낸다.

최근 진화 알고리즘 (Evolutionary Algorithms) 은 다양한 문제 풀이에서 인간을 능가해 왔다.

관련 연구

구현 방법

파이프라인 연산자

TPOT 에 구현된 네 가지 파이프라인 연산자 (Pipeline Operator) 를 소개. 모든 연산자는 scikit-learn 을 사용해 구현

트리 기반 파이프라인의 조립

그림 2

그림 2. 트리 기반 머신러닝 파이프라인의 예. 데이터 셋은 피처를 연속적으로 더하고, 제거하고, 수정하는 파이프라인 연산자를 통과한다. 결합 연산자 (Combine Operator) 는 개별 데이터 카피본을 결합하고, 최종 분류를 위해 분류기에 제공

진화하는 트리기반 파이프라인

표 1

GAMETES 시뮬레이션 데이터 셋

UCI 벤치마크 데이터 셋

결과

TPOT 의 분류 성능을 다양한 컨트롤과 비교

그림 3 은 GAMETES 데이터 셋에서 네 가지 실험을 비교

그림 3

그림 3. 다양한 데이터 셋 크기와 난이도에서 TPOT 의 성능 비교

  • 각 서브 플롯은 테스트 데이터에서 교차 검증 정확도의 분포를 표시
  • 각 노치 박스는 30 가지 데이터 셋의 표본에 해당 (노치는 중간값의 95% 신뢰 구간)
  • 4 종류 비교
    • Random Forest : 500 개 결정 트리의 랜덤 포리스트
    • TPOT (random search) : 임의 파이프라인 생성
    • TPOT : 유도된 검색 TPOT
    • TPOT (Pareto) : 파레토 최적화된 TPOT
  • 각 서브 플롯은 다양한 GAMETES 설정을 표시
    • x 축은 데이터 셋의 레코드 수
    • y 축은 모델의 유전 가능성 (heritability, 높은 유전 가능성은 노이즈를 줄임)
  • 우상단 (높은 유전 가능성 모델에서 많은 데이터 셋이 생성) 은 쉽고 , 좌하단 (낮은 유전 가능성 모델에서 작은 데이터 셋이 생성) 으로 갈수록 어려움

그림 4 는 UCI 벤치마크 데이터 셋에 대한 네 가지 실험을 비교

그림 4

그림 4. UCI 데이터 셋에 대한 TPOT 성능 비교.

  • 각 서브 플롯은 테스트 셋에 대한 교차 검증 정확도의 분포를 표시
  • 각 노치 박스는 데이터 셋에서 30 가지 교차 검증 분야의 샘플을 표시
  • TPOT (random search) 플롯의 일부가 없는 것은 120 시간 내 성공하지 못했기 때문

논의