정보이론
- 정보이론과 확률통계는 많은 교차점을 가짐
- 확률통계는 기계학습의 기초적인 근간 제공
- 해당 확률 분포 추정
- 확률 분포 간의 유사성 정량화
- 정보이론 관점에서도 기계학습을 접근 가능
- 불확실성을 정량화 하여 정보이론 방법을 기계학습에 활용한 예
- 인트로피, 교차 엔트로피, KL 발산(Kullback-Leibler divergence 상대 엔트로피 relative entropy)
- 정보이론: 사건(event)이 지닌 정보를 정량화 할 수 있나?
- 정보이론의 기본 원리: 확률이 작을수록 많은 정보
- 자주 발생하는 사건보다 잘 일어나지 않는 사건 unlikely event의 정보량(informative)이 많음
- 정보이론의 기본 원리: 확률이 작을수록 많은 정보
- 자기 정보(self information)
- 사건(메시지) $e_{i}$의 정보량(단위: 로그의 밑이 2인 경우, 비트(bit) 또는 로그의 밑이 자연 상수인 경우, 나츠(nat))
- 엔트로피(entropy)
- 확률 변수 x의 불확실성을 나타내는 엔트로피
- 모든 사건 정보량의 기대값으로 표현
- 교차 엔트로피(cross entropy)
- 두 확률 분포 P와 Q 사이의 교차 엔트로피
- 심층학습(deep learning)의 손실함수로 많이 사용됨
- 식을 전개하면 다음과 같다.
- 여기서 P를 데이터의 분포라고 하면, 이는 학습 과정에서 변하지 않음
- 교차 엔트로피를 손실함수로 사용하는 경우, KL 발산의 최소화함과 동일
- P는 예측값(데이터가 만드는 분포), Q는 모델의 예측값(내 모델이 만드는 분포)
- 이 교차 엔트로피를 최소화 시키는 방향으로 학습을 진행한다.
- KL 다이버전스
- 두 확률분포 사이의 거리를 계산할 때 주로 사용
- 교차 엔트로피와 KL 다이버전스의 관계
- P와 Q의 교차 엔트로피
- 즉, 가지고 있는 데이터 분포 P(x)와 추정한 데이터 분포 Q(x)간의 차이 최소화하는데 교차 엔트로피 사용
최적화
- 순수 수학 최적화와 기계 학습 최적화의 차이
- 기계 학습의 최적화는 단지 훈련집합이 주어지고,
- 훈련집합에 따라 정해지는 목점함수의 최저점으로 만드는 모델의 매개변수를 찾아야함
- 주로 SGD(확률론적 경사 하강법, stochastic gradient descent) 사용
- 손실함수 미분하는 과정 필요 -> 오류 역전파(backpropagation)알고리즘
- 순수 수학은 특정 함수의 최저점을 찾아라 이런식
- 기계 학습의 최적화는 단지 훈련집합이 주어지고,
- 학습 모델의 매개변수 공간
- 특징 공간의 높은 차원에 비해 훈련집합의 크기가 작아 참인 확률분포를 구하는 일은 불가능함
- 따라서 기계 학습은 적절한 모델(가설)을 선택과 목적함수를 정의하고, 모델의 매개변수 공간을 탐색하여 목적함수가 최저가 되는 최적점을 찾는 전략 사용
- 특징 공간에서 해야 하는 일을 모델의 매개변수 공간에서 하는 일로 대치한 셈
- 학습 모델의 매개변수 공간
- 특징 공간보다 수 배에서 수만 배 많은 차원을 가짐
- 실제는 아래 그림과 다르게 공간정보에 대해 아무것도 모른다.(차원이 너무 높으니까 -> 변수가 너무 많다)
- 기계학습이 해야 할 일을 식으로 정의하면,
- 편미분(partial derivative)
- 변수가 복수인 함수의 미분
- 미분 값이 이루는 벡터를 경사도(변환도, gradient)라 부름
- 기계학습에서 편미분
- 매개변수 집합 $\Theta$은 복수 매개변수이므로 편미분을 사용
- 독립변수와 종속변수의 구분
- 기계학습에서 예측 단계를 위한 해석은 무의미함
- 최적화는 예측단계가 아니라 학습 단계에 필요
- 연쇄 법칙(chain rule)
- 야코비언 행렬
- 헤세 행렬
경사 하강 알고리즘
- 집단(무리, batch) 경사 하강 알고리즘
- 샘플의 경사도를 구하고 평균한 후 한꺼번에 갱신
- 훈련집합 전체를 다 봐야 갱신이 일어나므로 학습 과정이 오래 걸리는 단점
- 확률론적 경사 하강(SGD, stochastic gradient descent) 알고리즘
- 한 샘플 혹은 잡은 집단(무리, mini-batch)의 경사도를 계산한 후 즉시 갱신
- 작은 무리 단위를 한번 반복하는 일을 한 세대(epoch)라 부름(휸련집합 == 세대)
- 추가 경사 하강 알고리즘들 비교
- 확률론적 경사 하강법 + 추가 제어 알고리즘
- SGD, Momentum, NAG, Adagrad, Adadelta, Rmsprop, Adam, Adamw
'프로그래머스 AI 데브코스 5기 > Math' 카테고리의 다른 글
기계학습과 수학 II (2) | 2023.04.17 |
---|---|
기계학습과 수학 I (0) | 2023.04.17 |
LU분해 (0) | 2023.03.24 |
[인공지능 데브코스 TIL]가우스 소거법 (0) | 2023.03.24 |
[인공지능 데브코스 TIL]선형시스템(linear system) (0) | 2023.03.24 |