
인공지능(AI, Artificial Intelligence)은 컴퓨터가 인간의 지능적인 작업을 수행하도록 만드는 넓은 기술 분야다. 데이터에서 규칙을 학습해 예측하거나, 사람이 만든 규칙에 따라 판단하거나, 환경과 상호작용하며 행동을 개선하는 방식이 모두 AI에 포함된다.
머신러닝과 딥러닝은 AI 안에 포함되는 개념이다.

| 구분 | 핵심 개념 | 예시 |
|---|---|---|
| 규칙 기반 알고리즘 | 사람이 조건과 규칙을 직접 작성한다. | if 점수 >= 60: 합격 |
| 인공지능 | 지능적인 판단이나 문제 해결을 수행하는 기술 전체를 말한다. | 음성 비서, 경로 탐색, 추천 시스템 |
| 머신러닝 | 데이터를 바탕으로 패턴을 학습해 예측 또는 분류한다. | 스팸 메일 분류, 가격 예측 |
| 딥러닝 | 여러 층의 인공신경망으로 복잡한 패턴을 학습한다. | 이미지 인식, 음성 인식, 생성형 AI |
규칙 기반 알고리즘은 사람이 미리 작성한 조건에 따라 동작한다. 결과를 설명하기 쉽고 단순한 업무에 빠르게 적용할 수 있지만, 규칙이 많아지거나 예외가 늘어나면 관리가 어려워진다.
age = 20
if age >= 19:
print("성인입니다.")
else:
print("미성년자입니다.")
머신러닝은 사람이 모든 규칙을 직접 작성하는 대신, 입력 데이터와 정답 데이터에서 규칙을 찾도록 모델을 학습시킨다.
머신러닝(Machine Learning)은 데이터의 패턴을 학습한 모델로 새로운 데이터의 결과를 예측하거나 분류하는 기술이다. 예를 들어 과거 주택의 면적, 위치, 방 개수와 가격 데이터를 학습해 새로운 주택의 가격을 예측할 수 있다.
머신러닝의 핵심은 다음과 같다.
피처(feature)라고 한다.타깃(target) 또는 레이블(label)이라고 한다.학습(training)이라고 한다.추론(inference)이라고 한다.딥러닝(Deep Learning)은 여러 층으로 구성된 인공신경망을 이용하는 머신러닝 기법이다. 이미지, 음성, 텍스트처럼 구조가 복잡한 비정형 데이터를 처리하는 데 강점이 있다.
다만 딥러닝은 일반적으로 많은 데이터와 연산 자원을 필요로 하고, 학습 과정과 결과를 해석하기 어려운 경우가 있다. 데이터 규모가 작고 표 형태의 데이터가 중심이라면 선형 회귀, 결정 트리, 랜덤 포레스트 같은 전통적인 머신러닝 모델이 더 적합할 수 있다.
딥러닝은 머신러닝의 개념 위에서 동작한다. 따라서 먼저 머신러닝을 학습하면 딥러닝 모델의 결과를 해석하고 개선하는 데 필요한 기반을 만들 수 있다.
| 이유 | 설명 |
|---|---|
| 데이터 이해 | 피처, 타깃, 결측치, 이상치, 인코딩 같은 데이터 전처리 개념을 익힌다. |
| 평가 역량 | 과적합, 과소적합, 학습·검증·테스트 데이터 분리, 평가 지표를 이해한다. |
| 모델 선택 | 문제 유형에 따라 회귀, 분류, 군집화 모델을 선택하는 기준을 만든다. |
| 효율성 | 작은 표 데이터 문제는 복잡한 딥러닝 모델보다 전통적인 머신러닝이 빠르고 해석하기 쉽다. |
딥러닝이 항상 더 좋은 모델이라는 뜻은 아니다. 문제의 목적, 데이터의 크기와 형태, 해석 가능성, 운영 비용을 함께 고려해야 한다.

