티스토리 뷰

반응형

원문

 

어떤 머신러닝 알고리즘을 사용해야 하는가 ?

  • 머신 러닝을 적용하는 데 있어서 중심 질문임.
  • Randal Olson 등의 최근 논문에서, 그들은 더 넓은 알고리즘 집합을 확인하기 전에, 당신의 문제를 먼저 시도할 알고리즘과 파라미터에 대해 가이드를 제공하고 그 문제에 답을 하기 위해 시도함.
  • 이 포스트에서, 당신은 많은 수의 머신러닝 Dataset에 따라 여러 머신러닝 알고리즘을 평가하여 얻은 연구와 이 연구에서 제시된 권장 사항을 발견하게 될 것임.
  • 이 포스트를 읽은 후에, 당신은 알게 될 것임 :
    1. 앙상블 트리 알고리즘들이 넓은 범위의 Dataset에서 좋은 수행을 낸다는 것.
    2. Silver Bullet 알고리즘 (일종의 만병통치약) 은 없기 때문에 문제에 대해 알고리즘 집합을 테스트하는 것은 매우 중요함.
    3. 주어진 알고리즘에 대한 설정 집합 (Suite of Configuration)을 테스트하는 것이 일부 문제에 대해서 50% 까지 개선될 수 있기 때문에 매우 중요함.

 

The Paper

무슨 알고리즘을 사용해야 하는가 ?

  • 저자는 이 문제를 다음과 같이 선택 과부하로 설명함 :
  • 비록 일부 쉽게 사용 가능한 머신러닝 알고리즘 구현을 가지는 것이 단순한 통계를 넘어서려는 생물정보학 연구자들에게 유리하지만, 많은 연구자들은 "선택 과부하 (Choice Overload)" 를 겪으며, 그들이 당면한 문제에 적절한 머신러닝 알고리즘을 선택하는 데 있어서 어려움을 발견함.

 

  • 그들은 일반적으로 어떤 알고리즘과 파라미터가 가장 잘 동작하는지 보기 위해서 많은 표준 머신러닝 Dataset의 샘플에 걸쳐 적절한 알고리즘의 샘플을 실행함으로써 문제에 접근함.
  • 그들은 논문을 다음과 같이 설명함 :
  • 현재 연구자들에게 데이터 기반 알고리즘 추천을 제공하기 위해 165개의 대중적으로 사용가능한 분류 문제 집합에서 최첨단이며, 흔하게 사용되는 13개의 머신러닝 알고리즘의 철저한 분석 ...

 

 

Machine Learning Algorithms

  • 총 13개의 서로 다른 알고리즘이 연구에서 선택되었음.
  • 알고리즘들은 타입 또는 기존 가정의 혼합을 제공하기 위해 선택되었음.
  • 목표는 최신 알고리즘들 뿐만 아니라 최근 문헌에서 사용된 가장 일반적인 종류의 알고리즘을 나타내는 것이었음.
  • 전체 알고리즘 리스트는 아래에 제공됨 :
    1. Gaussian Naive Bayes (GNB).
    2. Bernoulli Naive Bayes (BNB).
    3. Multinomial Naive Bayes (MNB).
    4. Logisitic Regression (LR).
    5. Stochastic Gradient Descent (SGD).
    6. Passive Aggressive Classifier (PAC).
    7. Support Vector Machine (SVC).
    8. K-Nearest Neighbor (KNN).
    9. Decision Tree (DT).
    10. Random Forest (RF).
    11. Extra Trees Classifier (ERF).
    12. AdaBoost (AB).
    13. Gradient Tree Boosting (GTB).
  • 사이킷런 라이브러리는 이러한 알고리즘들의 구현에 사용되었음.
  • 각 알고리즘은 0 또는 더 많은 파라미터를 가지고 있으며, 민감한 파라미터 값에 대해 그리드 서치 (Grid Search) 가 각 알고리즘에 수행되었음.

 

  • 각 알고리즘의 경우, 하이퍼 파라미터들은 고정된 그리드 서치를 사용하여 튜닝되었음.
  • 알고리즘과 추정된 하이퍼파라미터 테이블은 아래에 나열되며, 논문에서 가져옴.

 

  • 알고리즘들은 10-fold 교차 검증과 Balanced Accuracy Measure를 사용하여 평가되었음.
  • 교차 검증은 반복되지 않았고, 아마 결과에 약간의 통계적인 노이즈가 도입 (Introducing) 되었음.

 

