콘텐츠로 바로가기

Learning & Optimization

기계가 데이터로부터 수리적 규칙을 스스로 물리 학습하는 기본 원리와, 오차를 줄여나가는 최적화의 역학을 다루는 학습 노드입니다.

Article
M

Me

hyunyoun's Blog

machine-learning-aimachine-learningailearningoptimizationmachine-learning-fundamentalssci-pyscikit-learn9 min read

1. Overview

기초 기계 학습(Learning & Optimization, LNO)은 "if-else" 규칙을 프로그래머가 직접 짜넣는 고전적인 코딩을 넘어, 데이터(Data) 속에 숨겨진 수학적 패턴을 컴퓨터가 스스로 찾아내어 규칙(Model)을 만들어내는 지능의 근원을 다룹니다.

과거에는 수만 개의 스팸 메일 단어 목록을 일일이 타이핑했다면, 이제는 기계에게 스팸과 정상 메일의 뭉치를 던져주면 스스로 경계선을 긋습니다. 학습자는 정답이 있는 데이터로 함수를 근사하는 지도 학습(Supervised Learning)과, 정답 없이 데이터의 군집을 찾아내는 비지도 학습(Unsupervised Learning)의 물리적 차이를 배웁니다. 또한 예측 오차(Loss)를 줄이기 위해 3차원 지형을 굴러 내려가는 경사 하강법(Gradient Descent)이라는 최적화(Optimization)의 수학적 역학을 체화하여, 현대 AI를 굴러가게 하는 가장 밑바닥 엔진을 조립해 냅니다.

2. Scope & Boundaries

In-Scope

  • 기계 학습 패러다임 (ML Paradigms): 지도 학습(Supervised), 비지도 학습(Unsupervised), 강화 학습(Reinforcement).
  • 지도 학습 알고리즘 (Supervised Models): 선형/로지스틱 회귀, 의사결정 트리(Decision Tree), 랜덤 포레스트(Random Forest), SVM, KNN.
  • 비지도 학습 알고리즘 (Unsupervised Models): K-Means 군집화(Clustering), 주성분 분석(PCA) 기반 차원 축소.
  • 최적화와 검증 (Optimization & Validation): 손실 함수(Loss Function), 경사 하강법(Gradient Descent), 교차 검증(Cross Validation), 과적합(Overfitting)과 정규화(Regularization).

Out-of-Scope

  • 심층 신경망(Deep Neural Networks): 은닉층이 수백 개인 딥러닝 아키텍처 및 CNN/RNN 구조 \rightarrow 11-02. Deep Learning & Transformer 영역으로 위임.
  • 대용량 데이터 분산 처리 및 모델 서빙: 모델을 쿠버네티스에 올리고 API로 제공하는 과정 \rightarrow 11-04. MLOps & Continuous Intelligence 영역으로 위임.

Boundaries

  • LNO vs. Data Science (06): 데이터 과학(06)이 데이터를 씻고 시각화하여 "사람(분석가)"에게 인사이트를 준다면, LNO(11-01)는 그 데이터를 먹고 "기계"가 스스로 예측을 수행하도록 수학적 엔진을 다는 엔지니어링의 영역입니다.

3. Counterexample

  • 알고리즘 우선주의 (Model Selection Fallacy): "xgboost나 딥러닝을 쓰면 무조건 예측률이 높아지겠지?"라며 데이터의 품질을 무시하고 무작정 최신 알고리즘만 갖다 붙이는 오만. 기계 학습의 진리는 "Garbage In, Garbage Out"입니다. 선형적으로 분포된 간단한 데이터에는 단순한 로지스틱 회귀가 가장 빠르고 해석하기도 좋습니다. 데이터의 분포(물리적 특성)를 보지 않고 복잡한 알고리즘을 쓰면, 잡음(Noise)까지 다 외워버리는 최악의 과적합(Overfitting)을 겪게 됩니다.
  • "평가 데이터(Test Data)" 오염 (Data Leakage Fallacy): 모델을 훈련할 때, 나중에 모델의 성능을 평가하려고 빼놓은 '시험지(Test Set)'의 정보까지 섞여 들어가게 전처리(Scaling)를 해버리는 아마추어적 실수. 시험 문제를 미리 보고 모의고사를 치면 100점이 나오지만, 수능(실전)에서는 빵점을 받습니다. 훈련 데이터와 평가 데이터의 철저한 물리적/시간적 격리(Validation Split) 규칙을 지키지 않은 모델 정확도 99%는 전부 사기극입니다.