대표적인 활용 분야는 다음과 같다.
| 문제 유형 | 목표 | 예시 |
|---|---|---|
| 분류(Classification) | 정해진 범주 중 하나를 예측한다. | 스팸 메일 판별, 질병 여부 판별 |
| 회귀(Regression) | 연속된 숫자 값을 예측한다. | 집값, 매출, 수요 예측 |
| 군집화(Clustering) | 비슷한 데이터를 정답 없이 그룹으로 묶는다. | 고객 유형 세분화 |
| 추천(Recommendation) | 사용자 또는 상품의 유사성을 바탕으로 항목을 제안한다. | 영상, 음악, 상품 추천 |
| 이상 탐지(Anomaly Detection) | 일반적인 패턴에서 벗어난 데이터를 찾는다. | 거래 이상, 시스템 장애 탐지 |
| 자연어 처리(NLP) | 사람이 사용하는 언어를 분석하거나 생성한다. | 번역, 요약, 챗봇 |
| 컴퓨터 비전 | 이미지와 영상을 분석한다. | 객체 탐지, OCR, 품질 검사 |
분류와 회귀는 정답이 있는 지도학습 문제이며, 군집화는 정답 없이 구조를 찾는 비지도학습 문제다.
지도학습(Supervised Learning)은 입력 데이터와 정답 레이블을 함께 사용한다. 모델은 입력과 정답의 관계를 학습한 뒤, 처음 보는 입력의 정답을 예측한다.
입력 데이터(피처) + 정답(레이블) -> 모델 학습 -> 새 데이터의 결과 예측
비지도학습(Unsupervised Learning)은 정답 레이블 없이 데이터 자체의 구조를 찾는다.
강화학습(Reinforcement Learning)은 에이전트가 환경에서 행동하고 보상을 받으면서, 장기적인 보상을 크게 만드는 전략을 학습하는 방식이다.
에이전트 -> 행동 -> 환경 -> 보상/상태 변화 -> 에이전트
게임 플레이, 로봇 제어, 자원 배분처럼 행동의 순서가 중요한 문제에 활용한다.
반지도학습(Semi-Supervised Learning)은 적은 양의 레이블 데이터와 많은 양의 비레이블 데이터를 함께 사용한다. 레이블을 만드는 비용이 큰 의료 영상이나 문서 분류 문제에서 유용하다.
자기지도학습(Self-Supervised Learning)은 데이터 일부를 가리거나 변형한 뒤, 원래 정보를 맞히도록 학습 신호를 데이터 내부에서 만든다. 대규모 언어 모델이 문맥을 이용해 다음 토큰을 예측하는 방식도 자기지도학습의 한 예다.
온라인 학습(Online Learning)은 데이터가 한 번에 모두 준비되지 않아도, 들어오는 데이터 단위로 모델을 계속 업데이트하는 방식이다. 실시간 로그나 스트리밍 데이터에 적합하다.
전이 학습(Transfer Learning)은 이미 대규모 데이터로 학습된 모델의 지식을 새로운 문제에 활용하는 방식이다. 적은 데이터로도 학습 시간을 줄이고 성능을 높이는 데 도움이 된다.
머신러닝 프로젝트는 모델을 학습하는 일만으로 끝나지 않는다. 좋은 모델을 만들려면 문제 정의와 데이터 품질 관리가 먼저 필요하다.
문제 정의 -> 데이터 수집 -> 탐색 및 전처리 -> 데이터 분리
-> 모델 학습 -> 평가 및 개선 -> 배포와 모니터링
먼저 해결할 문제와 성공 기준을 명확히 정한다.
예를 들어 고객 이탈 예측이라면 타깃은 이탈 여부이고, 목표는 이탈 가능성이 높은 고객을 놓치지 않는 것이다. 이 경우 단순 정확도보다 재현율이나 F1 점수가 더 중요할 수 있다.
데이터의 행 수, 컬럼의 자료형, 결측치, 이상치, 타깃 분포를 먼저 확인한다. 이 단계에서 데이터가 문제를 해결하기에 충분한지 판단한다.
원시 데이터는 바로 모델에 넣기 어려운 경우가 많다. 대표적인 전처리 작업은 다음과 같다.
전처리 과정은 학습 데이터로 기준을 만들고 검증·테스트 데이터에 같은 기준을 적용해야 한다. 전체 데이터의 평균이나 최빈값을 먼저 계산하면 테스트 데이터의 정보가 학습에 섞이는 데이터 누수(data leakage)가 발생할 수 있다.
모델이 처음 보는 데이터에서도 잘 동작하는지 확인하려면 데이터를 역할별로 나눈다.
| 데이터 | 역할 |
|---|---|
| 학습 데이터(Train) | 모델이 패턴을 학습하는 데 사용한다. |
| 검증 데이터(Validation) | 모델과 하이퍼파라미터를 비교하고 조정하는 데 사용한다. |
| 테스트 데이터(Test) | 최종 모델의 일반화 성능을 한 번 평가하는 데 사용한다. |
테스트 데이터는 모델 선택이나 반복적인 튜닝에 사용하지 않는 것이 원칙이다. 테스트 데이터까지 학습 과정에 반복해서 사용하면 실제 새로운 데이터에 대한 성능을 과대평가할 수 있다.
문제에 맞는 모델을 선택하고, 동일한 데이터 분할과 평가 지표로 여러 모델을 비교한다.
| 문제 | 대표 평가 지표 |
|---|---|
| 이진·다중 분류 | 정확도, 정밀도, 재현율, F1 점수, ROC-AUC |
| 회귀 | MAE, MSE, RMSE, R² |
| 군집화 | 실루엣 점수, 군집 해석 |
평가 결과가 좋지 않으면 데이터 품질, 피처, 모델, 하이퍼파라미터, 평가 방식 순서로 원인을 확인한다.
과적합을 줄이기 위해서는 데이터를 늘리거나, 모델 복잡도를 낮추거나, 규제를 적용하거나, 교차 검증을 사용한다. 과소적합은 더 유용한 피처를 추가하거나 모델의 표현력을 높이는 방법으로 개선할 수 있다.
처음부터 모든 수학을 깊게 공부해야 하는 것은 아니다. 모델을 사용하면서 필요한 개념을 예제와 함께 익히는 편이 이해하기 좋다.
| 라이브러리 | 역할 |
|---|---|
| NumPy | 수치 연산과 배열 처리 |
| pandas | 표 형태 데이터 처리와 전처리 |
| Matplotlib, Seaborn | 데이터 시각화 |
| scikit-learn | 전처리, 모델 학습, 평가 |
좋은 모델은 단순히 점수가 높은 모델이 아니다. 어떤 데이터가 실제 업무에서 의미 있는지, 이상치를 제거해도 되는지, 모델 결과가 특정 집단에 불리하지 않은지 판단하려면 도메인 지식이 필요하다.
개인정보를 다룰 때는 수집 목적과 접근 권한을 관리해야 한다. 또한 학습 데이터의 편향이 특정 사용자에게 불공정한 결과를 만들 수 있으므로, 데이터 구성과 모델 결과를 지속적으로 점검해야 한다.
모델을 배포한 뒤에도 실제 성능과 데이터 분포가 변하는지 모니터링해야 한다. 학습 당시와 실제 서비스 환경의 데이터가 달라지는 현상을 데이터 드리프트(data drift)라고 한다.