KHU 2025-1/딥러닝

Chapter 2. 기계학습과 수학

예지레슬리초이 2025. 3. 30. 23:51

# 2.1 선형대수

데이터를 분석하여 유용한 정보를 알아내거나 특징 공간을 변환하는 등의 과업을 수행할 때 사용

- 행렬, 텐서: 매개변수집합, 데이터, 선형연산의 결합 등을 표현

 

1. 벡터와 행렬

2. 놈과 유사도

3. 퍼셉트론

4. 선형결합과 벡터공간

5. 역행렬

6. 행렬 분해


# 2.2 확률과 통계

데이터에 포함된 불확실성을 표현하고 처리하는 데 사용됨.

- 베이즈 이론

- 최대 우도 기법

 

0. 기초 확률 이론

a. 곱 규칙: P(y, x) = P(x|y)P(y)

b. 합 규칙: P(x) = ∑ P(y,x) = ∑ P(x|y)P(y)


1. 베이즈 정리

베이지 정리는 사고 확률을 쉽게 우도랑 사전 확률로 분해해가지고 이들의 곱으로 확률을 계산할 있게 만들어주는 그런 공식

- 베이즈 정리의 해석

- 사전확률: 전체의 샘플들 중에 해당 클래스에 속한 샘플의 개수를 의미

(예: 전체 100명 중에서의 여성의 비율, 남성의 비율이 각각 남성과 여성 클래스에 대한 사전 확률)

- 사후확률을 직접 추정하는 일은 아주 단순한 경우 빼고 불가능하기 때문에 베이즈 정리를 이용해서 추정함

- 우도랑 사전 확률만 잘 알고 있으면 사후 확률까지는 아니더라도 사후 확률의 상대적인 랭크 순위는 알 수 있음

 


2. 최대 우도 (Maximum likelihood)

MLE는 관측된 데이터가 주어졌을 때, 이 데이터가 가장 일어날 법하게 만드는 파라미터 값을 찾는 방법이다.
→ '이런 데이터가 나왔다면, 아마 주머니 속 공의 분포(p1, p2, ...)가 이랬을 것이다'를 추정 
→ 어떤 상황에서든 '내가 잘 모르는 파라메터'를 '관측 데이터부터 추정'해야 할 때 사용
(ex. 동전의 앞면 확률, 머신러닝 모델의 가중치, 다항분포의 각 항목별 확률 등)

 

a. 우도(Likelihood)란?

: 관측된 데이터를 실제로 관측할 확률

 

b. 최대 우도 추정 (Maximum Likelihood Estimation; MLE)

공식

- 확률 모델에서 모수(parameter)를 추정하는 방법

- 주어진 데이터가 실제로 나왔을 가능성(우도) 을 최대화하는 모수를 찾는 것

- 내가 어떤 파라미터를 잘 모를 경우에, 이 파라미터를 유추할 때 MLE 사용

 

[실제 예제]

문제 상황
1. 어떤 동전이 있음 (정상적인 동전이 아닐 수 있음; biased 됨).
2. 이 동전을 5번 던짐
3. 관측 결과: H, H, H, T, T → 앞면(H)이 3번, 뒷면(T)이 2번 나옴
4. 이 데이터를 기반으로, "이 동전이 앞면이 나올 확률 q는 얼마인가?"를 MLE를 이용해서 추정하시오

 

해결 방안
1. 확률 모델 설정
2. 로그 우도 함수 사용
3. 최적화: 미분해서 극댓값 찾기
  • 확률 모델 설정
    • 앞면이 나올 확률: q, 뒷면이 나올 확률: 1-q
    • 각 던짐은 독립적임
    • 우도 함수 (Likelihood): L(q)=P(H,H,H,T,Tq)=q3(1q)2
  • 로그 우도 함수 (Log-Likelihood)
    • 수치적인 안정성과 계산의 편의성을 위해 log를 취함
    • logL(q)=3logq+2log(1q)
    • → 이 로그 우도 함수를 최대화하는 q를 찾는 게 MLE의 목적!
  • 최적화
    • 로그 우도 함수 L(q)를 미분한 값을 0을 놓고 풀면 q = 3/5
    • 따라서 MLE로 추정된 앞면 확률: q = 0.6
  • 결론 및 해석
    • 관측된 데이터(HHHTT)를 가장 가능성 있게 만들어주는 q를 찾은 것
    • 여기선 앞면이 3번 나왔으므로, 직관적으로도 60% 정도로 보임
    • MLE는 다양한 가능한 q값 중에 "이런 데이터가 나올 가능성이 제일 큰 q"를 고르는 원리이다. 즉, q가 0.1이든 0.9든 이 데이터가 나올 수는 있다. 하지만 그 중 가장 자연스럽고 그럴듯한 값이 0.6일 때라는 것

 

 