Machine Learning Datasets

  • 165개의 표준 머신러닝 문제들이 연구를 위해 선택되었음.
  • 모든 Dataset이 이 연구 분야에 속하지는 않지만, 많은 수의 문제들이 생물정보학 (Bioinformatics) 에서 도출되었음.
  • 모든 예측 문제들은 두 개 또는 더 많은 클래스에 대한 분류 형태의 문제들이었음.
  • 알고리즘들은 Penn Machine Learning Benchmark (PMLB) 에서 165개의 지도 분류 Dataset에서 비교되었음.

    PMLB는 대중적으로 사용 가능한 분류 문제의 집합으로, 동일한 형식으로 표준화되어 파이썬을 통해 쉽게 접근할 수 있는 중앙 위치에 수집되었음.

 

  • Dataset은 Penn Machine Learning Benchmark (PMLB) 집합에서 도출되었으며, 이 것은 간단한 파이썬 API에 의해 사용가능하도록 만들어졌으며, 동일한 형식에서 표준 머신러닝 Dataset을 제공하는 프로젝트임.
  • 당신은 Github 프로젝트에서 이 Dataset 카탈로그에 대해 더 배울 수 있음.
  • 모든 Dataset은 모델에 적합하기 전에 표준화 되었음.
  • 각 머신러닝 알고리즘을 평가하기 전에, 우리는 모든 Dataset의 Feature에서 평균을 뺀 다음 Feature를 단위 분산 (Unit Variance) 으로 확장하여 스케일했음.

 

  • 다른 데이터 준비는 수행되지 않았으며, Feature Selection, Feature Engineering 또한 마찬가지로 수행되지 않았음.

 

