🤖 머신러닝(Machine Learning) 개요 완벽 정리 💡
“데이터로부터 스스로 배우는 똑똑한 인공지능의 핵심 기술!”
🧠 1️⃣ 머신러닝이란?
📊 머신러닝(Machine Learning) 은
데이터로부터 규칙을 자동으로 학습해
예측 · 분류 · 추천 등을 수행하는 기술이에요!
💬 즉, “사람이 직접 규칙을 짜는 대신,
모델이 스스로 패턴을 찾아 규칙을 만드는 것!”
📌 활용 예시
- 📧 스팸메일 필터링
- 🏦 신용등급 평가
- 📈 매출 예측
- 🛒 상품 추천
- 🔍 이상탐지
- 🖼️ 이미지/음성 인식
🧭 2️⃣ 학습 유형 (Taxonomy)
| 🧩 유형 | 🎯 목표 | 🏷️ 라벨 | 💡 대표 과제 | 🔍 예시 |
| 🧠 지도학습(Supervised) | 입력 → 정답 예측 | ✅ 있음 | 분류 / 회귀 | 스팸 분류, 매출 예측 |
| 🔍 비지도학습(Unsupervised) | 구조/패턴 탐색 | ❌ 없음 | 군집 / 차원축소 | 고객 세분화, 이상치 탐색 |
| 🌀 준지도학습(Semi-supervised) | 소수 라벨 + 다수 무라벨 | 일부 | 성능 보강 | 라벨 적은 이미지 분류 |
| 🎮 강화학습(Reinforcement) | 보상 최대화 | 환경의 보상 | 행동정책 학습 | 광고입찰, 로보틱스 |
💡 핵심 포인트
지도학습 → 정답 있음 🎯
비지도학습 → 정답 없음 🧩
강화학습 → 보상으로 학습 💰
⚙️ 3️⃣ 머신러닝 프로젝트 파이프라인 (End-to-End)
🪜 단계별 흐름
1️⃣ 문제 정의 🎯
→ 분류? 회귀? 어떤 지표로 평가할까 (정확도, F1, RMSE 등)
2️⃣ 데이터 수집/정제 🧹
→ 결측값, 이상값, 중복 데이터 제거
3️⃣ EDA & 피처엔지니어링 🔧
→ 스케일링(Standard/MinMax), 인코딩(One-Hot), 파생 변수 생성
4️⃣ 데이터 분할 ✂️
→ Train / Validation / Test (6:2:2)
→ 시계열 데이터는 순서 유지
5️⃣ 모델 학습 & 튜닝 ⚙️
→ 알고리즘 선택 + 하이퍼파라미터 탐색 (Grid, Random, Bayesian, k-fold CV)
6️⃣ 평가 🧪
→ 과적합 점검(Train vs Val) + 성능 지표 비교
7️⃣ 배포 & 모니터링 🚀
→ 데이터 드리프트 감시 + 재학습 주기 관리
📘 시험 포인트
- 교차검증(k-fold)
- 홀드아웃 방식
- 리샘플링
- 피처 스케일링 필요 여부
📊 4️⃣ 성능지표 한눈 정리
🔷 분류(Classification)
| 지표 | 설명 |
| 🎯 정확도(Accuracy) | 전체 중 맞춘 비율 (불균형 데이터에 약함) |
| 🔍 정밀도(Precision) | 양성이라고 예측한 것 중 진짜 양성 비율 |
| 🚨 재현율(Recall) | 실제 양성 중 잘 찾아낸 비율 |
| ⚖️ F1 Score | 정밀도와 재현율의 조화평균 |
| 📈 ROC-AUC | 임계값 전 구간의 분류 성능 (확률 출력 모델에 적합) |
💬 혼동행렬(Confusion Matrix) 로 오탐/미탐 구조를 시각적으로 확인 가능 💡
🔶 회귀(Regression)
| 지표 | 의미 |
| 📏 MAE | 절대오차의 평균 (단위 그대로 해석 가능) |
| 📉 RMSE | 제곱오차의 평균의 제곱근 (큰 오차에 민감) |
| 📘 R² | 모델의 설명력 (1에 가까울수록 좋음) |
⚖️ 5️⃣ 과적합(Overfitting) vs 과소적합(Underfitting)
| 구분 | 증상 | 해결책 |
| 😵 과적합 | 학습데이터 성능↑, 테스트 성능↓ | 더 많은 데이터, 규제(L1/L2), Dropout, 단순 모델 |
| 😕 과소적합 | 학습 자체도 부정확 | 더 복잡한 모델, 피처 확장, 규제 약화 |
💡 핵심 개념
“바이어스–분산 트레이드오프 ⚖️”
단순 모델은 바이어스↑, 복잡 모델은 분산↑
🧮 6️⃣ 대표 알고리즘 맵 🗺️
🟦 지도학습(Supervised)
- 📈 선형회귀 / 릿지 / 라쏘 → 수치 예측 (해석 용이)
- 📬 로지스틱 회귀 → 이진/다중 분류 (확률 기반)
- 👥 kNN → 거리 기반 예측 (스케일에 민감)
- 🗞️ 나이브베이즈 → 텍스트 분류 (빠르고 단순)
- 🌳 의사결정나무 / 랜덤포레스트 → 규칙 기반, 변수 중요도 확인 가능
- 🔥 GBDT (XGBoost / LightGBM) → 강력한 성능, 튜닝 중요
- 💻 SVM → 초평면 분리, 커널로 비선형 처리 가능
🟨 비지도학습(Unsupervised)
- 🧩 K-평균 → 군집 수 k 필요
- 🌲 계층적 군집 → 덴드로그램으로 시각화
- 💠 DBSCAN → 밀도 기반, 이상치에 강함
- 📉 PCA → 차원 축소, 노이즈 제거
🧰 7️⃣ 피처 엔지니어링 & 전처리 핵심
📏 스케일링 → SVM, kNN 등 거리기반 모델에 필수
💡 트리계열 모델에는 불필요
🧩 인코딩 → 범주형 변수는 One-Hot, 필요 시 Target Encoding
🚫 누수 방지 → Train 데이터로만 fit → Test엔 transform만
⚖️ 불균형 데이터 처리
- 오버샘플링(SMOTE)
- 클래스 가중치 조정
- F1 / PR-AUC 사용
🎛️ 8️⃣ 모델 선택 & 하이퍼파라미터 튜닝
- 🎯 Baseline 설정: 단순 모델부터 시작
- 🧪 탐색 방법: Grid / Random / Bayesian Search
- ⏱️ 조기 종료(Early Stopping): 성능 정체 시 학습 중단
- 🔍 Feature Importance / SHAP: 모델 해석과 변수 선택에 활용
🧱 9️⃣ 운영(MLOps) & 책임 있는 AI
🛠️ 운영 관리
- 데이터/모델 버전 관리
- 재현 가능한 파이프라인
- 성능·데이터 드리프트 모니터링
- 정기적 재학습
🔒 책임 있는 AI(Responsible AI)
| 항목 | 설명 |
| ⚖️ 공정성(Fairness) | 데이터 편향으로 인한 차별 방지 |
| 🔐 프라이버시 | 개인정보 최소 수집, 비식별화 |
| 🧩 설명가능성(XAI) | “왜 이런 예측을 했는가?”를 설명할 수 있어야 함 |
| 🚫 보안/남용방지 | 적대적 공격 및 데이터 위조 방지 |
✅ ADsP 시험 체크리스트
☑ 지도/비지도/강화학습의 개념
☑ 분류·회귀 지표 (Accuracy, F1, RMSE 등)
☑ 과적합 원인 & 해결 방법
☑ 교차검증(k-fold)
☑ 표준화/정규화 필요한 모델
☑ 트리 vs SVM vs 로지스틱 구분
☑ PCA / K-평균의 원리
☑ 데이터 누수 & 불균형 대응
🌈 한눈 요약 (Cheat Sheet)
📘 문제유형별 선택
- 🎯 분류 → 로지스틱, 트리, GBDT, SVM
- 📏 회귀 → 선형, 릿지, 라쏘, 트리
- 👥 군집 → K-평균, DBSCAN, 계층적
- 🧩 차원축소 → PCA, Autoencoder
📊 지표 요약
- 분류: Accuracy / Precision / Recall / F1 / AUC
- 회귀: MAE / RMSE / R²
⚙️ 리스크 & 대응
- 과적합 → 규제·단순화·교차검증
- 불균형 → 리샘플링·가중치·F1
- 누수 → Train 데이터로만 fit
✨ 한 줄 정리
🤖 “머신러닝은 데이터를 보고 스스로 배우는 기술!”
📊 좋은 데이터가 좋은 모델을 만든다!