전통적인 프로그래밍 기법과 기계학습 기법의 공통점과 차이점을 표로 정리해줘
통적인 프로그래밍 기법과 기계학습 기법의 공통점과 차이점을 알기 쉽게 표로 정리해 드립니다.
전통적인 프로그래밍 vs 기계학습 비교
| 구분 | 전통적인 프로그래밍 (Traditional Programming) | 기계학습 (Machine Learning) |
| 핵심 철학 | 사람이 직접 **규칙(Rule)**을 정의하고 코딩함 | 컴퓨터가 데이터로부터 규칙을 스스로 학습함 |
| 데이터 흐름 | 데이터 + 규칙 $\rightarrow$ [ 컴퓨터 ] $\rightarrow$ 출력 | 데이터 + 정답(출력) $\rightarrow$ [ 알고리즘 학습 ] $\rightarrow$ 규칙(모델) |
| 필수 요소 | 명확한 알고리즘, 논리적 규칙 | 대량의 학습 데이터 (Training Data), 컴퓨팅 자원 |
| 복잡한 문제 대처 | 규칙이 매우 복잡하거나 정의하기 힘든 영역(예: 이미지/음성 인식, 자연어 처리)에서는 구현이 거의 불가능함 | 데이터 속에서 복잡하고 비선형적인 패턴을 찾아내므로 직관적으로 규칙을 짜기 힘든 문제에 매우 뛰어남 |
| 유지보수 및 수정 | 오류 발생 시 사람이 직접 코드를 찾아 수정해야 함 | 새로운 데이터로 모델을 **재학습(Retraining)**시키거나 매개변수를 조정하여 개선함 |
| 결과의 투명성 | 코드가 명확하게 로직을 수행하므로 결과 도출 과정을 100% 추적 및 설명할 수 있음 | 모델 내부의 연산 과정이 복잡하여 결과의 이유를 명확히 설명하기 어려운 블랙박스(Black-box) 특성이 있음 |
핵심 공통점
- 목적의 동일성: 두 기법 모두 주어진 입력 데이터를 바탕으로 유의미한 결과나 출력을 도출하여 문제를 해결하는 것을 목적으로 합니다.
- 컴퓨터 기반 실행: 하드웨어와 소프트웨어 환경 위에서 데이터를 처리하고 연산을 수행하는 컴퓨터 시스템 기반의 기술입니다.
- 변수와 데이터 활용: 입력값, 변수, 조건 등 데이터를 다루는 프로그래밍적 기반 구조 위에서 동작합니다.