4. Prerequisites

  • 수리 및 컴퓨팅 논리 (Basic): 행렬 곱셈, 벡터의 내적, 그리고 함수의 최솟값을 찾기 위한 기초 미적분(편미분)을 알아야 경사 하강법을 이해할 수 있습니다. (01. MAC)
  • 파이썬 프로그래밍 (Recommended): Numpy와 Pandas, Scikit-learn을 이용해 행렬 데이터를 썰고 붙이는 실무 코딩 역량이 권장됩니다. (05. FPL)

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 ML Paradigms 컴퓨터에게 물고기를 잡아주는(규칙 코딩) 대신, 물고기 잡는 법(지도/비지도 학습)을 수학적으로 가르칩니다. P1
2 Loss & Gradient 기계가 내놓은 오답의 크기(Loss)를 계산하고, 미분(Gradient)을 통해 산을 내려오며 정답을 찾는 최적화를 배웁니다. Industry
3 Model Evaluation 과적합(Overfitting)이라는 AI의 가장 흔한 질병을 교차 검증과 규제(L1/L2)라는 백신으로 치료합니다. P4
4 Tree & Ensemble 단순한 의사결정 트리를 수백 개 모아 집단 지성(Random Forest)을 발휘하게 하는 앙상블의 위력을 익힙니다. Industry

6. Learning Topics

Basic

Core Topic 01: 기계 학습 패러다임과 회귀/분류 (ML Basics & Supervised)

  • Why to Learn: 어떤 비즈니스 문제가 주어졌을 때, 이것이 값을 맞추는 문제(회귀)인지 종류를 맞추는 문제(분류)인지 카테고리를 나누어야 도구를 선택할 수 있기 때문입니다.
  • What to Learn:
    • Concepts: 지도 학습, 비지도 학습, 강화 학습. 독립 변수(Feature)와 종속 변수(Label).
    • Skills: 선형 회귀(Linear Regression), 로지스틱 회귀(Logistic Regression), K-최근접 이웃(KNN).
    • Tools: Scikit-learn, Matplotlib.
    • Trade-offs: 결과를 직관적인 일차방정식(Y = aX + b)으로 해석할 수 있는 선형 회귀의 투명성(Explainability) vs 비선형적이고 복잡한 현실 세계의 데이터를 제대로 담아내지 못하는 언더피팅(Underfitting)의 한계.
  • How to Learn:
    • 1단계: '집의 평수(X)'를 넣으면 '집값(Y)'이 나오는 단순 선형 회귀를 돌려보고, 데이터 점들 사이에 최적의 직선(Best-fit line)이 그어지는 기하학적 물리를 시각화합니다.
    • 2단계: '종양의 크기(X)'를 넣으면 '악성(1)인지 양성(0)인지'를 맞추는 분류 문제로 넘어갈 때, 왜 직선이 아니라 S자 곡선(Sigmoid 함수)을 그리는 로지스틱 회귀를 써야 확률을 계산할 수 있는지 수학적으로 추적합니다.
  • Implement: 타이타닉(Titanic) 탑승객 데이터셋을 활용해 나이, 성별, 좌석 등급(Features)을 입력받아 생존 여부(Label: 0 or 1)를 예측하는 로지스틱 회귀 파이프라인(Scikit-learn) 구축.

