2,000차원의 어두운 방에서 검은 고양이 찾기

머신러닝 알고리즘을 위한 스트레스 테스트를 진행했습니다.

대부분의 벤치마크는 지루합니다. MNIST나 Titanic 같은 단순한 데이터셋을 사용하죠. 저는 모델을 한계점까지 밀어붙이고 싶었습니다.

21개의 알고리즘을 서로 맞붙였습니다. 포함된 알고리즘은 다음과 같습니다:

  • 전통적인 모델: Linear Regression, k-NN, SVR.
  • 트리 앙상블: Random Forest, ExtraTrees.
  • 부스팅 강자들: XGBoost, LightGBM, CatBoost, HistGradientBoosting.
  • 신경망: Multi-layer perceptrons 및 TabNet.
  • 복병: Polyharmonic Cascade.

작업은 간단해 보였습니다. 모델들에게 복잡한 3D 표면을 학습하도록 요청했습니다. 하지만 여기에 두 가지 거대한 장애물을 추가했습니다:

  1. 차원의 노이즈: 2,000개의 피처를 제공했습니다. 그중 단 두 개만이 실제 데이터였고, 나머지 1,998개는 순수한 노이즈였습니다. 이는 유전체학이나 센서 데이터와 같은 실제 세계의 데이터를 모사합니다.

  2. 좌표 회전: 전체 피처 공간을 회전시켰습니다. 이는 유용한 신호가 더 이상 특정 열(column)에 정렬되어 있지 않고, 2,000개의 모든 차원에 걸쳐 퍼져 있음을 의미합니다.

결과는 충격적이었습니다.

XGBoost나 LightGBM 같은 트리 기반 모델은 정형 데이터의 제왕입니다. 데이터가 열에 맞춰 정렬되어 있을 때는 승리하죠. 하지만 공간을 회전시키자 이들은 무너졌습니다. 노이즈 속에서 신호를 찾아내지 못했습니다.

신경망은 회전은 견뎌냈지만, 높은 차원 문제로 고전했습니다. 노이즈가 증가함에 따라 속도가 느려지고 정확도가 떨어졌습니다.

그리고 Polyharmonic Cascade가 있었습니다.

이 모델은 표준적인 경사 하강법(gradient descent)을 사용하지 않습니다. 대신 무작위 함수 이론(random function theory)에 기반한 순수 수학을 사용합니다. 강자들이 실패하는 동안, Cascade는 두각을 나타냈습니다. 회전과 2,000개의 피처를 손쉽게 처리했습니다. 가장 어려운 라운드에서 거의 모든 다른 참가자보다 뛰어난 성능을 보였습니다.

교훈은 명확합니다: 현대의 정형 데이터 머신러닝은 종종 축(axis)에 의존적입니다. 데이터의 기하학적 구조가 바뀌기 전까지는 아주 잘 작동하죠. 만약 복잡하거나, 회전되어 있거나, 노이즈가 매우 심한 데이터를 다룬다면, 여러분의 표준 도구들이 제 역할을 못 할 수도 있습니다.

전체 코드와 결과는 GitHub에서 확인할 수 있습니다. 여러분도 이 실험을 재현해 보시길 권합니다.

출처: https://dev.to/xolod7/searching-for-a-black-cat-in-a-2000-dimensional-dark-room-a-machine-learning-algorithm-tournament-n6n

선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi