728x90
점진적 학습 (Online Learning)
- 전체 데이터를 한꺼번에 사용하지 않고, 데이터가 순차적으로 들어올 때마다 모델을 업데이트하는 방식.
- 장점: 메모리 효율적, 실시간 처리 가능 → 대용량 스트리밍 데이터에 유용
확률적 경사 하강법 (SGD)
- 점진적 학습의 대표적 방법
- 전체 데이터를 사용하지 않고, 무작위로 선택한 하나의 샘플 또는 미니배치로 가중치를 반복 업데이트
- 기계학습/딥러닝 모델을 훈련(최적화) 하는 방법이지, 모델 그 자체는 아님
확률적 경사 하강법(SGD)이란?
- 목적: 손실 함수 $L(w)$의 최소값(최소화) 을 찾기 위해, 반복적으로 가중치 $w$ 를 업데이트하는 최적화 알고리즘.
- 특징: 전체 데이터를 한 번에 다 쓰지 않고, 데이터를 어떻게 사용하는지에 따라 다음과 같이 분류됨.
배치 경사 하강법 (Batch Gradient Descent)
- 전체 학습 데이터를 한꺼번에 사용하여 한 번에 파라미터 업데이트
- 메모리 소모 큼, 속도 느림
$$
\theta := \theta - \eta \nabla_\theta J(\theta)
$$
확률적 경사 하강법 (Stochastic Gradient Descent, SGD)
- 매 반복마다 1개의 데이터 샘플을 무작위로 선택하여 파라미터를 업데이트
- 메모리 효율적, 속도 빠름, 업데이트에 노이즈가 많아 진동이 있음
$$
\theta := \theta - \eta \nabla_\theta J(\theta; x^{(i)}, y^{(i)})
$$
미니배치 경사 하강법 (Mini-Batch Gradient Descent)
- 무작위로 선택한 일정 크기의 데이터 묶음(미니배치) 으로 업데이트
- 일반적으로 16, 32, 64, 128, 256 등의 배치 사이즈 사용
- 속도·안정성 균형이 좋아 대부분의 딥러닝 모델 학습에 활용
$$
\theta := \theta - \eta \nabla_\theta J(\theta; \mathcal{B})
$$
| 기호 | 의미 |
|---|---|
| $θ$ | 모델의 파라미터 (예: 가중치, 편향) |
| $η$ | 학습률 (learning rate) – 파라미터를 얼마나 크게 이동시킬지 결정 |
| $∇θJ(θ; )$ | 현재 데이터 샘플 에 대해 계산한 손실 함수의 그래디언트 |
| $J(θ;x(i),y(i))$ | 손실 함수 (예: MSE, Cross Entropy 등) |

- 배치 경사 하강법 (Batch Gradient Descent) 은 모든 데이터를 한꺼번에 사용해 파라미터를 업데이트하기 때문에 수렴 안정성이 높고 일반적으로 가장 정확합니다.
- 그러나 데이터가 매우 클 경우, 한 번에 모두 메모리에 적재해야 하므로 현실적인 제약이 있습니다.
- 그래서 SGD(확률적 경사 하강법) 이나 Mini-Batch 경사 하강법을 더 자주 사용합니다.
이들은 메모리 사용량을 줄이고, 실시간 학습에도 적합하기 때문입니다.
SGD의 매개변수 업데이트 절차:
- 데이터 샘플 선택
- 훈련 데이터셋에서 무작위로 하나의 데이터 샘플을 선택
- 예측
- 선택된 데이터 샘플에 대해 현재 모델의 파라미터 $θ$ 를 사용하여 예측값 계산
- 손실 계산
- 예측값과 실제값의 차이로 손실(loss)을 계산
- 기울기 계산
- 손실 함수의 기울기를 계산하여 손실을 가장 빠르게 감소시키는 방향과 크기를 나타냄
- 기울기 = 손실 함수의 편미분
- 매개변수 업데이트
- 계산된 기울기와 학습률(learning rate) $η$를 사용해 매개변수를 업데이트
- 이동방향: 기울기의 반대 방향
$$ \theta := \theta - \eta \nabla_\theta J(\theta; x^{(i)}, y^{(i)}) $$
- 반복
- 위 과정을 다른 데이터 샘플에 대해 반복하며 전체 데이터셋에 대해 여러 에폭(epoch)을 수행
다변수 함수에 대한 경사 하강법
알고리즘 절차
- 초기화
- 초기 파라미터 $w_0^0, w_1^0, \dots, w_n^0$ 무작위로 선택
- $t=0$
- 반복
- 각 파라미터에 대해 손실 함수의 기울기 계산 후 업데이트
$$
w_0^{t+1} = w_0^t - \eta \frac{\partial E}{\partial w_0} \bigg|{w = w^t}
$$
$$
w_1^{t+1} = w_1^t - \eta \frac{\partial E}{\partial w_1} \bigg|{w = w^t}
$$
$$
\vdots
$$
$$
w_n^{t+1} = w_n^t - \eta \frac{\partial E}{\partial w_n} \bigg|_{w = w^t}
$$
3. 종료 조건
- $∥∇E(w)∥$ 이 충분히 작아지면 종료