Analysis of Results

  • 수행된 실험의 수가 많아 분석해야 할 스킬 점수가 많았음.
  • 결과 분석은 잘 다뤄졌으며, 흥미로운 질문들을 하고 쉽게 이해할 수 있는 차트 형식으로 제공함.
  • 전체 실험 디자인은 총 550만개의 머신러닝 알고리즘과 파라미터 추정으로 구성되었으며, 그 결과가 여러 관점에서 분석되는 풍부한 데이터 집합을 끌어냈음.

 

  • 알고리즘 성능은 각 Dataset에 대해 순위가 매겨졌으며, 그런 다음 각 알고리즘의 평균 순위가 계산되었음.
  • 이 것은 알고리즘들이 평균적으로 잘 수행되는지 또는 아닌지에 대한 거칠고 쉽게 이해할 수 있는 아이디어를 제공했음.
  • 결과들은 평균적으로 그라디언트 부스팅과 랜덤 포레스트 둘 다 가장 낮은 순위 (가장 잘 수행) 를 가졌고, 나이브 베이즈 접근들이 가장 높은 순위 (가장 잘 수행 X) 를 가졌다는 것을 보여줌.
  • Post-hoc 테스트는 그라디언트 트리 부스팅의 인상적인 성능을 강조하며, 이는 p < 0.01 수준에서 랜덤 포레스트를 제외하고 모든 알고리즘을 능가하는 상당히 좋은 성능을 발휘한다는 것임.

 

  • 이 것은 논문에서 가져온 것이며, 좋은 차트를 이용하여 설명됨.

  • 어떤 단일 알고리즘도 가장 좋은 성능을 발휘하거나 가장 나쁜 성능을 발휘하지 않음.
  • 이러한 점은 머신러닝 실무자들에게 알려져 있지만, 그 분야에서 초심자들의 경우 이해하기에는 어려움.
  • Silver Bullet은 없으며, 당신은 어떤 것이 가장 잘 작동하는지 보기 위해서 주어진 Dataset에서 알고리즘들의 집합을 테스트 해야함.
  • 165개의 Dataset 모두에서 잘 작동하는 머신러닝 알고리즘은 없다는 것은 없음.

    예를 들어, Multinomial NB와 그라디언트 트리 부스팅이 개별적으로 종합적인 최악과 최고 수준의 알고리즘임에 불구하고 Multinomail NB가 그라디언트 트리 부스팅 보다 더 나은 성능을 발휘하는 Dataset이 9개 있음.

    따라서, 머신러닝을 새로운 Dataset에 적용할 때, 서로 다른 머신러닝 알고리즘을 고려하는 것이 여전히 중요함.

 

  • 게다가, 적절한 알고리즘을 고르는 것만으로는 충분하지 않음. 당신은 또한 당신의 Dataset에 대해 적절한 알고리즘 설정을 선택해야함.
  • 적절한 머신러닝 알고리즘을 선택하는 것과 파라미터를 튜닝하는 것 둘 다 대부분의 문제에서 필수적으로 중요함.

 

  • 결과들은 알고리즘 튜닝이 Dataset과 알고리즘에 따라 방법의 스킬이 3% 부터 50%까지 향상된 것을 발견했음.
  • 결과들은 디폴트 머신러닝 알고리즘 파라미터를 사용하는 것은 현명하지 못한 이유를 증명함 :

    튜닝은 알고리즘에 따라 종종 알고리즘의 정확도를 3 ~ 5% 개선시킴.

    일부 사례에서는, 파라미터 튜닝이 CV (Cross-Validation) 정확도를 50% 개선시키기도 했음.

 

  • 각 알고리즘의 파라미터 튜닝에 의해 제공된 개선의 산포도를 보여주는 논문의 차트를 이용하여 보여줌.

  • 모든 알고리즘들이 요구되지 않음.
  • 결과들은 5가지 알고리즘과 특정한 파라미터들이 165개의 테스트 Dataset에서 106개에 대해 상위 1%의 성능을 달성했다는 것을 발견했음.
  • 이러한 5개의 알고리즘은 생물정보학에서 주어진 Dataset의 Spot 검사 알고리즘의 출발점 (Starting Point) 으로 추천되지만, 본인은 또한 더 일반적으로 다음과 같이 제시하고 싶음 :
    1. 그라디언트 부스팅 (Gradient Boosting).
    2. 랜덤 포레스트 (Random Forest).
    3. 서포트 벡터 머신 (Support Vector Machine).
    4. 엑스트라 트리 (Extra Trees).
    5. 로지스틱 회귀 (Logistic Regression).
  • 논문은 이러한 알고리즘들의 테이블을 제공하며, 이는 추천 파라미터 설정과 Dataset의 수를 포함함 (ex, 알고리즘과 구성이 상위 1%의 성능을 달성한 곳).

 

Practical Findings

  • 이 논문에서 두 개의 커다란 발견이 있으며, 특별하게 시작하거나 (Starting out) 자신의 예측 모델링 문제에 결과를 얻어야 한다는 부담을 느끼는 그러한 실무자들에게 가치가 있음.

1. Use Ensemble Trees

  • 시간적인 부담이나 의문을 가진다면, 당신의 Dataset에 랜덤 포레스트와 그라디언트 부스팅 같은 앙상블 트리 알고리즘을 사용하셈.
  • 이 분석은 최첨단 트리 기반 앙상블 알고리즘의 강점을 증명하는 동시에 머신러닝 알고리즘 성능의 문제 의존성을 보여줌.

 

2. Spot Check and Tune

  • 아무도 당신의 문제를 보고 어떤 알고리즘을 사용해야 할지 말해줄 수 없으며, Silver Bullet 알고리즘 또한 없음.
  • 당신은 당신의 특정한 문제에 대해 어떤 것이 가장 잘 작동하는 지를 보기 위해서 알고리즘과 각 알고리즘에 대한 파라미터 집합을 테스트 해야함.
  • 게다가, 이 분석은 적절한 머신러닝 알고리즘 선택과 이 알고리즘의 파라미터를 철저하게 튜닝하는 것이 대부분의 문제의 예측 정확도에 대해 상당한 개선을 이끌 수 있다는 것을 보여주며, 모든 머신러닝 응용프로그램에서 중요한 단계임.

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함