상세 컨텐츠

본문 제목

[Foundation of Deep Learning] 2. Machine Learning Basics (1)

AI/deep learning

by mk coding 2026. 1. 20. 18:11

본문

Machine Learning

머신러닝은 경험을 통해 성능이 향상되는 시스템을 설계하는 방법론이라 할 수 있다. 이 개념은 Tom Mitchell에 의해 다음과 같이 정식화되었다.

컴퓨터 프로그램이 어떤 과제 T를 수행하고, 성능 척도 P로 평가될 때,
경험 E가 증가함에 따라 과제 T에 대한 성능 P가 향상된다면
해당 프로그램은 경험으로부터 학습한다고 말할 수 있다.

 

이 정의는 머신러닝의 본질이 경험(E), 과제(T), 성능(P) 의 관계에 있음을 명확히 보여준다. 즉, 학습이란 단순한 암기가 아니라, 경험의 축적을 통해 일반화 능력이 향상되는 과정을 의미한다.

 

Learning Types

머신러닝은 학습 과정에서 제공되는 정보의 형태에 따라 여러 유형으로 구분된다.

Supervised Learning (지도학습)

지도학습은 입력 데이터와 정답(label)이 함께 주어진 상태에서 학습을 수행하는 방식이다. 모델은 입력과 정답 사이의 관계를 학습하여, 새로운 입력에 대해서도 올바른 출력을 예측하도록 훈련된다.

지도학습은 다시 두 가지 대표적인 문제 형태로 나뉜다.

  • Classification: 출력이 이산적인 범주인 경우
    (예: 스팸 메일 분류, 질병 진단)
  • Regression: 출력이 연속적인 수치인 경우
    (예: 주가 예측, 온도 예측)

Unsupervised Learning (비지도학습)

비지도학습은 정답(label)이 존재하지 않는 데이터로부터 구조나 패턴을 스스로 발견하는 학습 방식이다. 데이터의 분포, 군집 구조, 잠재 표현 등을 파악하는 데 목적이 있으며, 대표적으로 clustering이나 dimensionality reduction 문제가 이에 해당한다.

Reinforcement Learning (강화학습)

강화학습은 에이전트(agent)가 환경과 상호작용하며 행동(action)의 결과로 보상(reward)을 받는 구조를 기반으로 한다. 모델은 즉각적인 정답이 아닌 누적 보상을 최대화하는 방향으로 정책(policy)을 학습한다는 점에서 다른 학습 방식과 구별된다.

Self-Supervised Learning (자기지도학습)

자기지도학습은 명시적인 라벨은 존재하지 않지만, 데이터 내부의 구조를 이용해 pseudo-label을 생성하여 학습하는 방식이다. 학습 형태는 지도학습과 유사하지만, 정답이 외부에서 주어지지 않는다는 점에서 차별화된다. 최근 대규모 언어 모델과 비전 모델에서 핵심적인 역할을 수행하고 있다.

Semi-Supervised Learning (준지도학습)

준지도학습은 소량의 라벨 데이터와 다량의 비라벨 데이터를 함께 활용하는 방식이다. 라벨 수집 비용이 높은 현실적인 문제를 해결하기 위한 접근으로, 실제 산업 환경에서 자주 사용된다.

 

Basic Concepts

머신러닝을 이해하기 위해서는 몇 가지 기본 단위를 명확히 구분할 필요가 있다.

  • Feature: 모델에 입력으로 주어지는 변수
  • Example: 여러 feature로 구성된 하나의 데이터 샘플
  • Label: 해당 example에 대한 정답값
  • Dataset: 다수의 example들의 집합

이러한 구성 요소를 바탕으로 모델은 입력 공간에서 출력 공간으로의 함수(mapping function)를 학습하게 된다.

 

Dataset Split

머신러닝 모델의 성능을 올바르게 평가하기 위해 데이터는 일반적으로 다음과 같이 분리된다.

  • Training set
    모델의 파라미터를 학습하는 데 사용되는 데이터
  • Validation set (dev set)
    모델 선택 및 하이퍼파라미터 튜닝을 위해 사용되는 데이터
  • Test set
    학습 과정과 완전히 분리된 데이터로, 최종 모델의 일반화 성능을 평가하기 위해 단 한 번만 사용된다

