머신러닝의 다양한 알고리즘 중에서도 가장 기본이 되는 회귀(Regression)와 분류(Classification)는 데이터 과학의 출발점이라 할 수 있다. 이 두 방법론은 단순해 보이지만, 실제로는 오늘날 가장 복잡한 인공지능 시스템의 기초가 되는 개념들을 담고 있다.
머신러닝은 크게 세 가지 범주로 나눌 수 있다:
1. 지도학습(Supervised Learning): 입력과 정답(라벨)이 모두 있는 데이터로 학습
회귀(Regression): 연속적인 실수값 예측
분류(Classification): 이산적인 범주 예측
2. 비지도학습(Unsupervised Learning): 정답 없이 데이터의 패턴만으로 학습
군집화(Clustering): 유사한 특성을 가진 데이터끼리 그룹화
3. 강화학습(Reinforcement Learning): 환경과의 상호작용을 통해 보상을 최대화하는 방향으로 학습
이 중에서 지도학습의 핵심인 회귀와 분류가 많은 실제 문제를 해결하는 기본 도구가 된다.
선형 회귀는 가장 단순하지만 강력한 머신러닝 기법이다. 이는 입력 변수(x)와 출력 변수(y) 사이의 관계를 선형 방정식으로 모델링한다.
단변량 선형 회귀: y = wx + b
여기서 w는 기울기(가중치), b는 y절편(편향)을 나타낸다.
목표는 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
실제 코딩에서는 행렬 연산을 사용하여 이를 효율적으로 계산한다.
로지스틱 회귀는 이름에 '회귀'가 들어가지만 실제로는 이진 분류 문제를 해결하는 알고리즘이다. 이는 선형 모델의 출력에 시그모이드 함수를 적용하여 0과 1 사이의 값(확률)을 예측한다.
z = wᵀx + b
h(x) = σ(z) = 1/(1 + e^(-z))
시그모이드 함수는 어떤 입력이든 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
이는 예측 오차와 입력의 곱으로, 계산이 매우 효율적이다.
2개 이상의 클래스가 있는 분류 문제(다중 클래스 분류)에서는 소프트맥스 함수를 사용한다. 소프트맥스는 각 클래스의 점수를 확률 분포로 변환한다:
softmax(z)ᵢ = e^(zᵢ) / Σⱼ e^(zⱼ)
여기서 클래스 간 확률의 합은 항상 1이다. 다중 클래스 분류에서는 카테고리컬 크로스 엔트로피 손실을 사용한다:
CCE = -Σᵢ yᵢ * log(h(x)ᵢ)
여기서 y는 원-핫 인코딩된 벡터다. 이 손실 함수는 예측 확률 분포가 실제 클래스 분포와 얼마나 일치하는지 측정한다.
다중 클래스 분류는 다음 두 가지 관점으로 볼 수 있다:
1) 소프트맥스를 통해 모든 클래스의 확률을 한 번에 계산
2) 각 클래스에 대해 이진 분류 문제로 접근(One-vs-Rest)
실제로는 소프트맥스 방식이 더 효율적이고 널리 사용된다.
1. 선형 회귀:
장점: 단순하고 해석이 용이함, 구현이 쉬움
단점: 비선형 관계를 포착하지 못함, 복잡한 데이터에서 성능 제한
2. 로지스틱 회귀/이진 분류:
장점: 확률에 기반한 예측 제공, 실용적이고 해석 가능
단점: 복잡한 데이터에서 정확도 제한, 선형 결정 경계만 가능
3. 소프트맥스/다중 클래스 분류:
장점: 여러 클래스 간 확률 분포 제공, 클래스 간 관계 포착
단점: 계산이 더 복잡하고 비용이 높음, 훈련이 더 어려울 수 있음
이러한 기본 알고리즘들은 딥러닝의 기초가 된다. 딥러닝은 이 기본 아이디어에 여러 층의 비선형성을 추가하여 더 복잡한 패턴을 학습할 수 있게 한다. 그러나 아무리 복잡한 신경망도 결국은 최종 출력층에서 회귀나 분류 문제를 풀기 위한 이 기본 알고리즘들을 사용한다.
머신러닝과 딥러닝을 이해하는 첫걸음은 이 기본 개념들을 확실히 파악하는 것이다. 이론적 이해와 함께 실제 코딩 연습을 병행한다면, 더 복잡한 알고리즘으로 나아갈 수 있는 단단한 기초를 마련할 수 있을 것이다.