c. 최대 로그우드 추정 (Maximum Log-Likelihood Estimation; MLLE)

공식) 우도(log-likelihood)를 최대화하는 파라미터 θ를 찾는 것

[배경]

  • 각 관측값이 독립이라면, 전체 확률은 각 확률의 곱으로 표현됨
  • 하지만 이것을 그대로 계산하면 수치적 문제가 생긴다.
  • 수치적 문제란?
    • 확률 값은 대부분 0과 1 사이의 소수
    • 소수 값들이 계속 곱해지면 값이 엄청 작아져서 0에 수렴하게 됨
    • 컴퓨터는 이걸 0이라고 생각할 수도 있다..!
  • 따라서 수치 문제를 해결하기 위해 로그를 취해서 log-likelihood로 변형한다.
  • 이때 곱이 덧셈으로 바뀜으로서 수치적으로 안정되게 된다.

 3. 다양한 확률분포

 

a. 가우시안 분포 (정규 분포)

- 자연현상에서 매우 자주 나타나는 확률분포 (e.g. 키, 실험 점수, 혈압, 몸무게 등)

- 1D 가우시안 분포일 때의 확률밀도함수

*평균 & 분산

- 평균 (Mean): 중심 위치

- 분산 (Variance): 평균으로부터 값들이 얼마나 퍼져 있는지 측정

  • 분산은 사실상 L2 norm 의 평균
  • 중심으로부터의 Mean Squared Error (MSE)라고도 볼 수 있음

 

- 다차원 가우시안 분포 (다변량 정규분포)

  • 평균벡터 μ와 공분산행렬 ∑로 정의 

다차원 가우시안 분포 공식

  • 특징이 2개 이상일 경우, 각 특징 간의 관계를 고려해야 한다. 즉, 공분산 행렬이 필요하다 (공분산 행렬에 대해서는 후술하겠음)

- 종 모양의 곡선을 따르며, 중심이 평균(μ), 폭이 분산(σ²)으로 결정됨

 

*공분산 행렬 (Covariance Matrix)

- d차원 특징 벡터일 경우, 공분산 행렬은 d x d 크기

- 평균 벡터와 공분산 행렬

  • Σii​ 의 의미: 의 분산 → 대각 성분은 자기 자신의 분산
  • , i≠j 의 의미: xi와 xj 간 공분산 (양수: 양의 상관, 음수: 음의 상관, 0: 상관 없음) → non-diagonal component는 두 특징 간의 유사도를 의미. 특징1과 특징2를 평균이 0이 되도록 만든 다음에 내적을 한 것
    • cos simularity와 공장히 유사한데, 코사인 유사도는 벡터가 유닛 벡터 (길이가 1)이라는 가정이 기반이 되어 있음. 특징1과 특징2의 유사도를 구할 때, 해당 특징들의 길이가 1일 필요는 없다. 
  • 만약 공분산이 0이면 (Cov(xi, xj) = 0), 두 변수 간에 아무런 선형적인 연관 관계가 없다는 것을 의미한다.
  • 주의: 공분산이 0이라도 두 변수는 비선형 관계를 가질 수 있다.

  • 공분산 값 해석
    > 0 양의 상관관계 (같이 증가/감소)
    < 0 음의 상관관계 (한 쪽 증가 시 다른 쪽 감소)
    = 0 선형 관계 없음 (but 완전한 독립은 아님!)