특히 test set의 결과를 확인한 이후에는 모델을 절대 수정해서는 안 되며, 이는 Data Leakage를 방지하기 위한 중요한 원칙이다.

 

K-Fold Cross Validation

k-fold cross validation은 하나의 데이터 분할 결과에 의존하지 않고 모델의 성능을 보다 안정적으로 판단하기 위해 사용되는 검증 방법이다. 일반적인 train–validation 분할 방식은 구현이 간단하다는 장점이 있지만, 어떤 데이터가 우연히 검증 데이터에 포함되었는지에 따라 성능이 크게 달라질 수 있다는 한계를 지닌다. 이러한 문제를 보완하기 위해, 데이터 전체를 여러 개의 부분집합으로 나누어 반복적으로 평가하는 방식이 사용된다.

  1. 먼저 전체 데이터를 k개의 동일한 크기를 가지는 fold로 분할한다. 이때 각 fold는 서로 중복되지 않으며, 전체 데이터셋을 구성하는 부분집합으로 사용된다.
  2. 이후 모델 학습은 단 한 번이 아니라 총 k번 반복하여 수행된다.
  3. 각 반복 과정에서는 데이터의 역할이 달라지게 된다.
    - 하나의 fold는 검증 데이터(validation set)로 사용되고,
    - 나머지 k−1개의 fold는 학습 데이터(training set)로 사용된다.
    이러한 반복 구조를 통해 전체 데이터는 학습 과정 동안 균등하게 사용되며, 모든 데이터는 정확히 한 번씩 검증 데이터로 활용된다.
  4. 각 반복이 끝날 때마다 모델의 성능 지표가 계산된다. 이때 accuracy, loss 등 문제의 특성에 맞는 평가 지표가 사용된다.
  5. 총 k번의 반복을 통해 얻어진 성능 결과들은 평균을 내어 하나의 대표 성능으로 정리된다. 이 평균 성능은 단일 데이터 분할 결과보다 변동성이 작으며, 모델의 일반화 성능을 보다 안정적으로 반영한다.
  6. 이렇게 계산된 평균 성능은 이후 여러 판단 기준으로 활용될 수 있다.
    - 모델 비교의 경우, 각 모델에 대해 동일한 k-fold 분할을 사용하여 cross validation을 수행하고, 얻어진 k개의 성능 값을 평균낸 뒤 평균 성능이 가장 우수한 모델을 선택한다. 이후 선택된 모델은 전체 학습 데이터를 사용하여 다시 학습함으로써 최종 파라미터를 얻게 된다.
    - 하이퍼파라미터 선택 과정에서는 여러 후보 조합을 정의한 뒤, 각 조합마다 k-fold cross validation을 수행한다. 각 조합에 대해 계산된 k개의 성능을 평균하여 비교하고, 평균 성능이 가장 높은 하이퍼파라미터 조합을 선택한다. 이후 전체 학습 데이터로 해당 설정을 적용하여 다시 학습하고 최종 파라미터를 얻는다.

Objective Function, Cost Function, Loss Function

  • Loss Function
    하나의 example에 대해 예측값과 실제 정답 사이의 오차를 측정하는 함수
  • Cost Function
    전체 데이터셋에 대한 loss들의 평균 또는 합
  • Objective Function
    학습 과정에서 최적화하고자 하는 모든 형태의 함수
    (cost 최소화, 최대우도추정(MLE) 등 포함)

즉,

Loss ⊂ Cost ⊂ Objective

의 관계를 가진다.

실제 딥러닝 구현과 많은 논문에서는 loss와 cost를 엄밀히 구분하지 않고 혼용하는 경우가 많지만, 이론적으로는 위와 같은 구분을 이해하는 것이 바람직하다.

'AI > deep learning' 카테고리의 다른 글

[Foundation of Deep Learning] 1. Artificial intelligence  (0) 2026.01.17

관련글 더보기