본문 바로가기
C.W.K.
Stream
Lesson 02 of 10 · published

전통적 머신러닝과 딥러닝

~22 min · classical-ml, tradeoffs, baselines

Level 0호기심
0 XP0/73 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

이름은 비슷해도 잘하는 일이 달라

로지스틱 회귀, 기울기 부스팅 트리, SVM, 랜덤 포레스트 같은 전통적 머신러닝은 구조화된 표 형식 데이터에 강력해. 데이터셋 크기가 적당하고, 잘 설계된 열 몇 개에 신호가 집중된 문제라면 특히 그래. 학습이 빠르고 해석하기 쉬우며 노트북에서도 돌아가. XGBoost와 LightGBM이 여전히 Kaggle 표 형식 데이터 대회 대부분에서 우승한다는 건 옛날 얘기가 아니야.

딥러닝은 픽셀, 파형, 문자 스트림처럼 원시 상태의 고차원 중복 데이터에 신호가 묻혀 있고, 충분한 데이터나 좋은 사전학습 백본이 있을 때 강해. 비용도 만만치 않아. GPU가 필요하고, 초기화와 정규화, 규제를 신중하게 다뤄야 하며, 형태 디버깅에 몇 시간을 쓸 각오도 해야 해.

팁: 데이터셋이 열 수백 개와 행 수십만 개짜리 CSV에 들어간다면, 첫 수는 신경망이 아니라 기울기 부스팅이야. 강력한 기준선의 성능 개선이 멈춘 다음에 확장해.

기준선부터 세우는 습관

딥러닝 프로젝트에서 가장 흔한 실패는 기준선을 건너뛰는 거야. 팀이 Transformer를 3주 동안 튜닝했는데, 알고 보니 잘 튜닝된 LightGBM이 20분 만에 같은 정확도를 내는 표 형식 데이터셋인 경우지. 비용은 연산에만 드는 게 아니야. 어떤 조정값이 중요한지 잘못 이해하면 그 대가가 더 커. 기준선은 딥러닝이 얼마나 더 개선할 여유가 있는지 알려줘.

딥러닝을 선택할 때

다음 조건 중 둘 이상이 참일 때 딥러닝을 선택해. 입력이 원시 상태의 고차원 데이터이고, 입력과 레이블의 관계가 비선형적이거나 조합적이며, 충분한 데이터나 강력한 사전학습 모델이 있고, 학습과 서빙 비용을 감당할 수 있어야 해. 그렇지 않다면 전통적 머신러닝이 어른의 선택이야.

원칙: 항상 단순한 기준선부터 학습해. 이겨야 할 숫자는 0이 아니라, 같은 split에서 가장 단순하고 합리적인 모델이 기록한 점수야.

Code

기준선부터, 확장은 나중에·python
from sklearn.dummy import DummyClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import f1_score
import lightgbm as lgb

dummy = DummyClassifier(strategy="most_frequent").fit(X_train, y_train)
print("dummy f1:", f1_score(y_val, dummy.predict(X_val), average="macro"))

lr = LogisticRegression(max_iter=1000).fit(X_train, y_train)
print("lr f1:   ", f1_score(y_val, lr.predict(X_val), average="macro"))

gbm = lgb.LGBMClassifier(n_estimators=500).fit(X_train, y_train)
print("lgbm f1: ", f1_score(y_val, gbm.predict(X_val), average="macro"))
# Only escalate to a neural network if the gap to the ceiling
# justifies the engineering cost.

External links

Exercise

본인이 다뤄본 데이터셋 하나를 가져와. Dummy 기준선, 선형 기준선, 기울기 부스팅 기준선의 점수를 적어. 셋 다 모른다면 딥러닝이 도움이 될지 아직 모르는 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.