- 공분산 행렬 예제

왼) 공분산= 1, 오) 공분산 = -1
공분산 = 0일 때

 

- 내적 관점에서의 공분산

오른쪽 수식: 공분산을 내적 관점에서 해석

  • 위 공식은 사실상 중심화된 두 벡터의 내적 평균이다 (*중심화: 각 데이터 값에서 그 변수의 평균을 빼는 것)
  • 공분산 행렬에서의 (1,1)에 있는 값은 자기 자신을 내적하는 것 → 원점으로부터 mean scaler을 구하는 것과 같
  • 벡터 방향이 유사(같은 방향) → 양수
  • 두 벡터가 서로 완전히 무관한 방향(90도) → 0
  • 두 벡터의 각도가 90도를 넘어감 (음의 방향으로 유사도를 가짐)→ 음수

- 가우시안 모델의 장점

  • 많은 데이터를 일일이 저장하지 않고, 두 개의 파라미터 (평균과 분산)만으로 전체 분포를 요약할 수 있음
  • e.g. 1만 개 샘플이 있어도 평균과 분산만 알면 전체 분포 근사 가능
  • 따라서 데이터 압축과 추론이 용이하다

 

b. 베르누이 분포

- 두 가지 상태 중 하나만 나오는 사건의 확률 분포

- 단 한번의 실험 결과에 대한 확률 모델

- e.g. 앞면 / 뒷면, 합격 / 불합격, 정상 / 불량

 

c. 이항 분포 (Binomial Distribution)

- 베르누이 실험을 n번 반복한 뒤, 1이 나온 횟수를 확률 분포로 표현

- e.g. 앞면 확률이 p인 동전을 n번 던졌을 때, 앞면이 k번 나올 확률

- 즉, 이항 분포는 여러 베르누이 시행을 합친 것

- 이항 분포도 n이 커질수록 가우시안 분포 (정규 분포)의 형태를 따라감 → Central Limit Theorem

*Central Limit Theorem

  • 세상에 아주 micro한 영역에서 가우시안 분포가 아닌, 특이하게 생긴 distribution이 많이 존재할 수 있음
  • 그런데 이런 다양한 분포의 데이터도, 많이 모아 평균을 내면 결국 가우시안 분포에 가까워진다.
  • 즉, 여러 분포들을 짬뽕시키다 보면 결국에는 가우시안 분포의 형태를 띄게 된다!

m이 커질수록 정규 분포의형태를 띄는 모습


4. 정보이론

정보 이론은 메시지의 놀라움을 수치화한다 → 그래서 확률에 로그를 씌워서 정보량을 계산

확률이 낮을수록 놀라움이 크고 많은 정보량을 포함하고 있다.

 

a. 자기 정보 (self information)

- 정보란, 어떤 메시지나 사건이 주는 놀라움의 정도, 즉 예측하기 어려운 정도를 의미한다

- 일어날 확률이 낮은 사건일수록 그것을 알게 되었을 때의 놀라움이 큼

- 따라서 정보량은 확률의 역수에 비례함

  • 확률이 클수록 → 정보량 낮음
  • 확률이 작을수록 → 정보량 높음

- 정보량의 정의

  • 로그 함수는 단조 증가 함수이므로 확률이 커질수록 로그 값도 커짐
  • 따라서 앞에 마이너스를 붙여서 확률이 클수록 정보량이 작아지도록 수식 작성
  • 밑이 2이면 단위는 비트(bit)
  • 밑이 자연상수 e이면 단위는 나트(nat)

b. 엔트로피 (Entropy): 평균 정보량

엔트로피는 평균 정보량을 의미하며, 확률변수 x의 분포의 불확실성 정도를 나타낸다.

- 정보량의 기대값 = 평균적인 놀라움의 정도

- 확률 분포가 예측 불가능하고 평평할수록 (uniform에 가까움) → 엔트로피 높음

- 확률 분포가 한 쪽에 몰려 있을수록 (뾰족한 분포) → 엔트로피 낮음

- 예시 비교: 윷놀이 vs 주사위

