01. Machine Learning이란? 대표 이미지

01. Machine Learning이란?

머신러닝의 기초 개념에 대하여 - Regression & Classification, Loss, Overfitting & Underfitting

작업일
2026.08.10
디자인 분야
크리에이티브
용도
리서치·분석
사용 도구
Stanford University Course Material · CS213n
작성자
이종현

작업 배경

본 Coursework은 머신러닝/딥러닝/인공지능의 기초 이론 및 개념을 숙지하여, Cre8의 일원으로서 생성형 AI에 대한 이해 및 활용 역량을 갖추는 것을 목표로 한다. 구체적으로는 다음과 같은 효과가 있을 것으로 기대한다. - 인공지능 모델의 기저를 이루는 기본 메커니즘과 모델의 학습 메커니즘을 이해함 - LLM, Diffusion 등 최신 생성형 모델 테크닉을 이해함 - CNN, ViT, Visual Localization, U-Net 등 최신 이미지 프로세싱 테크닉을 이해함 - Vector, Embedding, Markov Chain, Regression 등 딥러닝과 밀접한 연관이 있는 선형대수학, 확률, 통계학 원리를 이해함 - ControlNet, LoRA, Image Prompt 등 이미지 생성에 직접 관련된 기법의 원리를 이해하고 직접 디자인 작업에 활용함 * 위 내용의 순서와 Coursework의 업로드 순서는 무관함 작성자: 이종현(홍익대학교 산업디자인 · 컴퓨터공학 20)

작업 단계

00

Stanford University Course Material

Introduction - Machine Learning이란?

일반적으로, 'Artificial Intelligence', 'Machine Learning', 'Deep Learning'의 세 개념은 혼용된다. 그러나 명확히는, 인공지능은 일종의 '목표'에 해당하며 이를 성취하기 위한 방법론이 바로 머신러닝과 딥러닝이라고 말할 수 있다.

구체적으로, Deep Learning은 Back Propagation을 바탕으로 한 모델의 학습 방법을, Machine Learning은 명시적 알고리즘을 기반으로 하는 (주로 전통적인) 지능 모델의 학습 메커니즘을 일컬으나, 실무적으로 둘은 거의 구분되지 않고 쓰인다.

따라서, 본 Coursework에서도 이 셋을 엄격히 구분하지 않으며, 특별한 경우를 제외하고는 모두 머신러닝(Machine Learning), 혹은 줄여서 ML이라고 지칭하도록 한다.

01

.

Machine Learning의 기본 원리

머신러닝이란 "최적의 함수(function)을 찾는 방법"으로 축약할 수 있다.

중학교 1학년 수학과정으로 되돌아가보면, 우리는 아래와 같은 수식에서, 주어진 함수식 f(x)에 임의의 x값을 입력(input)하면 결정된 y값이 출력(output)되는 가장 간단한 함수에 대해 배웠었다.

y = f(x) = ax + b

x, y가 변수이고 a, b가 정해진 상수인 위 식에서, x, y 좌표쌍의 값이 다음과 같이 주어졌다고 가정해보자.
(x, y) = {(1,3), (2,4), (4,6)}
연립방정식의 성질을 통해, 위 3개의 좌표쌍 값으로 우리는 [Figure 1]과 같이, f(x)를 구할 수 있다.

f(x) = x + 2

이때 주어진 (x,y)를 'dataset'이라 하고, 미지였던 함수 f(x)를 'model'이라고 하자.
이때, 이 둘의 관계는 다음과 같이 설명할 수 있다.

"f(x) = x+2는 주어진 data (1,3), (2,4), (4,6)의 추세를 가장 잘 설명하는 모델이다."
혹은
"f(x) = x+2는 좌표쌍 x=1,2,4가 주어졌을 때 y=3,4,6임을 알고 있는 모델이다."

또한, 이 f(x)는 이전에는 다루지 않은 새로운 상황인 x=3 을 입력받았을 때, y=5를 출력하면 된다는 것을 이미 알고 있게 된다.
01 단계 이미지

(이어서)

.

.

그러나 현실에서, 모든 dataset이 위의 경우처럼 '완벽히 맞아 떨어지는' 경우는 매우 드물다.
대개 현실세계의 원인과 결과, input과 output은 무수히 많은 경우의 수 속에서 일정하지 않은 상관관계(correlation)를 가지며, 명시적인 단 하나의 답으로 나타나지 않고 어느 정도의 경향성으로 나타나는 경우가 대부분이다.

대표적인 예시로, 부모와 자녀의 키의 상관관계를 들 수 있다.
우리는 부모와 자식의 키가 어느정도 정비례하는 경향이 있음을 경험적으로 알고 있다. 그러나 이는 '반드시'가 아니며, 부모가 극단적으로 작음에도 자식이 극단적으로 큰 이상치(outlier)의 경우 또한 존재하기에 이에 관한 상관관계는 절대적인 하나의 함수 f(x)로 정량화하기 어렵다.

