비슷해 보여도 맡은 일이 달라
규칙, 경험적 요령, 통계, 머신러닝은 같은 상자에 넣기 쉬운데 서로 다른 질문에 답해. 규칙은 이미 알고 있는 조건을 코드로 옮겨. 경험적 요령은 완벽하진 않아도 빠르게 쓸 만한 판단을 줘. 통계는 자료가 말해주는 관계와 그 불확실성을 추정하지. 머신러닝은 많은 사례에서 반복되는 패턴을 찾아 새 사례의 결과를 예측해. 넷 다 숫자와 코드를 쓰지만, 무엇을 알고 시작하는지와 틀렸을 때 어떤 책임을 지는지가 달라.
| 도구 | 잘 맞는 상황 | 조심할 점 |
|---|---|---|
| 규칙 | 조건이 안정적이고 판단 근거를 설명해야 할 때 | 예외가 늘면 규칙끼리 충돌해 |
| 경험적 요령 | 비용이 낮은 문제를 빠르게 근사할 때 | 편향이 쌓여도 늦게 드러나 |
| 통계 | 관계와 불확실성을 함께 말해야 할 때 | 상관관계를 원인으로 착각하기 쉬워 |
| 머신러닝 | 정답이 붙은 사례가 많고 실수를 측정할 수 있을 때 | 정보 누출과 시간에 따른 변화에 약해 |
가장 단순한 도구가 출발점이야
문제가 복잡해 보인다고 곧장 모델부터 꺼내면 안 돼. 안정된 규칙 하나로 충분하다면 그게 더 싸고, 빠르고, 설명하기도 쉬워. 팀이 무엇을 정답으로 볼지 합의하지 못했다면 모델은 그 갈등을 해결하지 않아. 오히려 애매한 판단을 숫자 뒤에 숨겨버리지. 먼저 규칙이나 단순한 기준선을 세우고, 그것이 놓치는 변동이 실제로 큰지 확인해. 머신러닝은 단순한 방법이 실패했다는 증거 뒤에 와야 해.
현실에서는 한 시스템 안에서 함께 살아
사기 거래를 잡는 시스템을 생각해봐. 이미 확인된 수법은 규칙으로 바로 막는 게 좋아. 짧은 시간에 거래가 몰리는 계정은 경험적 문턱값으로 잠시 멈출 수 있어. 평소 거래량의 범위는 통계로 살피고, 그 어느 쪽에도 딱 맞지 않는 긴 꼬리는 모델이 맡을 수 있지. 핵심은 한 도구가 모든 일을 독점하게 만드는 게 아니야. 어떤 사례를 어느 층이 책임질지, 실패하면 다음 층이 어떻게 이어받을지를 정하는 거야.
도구 선택도 객체 설계와 같아
한 부모 클래스로 모든 자식을 억지로 설명하면 설계가 무너져. 문제마다 필요한 책임이 다른데 전부 모델이라는 한 객체에 밀어 넣는 것도 똑같아. 규칙은 명시적 정책을, 통계는 불확실성을, 모델은 반복 패턴을 맡겨. 경계가 분명하면 교체와 검증이 쉬워지고, 어느 층이 틀렸는지도 빨리 찾을 수 있어. 세련된 이름보다 책임 분리가 먼저야.