전통적 프로그래밍은 데이터 + 규칙 → 결과, 머신러닝은 데이터 + 결과 → 규칙. 입력과 출력이 뒤바뀐다 .
ML이 적합 : 규칙이 복잡해 사람이 적기 어렵고 + 데이터가 충분하고 + 약간의 오차를 허용할 수 있을 때.
ML이 부적합 : 규칙이 단순·명확하거나, 데이터가 거의 없거나, 100% 정확성·완전한 설명이 필수일 때.
가장 단순하면서 충분한 방법 을 고르는 것이 좋은 설계다. 복잡한 기술이 항상 정답은 아니다.
실무에서는 명확한 규칙은 코드로, 복잡한 판단만 ML로 함께 쓰는 경우가 많다.
머신러닝은 강력하지만 만능이 아니다. "굳이 필요 없는데 도입해 비용만 늘고 결과도 나쁜" 사례가 실무에 흔하다.
구분 전통적 프로그래밍 머신러닝 규칙을 만드는 주체 사람(개발자) 데이터로부터 학습 입력 데이터 + 규칙 데이터 + 정답(예시) 출력 결과(답) 규칙(모델) 적합한 상황 규칙이 명확하고 변하지 않음 규칙이 복잡하거나 사람이 정의하기 어려움
전통적 프로그래밍: 사람이 규칙을 적으면 컴퓨터가 그대로 실행한다.
머신러닝: 데이터와 정답 예시를 주면 컴퓨터가 규칙(모델)을 만들어 낸다.
💡 관련 이론 : 전통적 프로그래밍은 데이터 + 규칙 → 결과이고, 머신러닝은 데이터 + 결과 → 규칙입니다. 입력과 출력이 뒤바뀐 셈이라고 이해하면 기억하기 쉽습니다.
다음 조건을 만족할수록 머신러닝이 좋은 선택이다.
규칙이 너무 복잡하거나 사람이 일일이 적기 어렵다 — 사진 속 고양이를 인식하는 규칙을 코드로 적기는 사실상 불가능하다.
패턴은 있지만 명시적으로 표현하기 어렵다 — 스팸 메일의 특징은 계속 변하고 미묘해 규칙으로 고정하기 어렵다.
충분한 양과 품질의 데이터가 있다 — 학습에 쓸 과거 데이터(예시)가 많아야 한다.
약간의 오차를 허용할 수 있다 — 머신러닝은 100% 정확하지 않고 확률적으로 좋은 답을 준다.
상황이 변하면 규칙도 바뀌어야 한다 — 새 데이터로 다시 학습해 변화에 적응할 수 있다.
이미지/음성/자연어 인식
추천 시스템(상품, 영화)
스팸·사기 탐지
수요·가격 예측
고객 이탈 예측
반대로 다음과 같은 경우에는 머신러닝이 과하거나 부적절하다.
규칙이 명확하고 간단하다 — "부가세는 금액의 10%"는 그냥 곱셈이다.
데이터가 거의 없다 — 학습할 예시가 부족하면 제대로 작동하지 않는다.
100% 정확성과 완벽한 설명이 필수다 — 법적·안전상 오차가 허용되지 않고 모든 결정의 근거를 설명해야 한다면, 확률적이고 때로 "블랙박스"인 머신러닝은 위험할 수 있다.
단순 계산·조회로 충분하다 — 데이터베이스 조회, 정해진 수식 계산은 전통적 방식이 더 정확하고 저렴하다.
문제 더 나은 방법 이유 두 숫자의 합 계산 전통적 프로그래밍 규칙이 명확함 세금 10% 계산 전통적 프로그래밍 단순 수식 사번으로 직원 정보 조회 데이터베이스 조회 정확한 조회로 충분 데이터가 단 10건뿐인 예측 데이터 확보 우선 학습 데이터 부족
💡 관련 이론 : "머신러닝이 항상 더 똑똑하다"는 오해를 피해야 합니다. 규칙이 명확한 문제에 머신러닝을 쓰면 비용은 늘고 정확도는 오히려 떨어질 수 있습니다. 가장 단순하면서 충분한 방법을 선택 하는 것이 좋은 설계입니다.
머신러닝 도입 여부를 빠르게 점검하는 순서다.
규칙을 사람이 쉽고 명확하게 적을 수 있는가?
└ 예 → 전통적 프로그래밍 사용 (머신러닝 불필요)
└ 아니오 ↓
학습에 쓸 충분한 데이터가 있는가?
└ 아니오 → 먼저 데이터 확보 (지금은 머신러닝 어려움)
└ 예 ↓
약간의 오차를 허용할 수 있는가?
└ 아니오 → 신중히 검토 (머신러닝 위험할 수 있음)
└ 예 → 머신러닝이 적합할 가능성이 높음
실무에서는 두 방식을 함께 쓰는 경우 가 많다. 명확한 규칙은 전통적 코드로, 복잡한 판단만 머신러닝에 맡긴다.
"둘 중 하나만 옳다"가 아니라 **"문제에 맞는 도구를 고른다"**는 관점이 중요하다.
전통적 프로그래밍 : 사람이 규칙을 코드로 적어두면 컴퓨터가 그대로 실행하는 방식.
모델 : 머신러닝이 데이터에서 찾아낸 규칙 덩어리. 학습의 결과물이다.
학습 데이터 : 모델을 가르치는 데 쓰는 과거 데이터와 그 정답.
데이터 품질 : 데이터가 정확하고 빠짐없고 치우치지 않은 정도. 데이터의 양만큼 중요하다.
확률적 : 항상 같은 정답을 보장하지 않고 "이럴 가능성이 높다"로 답한다는 뜻.
블랙박스 : 답은 나오지만 왜 그런 답인지 사람이 설명하기 어려운 상태.
설명 가능성 : 모델이 왜 그런 결정을 내렸는지 근거를 댈 수 있는 성질. 금융·의료·법률에서 특히 중요하다.
이탈 예측 : 고객이 서비스를 그만둘지 미리 맞히는 작업. 대표적인 ML 활용 사례.
사기 탐지 : 카드 결제 등에서 비정상 거래를 골라내는 작업.
📝 연습 문제 선택지를 클릭하면 정답·해설이 펼쳐집니다.
다음 중 머신러닝보다 전통적 프로그래밍이 더 적합한 문제는?
A 수백만 장의 사진에서 고양이를 인식하기 B 변화하는 스팸 메일을 탐지하기 C 입력 금액에 고정 세율 10%를 곱해 세금을 계산하기 D 고객의 구매 이력으로 상품을 추천하기 전통적 프로그래밍과 머신러닝의 입력·출력 관계를 가장 정확하게 설명한 것은?
A 둘 다 데이터와 규칙을 입력받아 결과를 출력한다 B 전통적 방식은 데이터+규칙으로 결과를, 머신러닝은 데이터+결과로 규칙을 만든다 C 머신러닝은 규칙을 입력받아 데이터를 생성한다 D 전통적 방식은 데이터 없이 결과만 만든다 어떤 업무에서 학습에 사용할 과거 데이터가 단 몇 건밖에 없고, 결과는 법적으로 100% 정확하고 완전히 설명 가능해야 한다. 이 상황에 대한 판단으로 가장 적절한 것은?
A 데이터가 적어도 머신러닝이 항상 더 정확하므로 즉시 도입한다 B 데이터 부족과 완전한 정확성·설명 요구 때문에 머신러닝이 부적합할 수 있다 C 강화학습을 쓰면 데이터 없이도 완벽하게 해결된다 D 머신러닝은 설명 가능성이 항상 보장되므로 문제없다 머신러닝 도입이 적합한 문제의 특징으로 보기 어려운 것은?
A 사람이 규칙을 명시적으로 적기 어려울 만큼 패턴이 복잡하다 B 학습에 사용할 충분한 양과 품질의 데이터가 있다 C 약간의 예측 오차를 허용할 수 있다 D 규칙이 매우 단순하고 변하지 않으며 단순 계산으로 끝난다