퍼셉트론 신경망의 선형 계층 계산 과정
- 입력값 $x_1, x_2, x_3$와 가중치 $w_i$의 선형 결합 → 중간 노드 → 출력 $y$

다층 퍼셉트론(MLP) 구조
- 입력층, 은닉층, 출력층으로 구성됨
- 각각의 노드는 선형 변환과 비선형 활성화를 거쳐 다음 층으로 전달됨
손실 함수 (Loss Function)란?
- 손실 함수는 머신 러닝 모델의 예측 값과 실제 값 사이의 차이를 수치화하여 학습 성능을 측정하는 함수입니다.
주요 특징
- 예측 결과가 실제 결과에 얼마나 가까운지를 측정하는 기준
- 예측값 $\hat{y}$ 와 실제값 $y$의 차이 → loss
- 손실 값이 작을수록 성능이 좋다
로지스틱 손실 함수 개요
- 로지스틱 회귀는 분류 문제(이진 분류)에서 확률을 예측합니다.
- 예측값 $\hat{y}$는 0~1 사이 확률이며, 실제 값 $y \in {0, 1}$ 입니다.
- 예측 확률에 따라 로지스틱 손실(loss)을 계산하여 모델을 학습합니다.
로지스틱 손실 함수 수식
$$
\text{Logistic Loss} = - \left( y \log(\hat{y}) + (1 - y) \log(1 - \hat{y}) \right)
$$
- $y=1$이면 : $-\log(\hat{y})$
- $y=0$이면 : $-\log(1 - \hat{y})$
- $y \in {0, 1}$ : 실제 레이블
- $p = \hat{y}$ : 모델이 예측한 확률값, 즉 $p = \sigma(w^T x + b)$
예측 확률 정의
- 모델의 예측 확률 $\hat{y}$는 시그모이드 함수 $σ$를 통해 계산됩니다 :
$$
\hat{y} = \sigma(z) = \frac{1}{1 + e^{-z}}, \quad z = w^T x + b
$$ - 로지스틱 손실 함수는 크로스엔트로피 손실(Binary Cross-Entropy Loss) 과 동일합니다.
- 확률 예측이 정확할수록 손실이 작고, 틀릴수록 손실이 크게 나옵니다.
- 모델이 출력하는 확률값에 로그를 취해 오차를 수치화함으로써 학습을 유도합니다.
728x90
'개발공부 > 인공지능' 카테고리의 다른 글
| 그리드서치와 랜덤서치 (0) | 2025.06.09 |
|---|---|
| 교차검증 (0) | 2025.06.09 |
| 일반화 (Generalization) (0) | 2025.06.03 |
| 선형 회귀 모델 (Linear Regression Model) (0) | 2025.06.03 |
| 볼록함수 (Convex Function) (0) | 2025.06.03 |