항목 윷놀이 주사위
상태 수 5개 (도, 개, 걸, 윷, 모) 6개 (1-6)
확률 불균형 (보통 개, 걸이 걸리기 쉬움) 보통 균등
예측 난이도 상대적으로 쉬움 어렵고 불확실
엔트로피 낮음 (정보량이 적기 때문) 높음 (정보량이 많음)
  • 주사위가 분포가 더 평평하기 때문에 (균등 확률) 엔트로피가 더 높기도 하지만,
  • 윷 / 주사위 둘다 분포가 균등했다고 해도 주사위가 가능한 상태 수(1/6 확률)가 더 많으므로 엔트로피가 더 높다고 판단 가능하다

- 가우시안 분포와 엔트로피

정규분포의 엔트로피 공식

  • 분산이 클수록 → 분포가 퍼짐 → 엔트로피가 커짐
  • 여러 정규분포가 있으면 그 중 분산이 더 큰 분포가 엔트로피가 더 크다.

 

c. 교차 엔트로피 (Cross Entropy)

교차 엔트로피는 변수의 불확실성을 나타내는 지표로, 실제 분포 P에 대해, 예측 분포 Q가 얼마나 잘 맞는치를 측정한다.

- 예측 모델 성능 평가

- 내가 가진 참 분포 P에 대해, 예측 분포 Q가 얼마나 틀렸는지를 측정

- P: 정답 분포 (ground truth), Q: 모델의 예측 분포 , 모델의 아웃풋

- Q를 잘 조절해서 P 분포랑 똑같이 맞추면 그때 KL 다이버전스는 0 (loss가 0, 정확도 100%)

- 예측값이 정답에서 멀어질수록 교차 엔트로피 값이 커짐

- 분류 모델의 손실 함수로 자주 사용됨

교차 엔트로피

 

d. KL 다이버전스 (Kullback–Leibler Divergence)

두 확률 분포 사이의 거리 또는 차이
H(P,Q) − H(P)

KL 다이버전스 공식

- 정답 분포와 예측 분포 간 거리를 측정할 때 주로 사용

- KL 다이버전스가 작을수록 예측 분포 Q가 참 분포 P와 가까움

- DKL(P∣∣Q)=0 일 때, 완전히 같음 → 정확도 100%

*KL distance 가 아닌 KL divergence 라 부르는 이유

  • KL 은 거리 개념이긴 하지만, 수학적 거리의 조건을 만족하지 않는다
  • DKL(P∣∣Q) != DKL(Q∣∣P) → 대칭이 아님

 

e. 교차 엔트로피와 KL 다이버전스의 관계

교차 엔트로피와 KL 다이버전스의 관계

- P와 Q의 교차 엔트로피 H(P, Q) = P의 엔트로피 H(P) + P와 Q 간의 KL 다이버전스

- 즉, '크로스 엔트로피를 최소화 한다' = 'KL 다이버전스를 최소화한다'


# 2.3 최적화 이론 

미분을 활용해서 목적합수를 최소화하는 최적해를 찾는 과정

 

1. 매개변수 공간 탐색

 

a. 최적화란?

: 주어진 조건 내에서 가장 좋은 결과를 찾아내는 것

 

b. 수학에서의 최적화 vs 기계학습에서의 최적화

- 수학에서의 최적화

  • 어떤 복잡한 수식을 두고 최저점(or 최대점) 이 존재하는지 증명하고,
  • 존재할 경우 그 값을 구하는 것이 목적

