Regression과 Classification의 차이?
예측하고자하는 값이 continous하면 regression이고, categorical하거나 qualitative하면 classification이다.
1. Classification
Classification은 입력 데이터를 미리 정의된 여러 범주(클래스) 중 하나로 분류하는 작업입니다. 예: 고양이 vs 강아지 이미지 분류.
2. 선형 회귀가 분류 문제에 부적합한 이유
선형 회귀는 입력 변수와 출력 변수 간의 연속적인 수치 관계를 가정하는 모델로, 출력 값의 크기나 거리 자체에 의미가 있다고 간주합니다. 그러나 분류 문제에서는 출력 값이 범주형 데이터로, 클래스 간에는 수치적 거리나 순서가 존재하지 않습니다.
예를 들어, 질병을 다음과 같이 숫자로 치환한다고 가정할 수 있습니다:
- Stroke → 1
- Drug overdose → 2
- Epileptic seizure → 3
이러한 숫자 라벨은 단순한 식별자일 뿐인데, 선형 회귀 모델은 이를 연속적인 수치로 해석하여 클래스 간의 상대적 거리를 의미 있다고 판단하게 됩니다.
예를 들어, 예측 결과가 1.5인 경우, 모델은 해당 환자가 Stroke와 Drug overdose의 중간 상태일 가능성이 있다고 해석하게 됩니다. 이는 실제 상황에서 의미 없는 해석이며, 분류 문제에서 바람직하지 않습니다.
따라서 선형 회귀는 분류 문제에 적합하지 않으며, 다중 클래스 분류에는 로지스틱 회귀, 소프트맥스 회귀, 의사결정나무, 신경망과 같은 분류 전용 알고리즘을 사용하는 것이 바람직합니다.
3. Logistic Regression
3.1. 문제 설정
로지스틱 회귀는 이진 분류(Binary Classification) 문제를 풀기 위한 모델입니다.
즉, 입력 x가 주어졌을 때, 출력 {0,1}을 예측합니다.
3.2. 선형 결합
입력 $\mathbf{x}=\left[x_1, x_2, \ldots, x_n\right]^{\top}$에 대해 linear regression과 같이 $z = \mathbf{w}^\top \mathbf{x} + b$을 구합니다.
3.3. 시그모이드 함수
0에서 1의 값으로 변환하기 위해 sigmoid를 활용합니다. $\hat{y} = \sigma(z) = \frac{1}{1 + e^{-z}}$
$\hat{y} = P(y = 1 \mid \mathbf{x})$
3.4. Binary cross entropy loss
실제 정답과 예측 확률의 차이를 로지스틱 손실함수로 처리한다.
$$\mathcal{L}(\hat{y}, y) = -\left[ y \log(\hat{y}) + (1 - y) \log(1 - \hat{y}) \right]
$$
$$J(\mathbf{w}, b) = \frac{1}{m} \sum_{i=1}^{m} \left[ -y^{(i)} \log(\hat{y}^{(i)}) - (1 - y^{(i)}) \log(1 - \hat{y}^{(i)}) \right]
$$
$$\hat{y}^{(i)} = \sigma(\mathbf{w}^\top \mathbf{x}^{(i)} + b)
$$
3.5. 모델 학습
$$\frac{\partial J}{\partial \mathbf{w}} = \frac{1}{m} \sum_{i=1}^{m} (\hat{y}^{(i)} - y^{(i)}) \mathbf{x}^{(i)}$$
$$\frac{\partial J}{\partial b} = \frac{1}{m} \sum_{i=1}^{m} (\hat{y}^{(i)} - y^{(i)})$$
$$\mathbf{w} \leftarrow \mathbf{w} - \eta \cdot \frac{\partial J}{\partial \mathbf{w}}, \quad b \leftarrow b - \eta \cdot \frac{\partial J}{\partial b}$$
4. Gradient descent
4.1. 경사하강법 정의
경사 하강법(傾斜下降法, Gradient descent)은 1차 근삿값 발견용 최적화 알고리즘이다. 기본 개념은 함수의 기울기(경사)를 구하고 경사의 반대 방향으로 계속 이동시켜 극값에 이를 때까지 반복시키는 것이다.
$$
\mathbf{x}_{i+1}=\mathbf{x}_i-\gamma_i \nabla f\left(\mathbf{x}_i\right)
$$
4.2. 경사하강법 문제점
- 해가 전역해라는 것을 보장할 수 없다.
- 즉, local minimum에 빠질 가능성이 크다.
- 시작점에 따라 성능이 크게 변한다.
4.3. 경사하강법의 문제점을 보완하는 방법
4.3.1. Stochastic Gradient Descent
데이터를 한개만 보고 gradient의 크기 및 방향을 결정해서 이동한다면, 전체에 대한 해에 근접하기 어려울 수 있다.
따라서, random하게 sample을 구하여 (즉, mini batch) gradient의 크기와 방향에 대한 평균을 사용한다면 전체에 대한 해에 접근할 확률이 높아진다.
##
Variance Biased trade-off
Multi Classe logistic regression
과 같은 수학적 증명은 IPAD로 한번 정리 해야할 듯.
'MachineLearning & DeepLearning > 서적 요약' 카테고리의 다른 글
[머신러닝] Overfitting & Regularization (0) | 2025.04.09 |
---|---|
[머신러닝 및 딥러닝] 베이즈 분류기 <Bayes Classifier> (0) | 2025.03.28 |
[머신러닝 및 딥러닝] 선형 회귀 확장 <Linear Regression 확장> (0) | 2025.03.27 |
[머신러닝 및 딥러닝] 선형 회귀 <Linear Regression> (0) | 2025.03.18 |
[머신러닝 및 딥러닝] 머신 러닝 및 딥러닝 기초 <Machine Learning and Deep Learning Introduction> (0) | 2025.03.18 |