그러므로 이러한 경우 '모든 경우에 완벽히 맞는 함수'보다, '경향성을 어느정도 설명하는 최적의 함수'를 찾는 것이 이상적이다.

[Figure 2]는 x를 동성인 부모의 키로, y를 자녀의 키로 정의한 dataset을 2차원 평면 위에 나타내고 이때 계산되는 최적의 f(x) 함수 그래프를 나타낸 것이다.
f(x)가 데이터 분포의 경향성과 상관관계를 잘 반영하고 있음을 시각적으로 확인할 수 있다.


따라서, 전통적으로 정의하는 Machine Learning이란 "최적의 함수 f(x)를 찾는 문제"로, 주어진 dataset의 전체적인 추세·경향성을 파악하고, 이 경향성에 대응하는 함수 모델 f(x)를 수식화하여, dataset에 없던 새로운 케이스에 대한 해답을 계산하는 학문이라 정리할 수 있겠다.
(이어서) 단계 이미지

02

.

Regression & Classification

이렇게 주어진 dataset을 '가장 잘 따라가는' 함수 f(x)를 구하는 것을 회귀(Regression),
주어진 dataset을 '가장 잘 나누는' 함수 f(x)를 구하는 것을 분류(Classification)라고 한다.

비단 dataset과 이에 대한 model이 2차원 평면 상에서만 존재하는 것은 아니다.
1차원 직선에서의 model은 특정 지점에서 이를 분류하는 점(point)이며, 2차원 평면에서의 model은 앞서 살펴봤듯이 선(line)이다. 3차원에서의 model은 공간을 회귀/분류하는 면(plane)이며, 4차원 이상의 하이퍼 공간에서는 초평면(hyper-plane)일 것이다. 이렇게 data가 존재하는 공간(= sample space)과 그에 대한 model의 차원은 무한히 확장될 수 있으며, 대개 우리가 일반적으로 사용하는 LLM, Diffusion 등의 생성 모델은 일반적으로 수백-수십만의 고차원의 sample space를 다룬다.

그러나 3차원 이상의 공간은 시각적으로 표현하는 것에 한계가 있으며 메커니즘을 이해하는 데에 있어 그 복잡도 또한 매우 증가하므로 기초 단계에서의 머신러닝 메커니즘은 2차원 평면을 통해 설명한다.


다시 돌아와서, 2차원에서 Regression과 Classification의 f(x), 즉 모델이 항상 직선으로만 예측되는 것은 아니다.
f(x)는 그 설계 방식에 따라 f(x) = ax+b 형태의 선형(Linear) 함수와, f(x) = σ(σ(ax+b)x+b)+b 형태의 비선형(Non-linear) 함수로 정의될 수 있다.

이전에 우리는 f(x)를 ax+b의 Linear 형태로 정의하고, 주어진 dataset (x,y)를 통해 a와 b를 찾아 f(x)를 완성했다.
그러나, f(x)를 σ(σ(ax+b)x+b)+b 형태로 정의하면, 직선 뿐만이 아닌 더 다양하고 정밀한 형태로 f(x)를 설계하고 제어하는 것이 가능하다.
이에 대해서는 [Figure 3]에서 확인할 수 있다.
02 단계 이미지

03

.

Loss & Loss Function

이 지점에서 다음 의문을 던져본다.
"dataset을 가장 잘 설명하는 f(x)를 찾는 것은 알겠는데, '가장 잘'의 판단 기준은 무엇인가?"

모든 AI 모델은 'Loss'라는 값을 통해 성능을 측정하며, 이 Loss값을 구하는 방법을 'Loss function(손실함수)'이라고 한다.


예시를 들기 위해, 3개의 data를 통해 f(x) = ax + b를 구하는 간단한 문제로 되돌아온다.
이번에는 (x,y) = {(1,3), (2,3), (4,6)} 의 세 좌표쌍이 data로 주어져 있고,  이를 가장 잘 반영하는 f(x)=ax+b를 찾아야 한다.
세 점을 모두 지나는 직선을 그을 수 없으므로, f(x)는 다음 세 가지 경우의 수로 정의한다.

1) (1,3)과 (4,6)을 통과하는 직선 f(x)
2) (2,3)과 (4,6)을 통과하는 직선 f(x)
3) (1,3)과 (2,3)의 중앙을 지나고 (4,6)을 통과하는 직선 f(x)


f(x)가 세 data {(1,3), (2,3), (4,6)}를 얼마나 잘 반영하는지를 측정하기 위해, "f(x)의 예측값과 실제 y값의 차이"를 계산해 모두 더하고, 이를 비교하기로 한다.


