머신러닝은 강력하지만, 모든 문제에 적합한 만능 도구는 아닙니다. 오늘은 머신러닝이 잘 맞는 문제와 그렇지 않은 문제를 구분하는 기준을 배우고, 전통적인 프로그래밍 방식과 무엇이 다른지 비교합니다.
이 판단력은 실무에서 매우 중요합니다. "굳이 머신러닝을 쓸 필요가 없는데 도입했다가 비용만 늘고 결과도 나쁜" 경우가 흔하기 때문입니다. 시험에서도 "이 시나리오에 머신러닝이 적합한가?"를 묻는 문제가 자주 나옵니다.
먼저 두 접근 방식의 근본적 차이를 정리합니다.
| 구분 | 전통적 프로그래밍 | 머신러닝 |
|---|---|---|
| 규칙을 만드는 주체 | 사람(개발자) | 데이터로부터 학습 |
| 입력 | 데이터 + 규칙 | 데이터 + 정답(예시) |
| 출력 | 결과(답) | 규칙(모델) |
| 적합한 상황 | 규칙이 명확하고 변하지 않음 | 규칙이 복잡하거나 사람이 정의하기 어려움 |
전통적 프로그래밍은 "사람이 규칙을 적으면 컴퓨터가 그대로 실행"합니다. 반면 머신러닝은 "데이터와 정답 예시를 주면 컴퓨터가 규칙(모델)을 만들어 낸다"는 점이 핵심 차이입니다.
💡 관련 이론: 전통적 프로그래밍은
데이터 + 규칙 → 결과이고, 머신러닝은데이터 + 결과 → 규칙입니다. 입력과 출력이 뒤바뀐 셈이라고 이해하면 기억하기 쉽습니다.
다음 조건을 만족할수록 머신러닝이 좋은 선택입니다.
반대로 다음과 같은 경우에는 머신러닝이 과하거나 부적절합니다.
선택지를 클릭하면 정답·해설이 펼쳐집니다.
문제 1
다음 중 머신러닝보다 전통적 프로그래밍이 더 적합한 문제는?
문제 2
전통적 프로그래밍과 머신러닝의 입력·출력 관계를 가장 정확하게 설명한 것은?
문제 3
어떤 업무에서 학습에 사용할 과거 데이터가 단 몇 건밖에 없고, 결과는 법적으로 100% 정확하고 완전히 설명 가능해야 한다. 이 상황에 대한 판단으로 가장 적절한 것은?
문제 4
머신러닝 도입이 적합한 문제의 특징으로 보기 어려운 것은?
| 문제 | 더 나은 방법 | 이유 |
|---|---|---|
| 두 숫자의 합 계산 | 전통적 프로그래밍 | 규칙이 명확함 |
| 세금 10% 계산 | 전통적 프로그래밍 | 단순 수식 |
| 사번으로 직원 정보 조회 | 데이터베이스 조회 | 정확한 조회로 충분 |
| 데이터가 단 10건뿐인 예측 | 데이터 확보 우선 | 학습 데이터 부족 |
💡 관련 이론: "머신러닝이 항상 더 똑똑하다"는 오해를 피해야 합니다. 규칙이 명확한 문제에 머신러닝을 쓰면 비용은 늘고 정확도는 오히려 떨어질 수 있습니다. 가장 단순하면서 충분한 방법을 선택하는 것이 좋은 설계입니다.
머신러닝 도입 여부를 빠르게 점검하는 순서입니다.
규칙을 사람이 쉽고 명확하게 적을 수 있는가?
└ 예 → 전통적 프로그래밍 사용 (머신러닝 불필요)
└ 아니오 ↓
학습에 쓸 충분한 데이터가 있는가?
└ 아니오 → 먼저 데이터 확보 (지금은 머신러닝 어려움)
└ 예 ↓
약간의 오차를 허용할 수 있는가?
└ 아니오 → 신중히 검토 (머신러닝 위험할 수 있음)
└ 예 → 머신러닝이 적합할 가능성이 높음
실무에서는 두 방식을 함께 쓰는 경우도 많습니다. 예를 들어 명확한 규칙은 전통적 코드로 처리하고, 복잡한 판단만 머신러닝에 맡기는 식입니다. "둘 중 하나만 옳다"가 아니라 "문제에 맞는 도구를 고른다"는 관점이 중요합니다.
데이터 + 규칙 → 결과, 머신러닝은 데이터 + 결과 → 규칙입니다.