- 기계학습에서의 최적화

  • 정확한 수식이 주어지지 않음
  • 데이터(훈련 집합)만 주어진 상황에서 정의된 목적 함수의 최저점을 찾아 모델을 학습시키는 것
  • 기계 학습에서 최적화가 어려운 이유 (1): 데이터 불일치 문제
    • 최적화는 훈련 데이터 기준으로 수행되는데, 성능 검증은 테스트 데이터 기준으로 평가
    • 훈련 집합과 테스트 집합은 교집합이 없음
    • 최적화시키는 대상과 최적인지를 확인하는 대상 서로 다르므로 기계학습에서의 최적화가 어렵다
  • 기계 학습에서 최적화가 어려운 이유 (2): 목적 함수 vs 평가 지표
    • 목적 함수는 일반적으로 미분 가능해야한다. 그런데 정확도 (accuracy)와 같은 평가 지표는 불연속적이고 미분이 불가능하다.
    • 즉, 최적화 대상과 평가 지표 간의 불일치가 존재하므로 기계학습에서의 최적화가 어렵다
  • 기계 학습에서 최적화가 어려운 이유 (3): 복잡한 모델 구조
    • 매개 변수 공간이 매우 크고 비선형적이다.
    • 높은 차원에 비해 훈련집합의 크기가 작아 참인 확률분포전역 최적점(global minimum) 을 찾는 것은 사실상 불가능
    • 현실적으로는 근사 최적점(approximate minimum)을 찾는 것이 목표임
[기계 학습에서의 최적화 목표]

1. 모델 선택: 적절한 함수 형태 선택 (선형 회귀, 신경망 등)
2. 목적 함수 정의: 예측과 실제 값 간의 오차를 수치화 (MSE, Cross-Entropy 등)
3. 모델 파라미터 (W, b 등) 공간 탐색
- 예측 성능이 가장 좋은 매개 변수 조합 찾기
- 즉, 목적 함수가 최소화되는 파라미터를 찾는 것 (argmin)

 

c. 학습 모델의 매개변수 공간

- 특징 공간 (feature space)

  • 우리가 입력으로 넣는 데이터의 차원
  • e.g. 선형 회귀에서 입력 변수가 하나일 때 → 1차원 공간
  • e.g. MNIST 숫자 이미지 분류의 경우 → 28 x 28 픽셀, 총 784차원 특징 벡터

- 파라미터 공간 (parameter space)

  • 학습해야 할 모델의 파라미터(W, b)의 조합이 이루는 공간
  • e.g. 선형 회귀에선 w, b 두 개만 있어도 → 2차원 공간
  • e.g. 딥러닝에서는 수백만 개의 파라미터 → 수백만 차원의 parameter space

- 즉, 파라미터 공간은 입력 특징 공간보다 훨씬 더 차원이 높고 복잡해질 수 있음

- 이런 맥락에서 최적화란 거대한 파라미터 지형에서 가장 낮은 골짜기(최저점)를 찾는 과정

왼) x2와 같이 전역 최적해에 가까운 지역 최적해를 찾고 만족하는 경우 많음

 

d. 최적화 방법

- 낱낱탐색 알고리즘 (Exhaustive Search)

  • 미분을 몰라도 쓸 수 있는 기본적인 최적화 방법
  • 입력: 훈련 집합
  • 출력: 최적의 파라미터 (w, b)
  • 과정
    • (1) 가능한 모든 (w, b) 조합 생성
    • (2) 각 조합에 대해 목적 함수 값 계산
    • (3) 현재까지의 최소값보다 작으면 갱신
    • (4) 전체 조합 탐색 후 최적 조합 반환
  • 특징
    • 장점: 단순하고 직관적임
    • 단점: 파라미터가 많을수록 계산량 폭발 → 차원이 조금만 높아져도 적용 불가능

- 무작위 탐색 알고리즘 (Random Search)

  • 낱낱탐색보다 더 쉬운 방법
  • 아무 전략 없이 무작위로 파라미터를 뽑아서 손실(loss)을 계산해보고 가장 좋은 결과를 준 파라미터를 최종 선택하는 알고리즘
  • e.g.
    • (1) 파라미터 샘플링: , b∼Uniform(−1,1)
    • (2) 손실 계산: 샘플링된 w, b 조합에 대해 손실 함수 J(w, b) 계산
    • (3) 최소 손실값 추적: 지금까지 샘플링한 파라미터 중 손실값이 가장 작은 파라미터를 저장
    • (4) 지정된 횟수만큼 반복 후 종류
  • 장점
    • 간단함
    • 고차원 공간에서도 유용할 수 있음 (낱낱 탐색보다 효율적일 수 있음)
    • 비선형, 비연속적인 문제에도 사용 가능
    • 의외로 무작위 탐색 알고리즘이 낱낱탐색 알고리즘보다 더 효과적일 수 있다
      • 파라미터마다 중요도가 다름. 어떤 파라미터는 값을 조금만 바꿔도 성능이 크게 오르내리지만, 어떤 파라미터는 값을 바꿔도 성능에 거의 영향을 미치지 않음
      • 중요한 파라미터는 정밀하게, 덜 중요한 파라미터는 대충 탐색하는 것이 효율적이다!
      •  
  • 단점
    • 운에 많이 좌우됨
    • 최적점을 보장하지 않음
    • 너무 많이 반복해야 한다면 비효율적이게 됨