1) (1,3)과 (4,6)을 통과하는 직선 f(x)

(1,3)과 예측값 차이 + (2,3)과 예측값 차이 + (4,6)과 예측값 차이
= 0 + |1| + 0
= 1

2) (2,3)과 (4,6)을 통과하는 직선 f(x)
(1,3)과 예측값 차이 + (2,3)과 예측값 차이 + (4,6)과 예측값 차이
= |1.5| + 0 + 0
= 1.5

3) (1,3)과 (2,3)의 중앙을 지나고 (4,6)을 통과하는 직선 f(x)
(1,3)과 예측값 차이 + (2,3)과 예측값 차이 + (4,6)과 예측값 차이
= |0.6| + |0.6| + 0
= 1.2

따라서, 1번 f(x)가 그 값이 최소이므로 1번 f(x)가 가장 적절한 f(x)라고 할 수 있다.

이때 산출된 1, 1.5, 1.2의 값이 바로 'Loss'이며 이는 dataset {(1,3), (2,3), (4,6)}을 예측하기 위한 각 f(x)의 성능을 나타낸다.
이 Loss를 산출하기 위해 세운 "f(x)의 예측값과 실제 값의 차이의 합"이라는 원칙이 Loss function이다.


이 예시를 통해서는 '예측값과 실제값의 차이'를 loss function으로 사용하였다. 이 방법으로 측정한 Loss를 'L1 Loss'라고 하며, 이 차이 값을 제곱하여 모두 합한 Loss 값을 'L2 Loss'라고 한다.


L1 Loss = Σ |yᵢ − f(xᵢ)|
L2 Loss = Σ (yᵢ − f(xᵢ))²


이외에도 Cross Entropy Loss(분류 모델에서 사용), Reprojection Loss(SCR 계열에서 사용), Hinge Loss(SVM에서 사용) 등 Loss는 모델의 종류와 특성 및 Task에 따라 수없이 다양하나, 기본적으로 위 예시와 같이 여러 가지로 정의된 f(x) 각각에 대해 성능을 수치화하고 이를 비교한다는 데에서 그 메커니즘은 모두 근본적으로 동일하다.
03 단계 이미지

04

.

Overfitting & Underfitting

그러나, 무조건 Loss값이 작은 것이 좋은 것은 아니다.
앞서 Linear model과 Non-linear model에 관해 살펴보았는데, 특히 설계와 제어가 자유로운 Non-linear 모델에서 Loss값을 극한으로 줄이게 되면 'Overfitting'이라는 문제가 발생한다.

Overfitting, 그리고 그에 대응되는 Underfitting의 정의를 먼저 살펴본다.

- Overfitting: 주어진 data에 비해 model이 지나치게 복잡하여, data를 과하게 집착하여 학습한 한 현상. Loss 값이 매우 작게 측정된다.
- Underfitting: 주어진 data에 비해 model이 지나치게 단순하여, data의 전반적인 추세를 잘 따르지 못하는 현상


[Figure 5]를 참고하라.
좌측의 모델은 매우 복잡한 구조와 깊은 layer를 가진 Non-linear 모델 f(x)이다.
그러나 f(x)의 그래프는 주어진 data 하나하나에 과도하게 집착하고 있어, 해당 dataset에 없는 새로운 유형의 data를 입력받았을 때 이에 유연하게 대처할 수 없다.

가장 우측의 모델은 매우 단순한 구조의 Linear 모델 f(x)이다.
그러나 f(x)는 data의 양에 비해 과도하게 단순한 모델을 채택하고 있어, 대다수의 data에 대한 경향성을 재현하고 있지 못하다. 결국 dataset의 경향성 조차 제대로 학습하지 못한 모델로 남게 된다.

가운데의 모델은 적정한 수준으로 dataset의 복잡도를 재현한 good fit 모델이다.
모델의 복잡도와 data들과의 오차를 일정 수준에서 남겨뒀을 때, 학습 data의 경향성을 잘 재현하는 동시에 새로운 input에도 유연하게 대응할 수 있게 된다.
이러한 모델을 지칭할 때 "robust(강건)한 모델"이라는 말을 사용하기도 한다.


이러한 Overfitting과 Underfitting은, 머신러닝이 어떠한 '정답이 정해진 문제'가 아닌, '적절한 지점을 Heuristic하게 찾는 문제'임을 직접적으로 보인다.
04 단계 이미지

회고

성과와 한계

.

시행착오와 개선점

.

적합한 활용 맥락

.

참고 자료

댓글

2

작성자 정보를 확인하고 있습니다.

  1. 이수연

    유용하네요

  2. 최지훈

    좋다~