머신러닝의 기본 구조: 회귀와 분류의 세계

by 송동훈 Hoon Song

머신러닝의 다양한 알고리즘 중에서도 가장 기본이 되는 회귀(Regression)분류(Classification)는 데이터 과학의 출발점이라 할 수 있다. 이 두 방법론은 단순해 보이지만, 실제로는 오늘날 가장 복잡한 인공지능 시스템의 기초가 되는 개념들을 담고 있다.


머신러닝의 세 가지 패러다임

Screenshot 2025-04-14 at 2.06.56 AM.png

머신러닝은 크게 세 가지 범주로 나눌 수 있다:

1. 지도학습(Supervised Learning): 입력과 정답(라벨)이 모두 있는 데이터로 학습

회귀(Regression): 연속적인 실수값 예측

분류(Classification): 이산적인 범주 예측

2. 비지도학습(Unsupervised Learning): 정답 없이 데이터의 패턴만으로 학습

군집화(Clustering): 유사한 특성을 가진 데이터끼리 그룹화

3. 강화학습(Reinforcement Learning): 환경과의 상호작용을 통해 보상을 최대화하는 방향으로 학습

Screenshot 2025-04-14 at 2.05.43 AM.png

이 중에서 지도학습의 핵심인 회귀와 분류가 많은 실제 문제를 해결하는 기본 도구가 된다.


선형 회귀: 직선으로 세상을 이해하기

Screenshot 2025-04-14 at 2.08.26 AM.png

선형 회귀는 가장 단순하지만 강력한 머신러닝 기법이다. 이는 입력 변수(x)와 출력 변수(y) 사이의 관계를 선형 방정식으로 모델링한다.

단변량 선형 회귀: y = wx + b

여기서 w는 기울기(가중치), b는 y절편(편향)을 나타낸다.


Screenshot 2025-04-14 at 2.15.26 AM.png

목표는 MSE(Mean Squared Error)를 최소화하는 w와 b를 찾는 것이다:

MSE = (1/2n) * Σ(h(x) - y)²


그라디언트 디센트 알고리즘을 사용하여 이 비용 함수를 최소화할 수 있다:

w = w - α * (∂MSE/∂w)
b = b - α * (∂MSE/∂b)

여기서 α는 학습률이다.


다변량 선형 회귀의 경우 여러 입력 변수를 벡터 형태로 처리한다:

h(x) = w₁x₁ + w₂x₂ + ... + wₙxₙ + b = wᵀx + b

실제 코딩에서는 행렬 연산을 사용하여 이를 효율적으로 계산한다.


로지스틱 회귀: 확률로 분류하기

Screenshot 2025-04-14 at 2.17.17 AM.png

로지스틱 회귀는 이름에 '회귀'가 들어가지만 실제로는 이진 분류 문제를 해결하는 알고리즘이다. 이는 선형 모델의 출력에 시그모이드 함수를 적용하여 0과 1 사이의 값(확률)을 예측한다.

z = wᵀx + b
h(x) = σ(z) = 1/(1 + e^(-z))
Screenshot 2025-04-14 at 2.22.31 AM.png

시그모이드 함수는 어떤 입력이든 0과 1 사이의 값으로 매핑하며, 이 값은 입력 데이터가 특정 클래스에 속할 확률로 해석할 수 있다. 일반적으로 h(x) > 0.5이면 클래스 1, 그렇지 않으면 클래스 0으로 분류한다.


로지스틱 회귀에서는 MSE 대신 크로스 엔트로피 손실 함수를 사용한다:

CE = -(y * log(h(x)) + (1-y) * log(1-h(x)))


이 손실 함수는 예측 확률이 실제 클래스와 얼마나 일치하는지 측정하며, 다음과 같은 특성을 가진다:

y = 1일 때, h(x)가 1에 가까울수록 손실이 작아짐

y = 0일 때, h(x)가 0에 가까울수록 손실이 작아짐


크로스 엔트로피 손실을 사용하면 그라디언트 계산이 간단해지는 장점이 있다:

∂CE/∂w = (h(x) - y) * x

이는 예측 오차와 입력의 곱으로, 계산이 매우 효율적이다.


소프트맥스와 다중 클래스 분류

Screenshot 2025-04-14 at 2.22.59 AM.png

2개 이상의 클래스가 있는 분류 문제(다중 클래스 분류)에서는 소프트맥스 함수를 사용한다. 소프트맥스는 각 클래스의 점수를 확률 분포로 변환한다:

softmax(z)ᵢ = e^(zᵢ) / Σⱼ e^(zⱼ)

여기서 클래스 간 확률의 합은 항상 1이다. 다중 클래스 분류에서는 카테고리컬 크로스 엔트로피 손실을 사용한다:

CCE = -Σᵢ yᵢ * log(h(x)ᵢ)

여기서 y는 원-핫 인코딩된 벡터다. 이 손실 함수는 예측 확률 분포가 실제 클래스 분포와 얼마나 일치하는지 측정한다.


다중 클래스 분류는 다음 두 가지 관점으로 볼 수 있다:

1) 소프트맥스를 통해 모든 클래스의 확률을 한 번에 계산

2) 각 클래스에 대해 이진 분류 문제로 접근(One-vs-Rest)


실제로는 소프트맥스 방식이 더 효율적이고 널리 사용된다.


각 방법의 장단점

Screenshot 2025-04-14 at 2.25.06 AM.png

1. 선형 회귀:

장점: 단순하고 해석이 용이함, 구현이 쉬움

단점: 비선형 관계를 포착하지 못함, 복잡한 데이터에서 성능 제한

2. 로지스틱 회귀/이진 분류:

장점: 확률에 기반한 예측 제공, 실용적이고 해석 가능

단점: 복잡한 데이터에서 정확도 제한, 선형 결정 경계만 가능

3. 소프트맥스/다중 클래스 분류:

장점: 여러 클래스 간 확률 분포 제공, 클래스 간 관계 포착

단점: 계산이 더 복잡하고 비용이 높음, 훈련이 더 어려울 수 있음


이러한 기본 알고리즘들은 딥러닝의 기초가 된다. 딥러닝은 이 기본 아이디어에 여러 층의 비선형성을 추가하여 더 복잡한 패턴을 학습할 수 있게 한다. 그러나 아무리 복잡한 신경망도 결국은 최종 출력층에서 회귀나 분류 문제를 풀기 위한 이 기본 알고리즘들을 사용한다.


머신러닝과 딥러닝을 이해하는 첫걸음은 이 기본 개념들을 확실히 파악하는 것이다. 이론적 이해와 함께 실제 코딩 연습을 병행한다면, 더 복잡한 알고리즘으로 나아갈 수 있는 단단한 기초를 마련할 수 있을 것이다.

keyword
일요일 연재
이전 08화인공지능의 위대한 여정: 1943년부터 오늘까지