Core Topic 02: 손실 함수와 경사 하강법 최적화 (Loss & Optimization)

  • Why to Learn: "인공지능이 스스로 학습한다"는 말의 실체가, 결국 함수의 오차 최솟값을 찾는 단순한 미분(수학)의 반복임을 깨닫고 그 엔진을 직접 튜닝하기 위해서입니다.
  • What to Learn:
    • Concepts: 손실 함수(Loss/Cost Function), 평균 제곱 오차(MSE), 교차 엔트로피(Cross-Entropy).
    • Skills: 경사 하강법(Gradient Descent), 학습률(Learning Rate), 에포크(Epoch).
    • Tools: Numpy (수동 수식 구현).
    • Trade-offs: 학습률(보폭)을 아주 크게 잡아 최적점 근처로 순식간에 날아가는 속도감 vs 보폭이 너무 커서 최솟값을 지나쳐 산 반대편으로 튕겨 올라가 영원히 발산해 버리는 참사.
  • How to Learn:
    • 1단계: 모델이 예측한 값과 실제 정답의 차이를 제곱하여 만든 U자형 골짜기(손실 함수)를 그립니다. 현재 위치에서 미분(기울기)을 구하고 그 반대 방향으로 한 발짝씩 내려가는(Gradient Descent) 물리적 하강의 법칙을 코드(for loop)로 짭니다.
    • 2단계: 학습률(Learning Rate) 변수를 0.1, 0.01, 10으로 바꿔가며 그래프를 그려보고, 너무 작으면 훈련에 수백 년이 걸리고 너무 크면 에러율이 폭발하는 현상을 관찰합니다.
  • Implement: 딥러닝 라이브러리(PyTorch)를 쓰지 않고 오로지 Numpy 행렬 연산과 for 문만을 이용하여, 100개의 임의의 데이터에 대해 선형 회귀 경사 하강법(Gradient Descent)을 1,000번 반복하여 최적의 가중치 W를 찾는 바닥부터의 구현.

Practical

Core Topic 03: 과적합 방지와 모델 검증 역학 (Overfitting & Validation)

  • Why to Learn: 훈련 데이터에서는 100점을 맞던 AI가 실전(새로운 데이터)에 투입되자마자 30점을 맞는 치명적인 '과적합(Overfitting)' 암을 치료하기 위함입니다.
  • What to Learn:
    • Concepts: 과적합(Overfitting)과 과소적합(Underfitting), 편향-분산 트레이드오프(Bias-Variance Tradeoff).
    • Skills: 훈련/검증/테스트 세트 분할(Train-Val-Test Split), K-폴드 교차 검증(K-Fold Cross Validation), L1/L2 규제(Ridge, Lasso).
    • Tools: Scikit-learn (GridSearchCV, train_test_split).
    • Trade-offs: 데이터를 끝까지 쥐어짜 내 복잡한 패턴을 다 외우게 만들어 현재 데이터에서 완벽한 점수를 내는 모델의 쾌감 vs 그 외운 공식이 약간만 다른 내일의 데이터에서는 완전히 틀려버리는 일반화(Generalization)의 실패.
  • How to Learn:
    • 1단계: 모델이 너무 복잡해져서 데이터의 노이즈(오류)까지 다 외워버리는 구불구불한 10차 함수(과적합)를 시각적으로 확인합니다. 이 모델을 '한 번도 보지 못한' 테스트 데이터에 넣었을 때 에러가 폭증하는 현상을 관찰합니다.
    • 2단계: 가중치(W)가 너무 커지지 못하게 벌점을 부과하는 L2 규제(Ridge Regression)를 도입하여, 모델의 곡선이 다시 부드럽게 펴지며 일반화 성능이 올라가는 튜닝의 마법을 실습합니다.
  • Implement: 집값 예측 회귀 모델을 만들 때, 데이터를 5조각으로 나누어 교차 검증(5-Fold CV)을 수행하고 L2 규제 파라미터(Alpha)를 0.01부터 10까지 변화시키며 최적의 범위를 찾는 Grid Search 리포트.

Advanced