2. 미분

미분은 목적 함수가 가장 빠르게 줄어드는 방향을 알려주는 도구이고,
기계학습에서는 이 방향을 따라 파라미터를 조금씩 움직이면서 최적의 모델을 찾아가는 것이 핵심이다.

 

a. 배경

- 딥러닝 같은 모델은 수천만 개의 파라미터(W, b 등)를 가지고 있음

- 이 모든 파라미터들을 무작위로 찍어보거나, 낱낱이 다 탐색하는 건 현실적으로 불가능 → 더 효율적인 방법: 미분

- 목적 함수 (Loss)를 줄이기 위해서 필요한 두 가지 정보

  • 방향 정보: 어느 방향으로 가야 하는지?
  • 이동 크기(step size): 얼마나 가야 하는지?
  • → 이 중에서 미분은 방향을 알려줌

b. 미분이 주는 정보: 기울기 ( = 목적 함수가 줄어드는 방향)

- 미분 공식

- 1차 도함수 f'(x)는 함수의 기울기, 즉 값이 커지는 방향을 지시함

- f'(x)이 값이 커지는 방향을 나타내므로, -f'(x) 방향에 목적함수의 최저점이 존재함

- 미분에 의한 최적화

 

c. 기계 학습의 최적화 흐름 (전형적인 알고리즘)

(1) 초기값 랜덤 설정

- w, b 파라미터 값을 아무 값으로 설정, 시작

(2) 기울기(미분) 계산

- 현재 위치에서 목적 함수의 기울기 계산

(3) 방향으로 이동

- 기울기가 알려주는 방향으로 파라미터를 조금씩 이동

(4) 반복

- 계속 이동하면서 목적 함수 값이 줄어드는 걸 확인

(5) 수렴하면 stop

- 더 이상 줄어들지 않거나 충분히 작아지면 멈춤

(6) 파라미터 반환


3. 경사 하강 알고리즘

 

a. 목적

- 함수 f(x)의 최솟값을 찾기 위한 방법

- 보통 f(x)는 볼록 함수(convex)라고 가정

 

b. 도함수(미분)의 의미

- 도함수 f'(x)는 함수의 기울기를 나타냄

기울기의 반대 방향으로 이동하면 함수값이 감소한다.
  • f'(x) = 0 → 극값 (최솟값 또는 최댓값)
  • f'(x) > 0 → 함수 증가 중 → 왼쪽(-)으로 가야 최소값
  • f'(x) < 0 → 함수 감소 중 → 오른쪽(+)으로 가야 최소값

c. 단일 변수일 때 업데이트 식

- 여기서 α학습률(learning rate) : 이동의 크기를 조절하는 값

 

d. 다변수 함수일 때

- 처럼 여러 매개변수를 가진 함수

- 이럴 땐 각 변수에 대해 편미분하고, 그걸 모아 하나의 벡터로 만든 것이 그래디언트(Gradient)

*편미분

  • 변수가 여러 개인 함수의 미분
  • 미분값이 이루는 벡터를 그레디언트라 부름
  • 기계학습에서 사용되는 매개변수 집합 Θ에 많은 변수가 있으므로 편미분을 많이 사용함

*그래디언트  벡터

 

e. 배치 경사 하강 알고리즘

 

f. 스토캐스틱 경사 하강 알고리즘 (Stochastic Gradient Descent)