Core Topic 04: 결정 트리, 앙상블과 비지도 학습 (Ensembles & Unsupervised)

  • Why to Learn: 하나의 똑똑한 모델을 만드는 데 집착하지 않고, 평범한 모델 100개를 모아 다수결로 결정하는 가장 강력한 캐글(Kaggle) 우승 전략을 장착하기 위해서입니다.
  • What to Learn:
    • Concepts: 정보 이득(Information Gain), 앙상블 학습(Ensemble Learning).
    • Skills: 결정 트리(Decision Tree), 배깅(Bagging: Random Forest), 부스팅(Boosting: XGBoost, LightGBM), K-Means 군집화(비지도).
    • Tools: XGBoost, Scikit-learn (KMeans).
    • Trade-offs: "나이가 30 이상이고 남자인가?"로 떨어지는 결정 트리의 직관적인 설명력(화이트박스) vs 트리 1,000개를 뒤섞은 랜덤 포레스트의 압도적 정확도 앞에서는 내부가 왜 그렇게 판단했는지 알 수 없어지는 해석 불가능성(블랙박스).
  • How to Learn:
    • 1단계: 하나의 거대한 트리를 끝까지 가지치기(Depth=20)하면 100% 과적합이 일어난다는 것을 확인합니다.
    • 2단계: 데이터와 특성을 무작위로 섞어서 얕은 트리 100개를 만들고 다수결로 투표하게 하는 랜덤 포레스트(Random Forest)의 집단 지성 역학이 어떻게 과적합 분산을 줄여주는지 분석합니다.
    • 3단계: 정답(Label)이 없는 고객 구매 데이터를 2차원 공간에 뿌린 뒤, K-Means 알고리즘을 돌려 스스로 비슷한 3개의 VIP/일반/이탈 군집으로 뭉치게 만드는 비지도 학습의 쾌감을 맛봅니다.
  • Implement: 은행 대출 연체자 예측 데이터셋에 대해 Random Forest와 XGBoost 모델을 각각 학습시키고, Feature Importance(어떤 변수가 가장 중요했는지)를 추출하여 비즈니스 부서에 제출할 수 있는 분석 대시보드 스크립트.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core/misused/legacy)
Overfitting (과적합) 모델이 학습 데이터의 잡음(Noise)까지 학습하여 새로운 데이터에 대한 예측력이 물리적으로 떨어지는 현상입니다. 기본 품질 관리 Generalization Underfitting '공부를 많이 함'으로 오해 P1:CS2023/Machine Learning core
Loss Function 모델의 예측값이 실제 정답과 얼마나 물리적으로 동떨어져 있는지를 하나의 수치로 정량화한 함수입니다. 기본 최적화 지표 Cost Function Accuracy 단순히 '정확도'와 혼합 P1:CS2023/Machine Learning core
Gradient Descent 함수의 기울기가 가장 가파른 방향의 반대쪽으로 이동하며 최솟값을 찾아가는 수리적 반복 알고리즘입니다. 추천 파라미터 학습 Optimizer Newton's Method 단순히 '내려가는 길'로 오해 P1:CS2023/Machine Learning core
Feature (특성) 학습 모델이 패턴을 인식하기 위해 사용하는 데이터의 물리적/통계적 속성들입니다. 기본 입력 변수 Feature Engineering Label 데이터 전체와 동일시함 P4:DS-BoK Science core

8. References

Primary References

Secondary References

  • [Pattern Recognition and Machine Learning] Christopher Bishop — The theoretical foundation.
  • [Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow] Aurélien Géron — Practical context.

Industry References

  • [Google Machine Learning Crash Course] — Practical engineering best practices.
  • [Scikit-learn User Guide - Supervised Learning] — Implementation standards.

9. Final Checklist

Primary Checklist

  • 지도 학습과 비지도 학습의 수리적 목적 함수 차이를 물리적으로 증명 가능한가? (P1)
  • 경사 하강법 시 '학습률' 수치가 수렴 속도와 안정성에 미치는 물리적 영향력을 논증할 수 있는가? (P1)

Secondary Checklist

  • L1/L2 규제(Regularization)가 모델의 가중치를 물리적으로 어떻게 억제하여 과적합을 막는지 이해하는가?
  • 정밀도(Precision)와 재현율(Recall) 사이의 트레이드오프를 비즈니스 상황(예: 암 진단 vs 스팸 분류)에 맞춰 선택할 수 있는가?

Industry Checklist

  • 모델 학습 전 데이터 스케일링(Scaling)이 경사 하강법의 물리적 수렴 속도에 미치는 기여도를 정량적으로 논할 수 있는가? (SFIA)
  • 실무 파이프라인에서 '데이터 드리프트(Data Drift)' 발생 시 기존 고정 모델이 물리적으로 실패하는 원인을 진단 가능한가?

Machine Learning Fundamentals & Optimization

1 / 5