[Deep Learning] 신경망 기초 - 기계학습 & 수학
선형 대수
벡터와 행렬
- 전치행렬 AT
- 행요소와 열요소를 바꾼다
- (AB)T=BTAT
- 행렬 곱셈
- 교환 법칙 성립하지 않는다
- 분배, 결합 법칙 성립
- 공간의 변환
- 벡터의 내적으로 구성되어 있다
- 벡터의 내적
- 유사도를 측정하는 것
- 방향이 얼마나 비슷한지 (비슷할 수록 값이 크다, 반대방향이면 음수, 90도이면 0)
- 입력 데이터가 가중치와 얼마나 비슷한지
- tensor
norm과 유사도
- 유사도와 거리
- 코사인 유사도
- 벡터와 행렬의 거리를 norm으로 측정
- p차 norm : (i=1,d∑∣xi∣p)p1
- 1차 norm : manhattan norm
- 2차 norm : 유클리디안 norm
- 최대 norm
- norm를 사용하는 경우
역행렬
- 원래 공간으로 돌려주는 것
- A의 행렬식은 0이 아니다
- A의 고유값은 0이 아니다
- 행렬식 det(A)
- 행렬의 곲에 의한 공간의 확장 또는 축소 해석
- det(A) = 0, 하나의 차원을 따라 축소되어 부피를 잃게 되는 경우
- det(A) = 1, 부피 유지, 방향/변환 보존
- det(A) = -1, 부피 유지, 방향/변환 보존 안됨
- det(A) = 5, 5배 부피 확장, 방향 보존
- 정부호 행렬
- 고유값 모두 양수
- 역행렬도 정부호 행렬
- det(A) != 0 역행렬 존재
행렬 분해 : 고유값, 고유벡터
- 고유 분해
- 특이값 분해 (SVD)
- 역행렬 구하는데 도움이 된다
확률과 통계
- 확률 분포
- 확률 질량 함수 : 이산 확률 변수
- 확률 밀도 함수 : 연속 확률 변수
- 확률 벡터 : 확률 변수를 요소로 가진다
확률 기초
- 곱 규칙
- joint probability P(y, x) = P(x|y)P(y)
- x, y가 독립일 경우 P(y, x) = P(x)P(y)
- 조건부 확률
- P(y = y|x=x) : x가 발생한 후 y 발생
- 확률의 연쇄 법칙
- 조건부 확률로 joint probability를 풀 수 있다
- 독립
- 조건부 독립
베이즈 정리
- 사후 확률 = likelihood * 사전 확률
- P(y,x)=P(x∣y)P(y)=P(x,y)=P(y∣x)P(x)
- P(y∣x)=P(x)P(x∣y)P(y)
- y^=argmaxyP(y∣x) : x가 주어졌을때 최대가 되는 y 찾는것
- 사후 확률을 직접 추정하는 일은 불가능
- 따라서 베이즈 정리를 이용하여 추정
- 즉, 사전 확률과 likelihood를 통해 (데이터를 통해) 최대가 되는 확률을 찾는 것
- 이를 통해 주어진 분류 문제를 풀 수 있다
최대 우도 ML
- maximum likelihood
- 매개변수 (모수)를 모르는 상황에서 매개변수를 추정하는 문제
- 어떤 확률 변수의 관찰된 값들을 토대로 그 확률 변수의 매개 변수를 구하는 방법
- θ^=argmaxθP(X∣θ)
- 로그 함수를 이용하여 계산 단순화
- θ^=argmaxθlogP(X∣θ)=argmaxθi=1∑nlogP(xi∣θ)
평균과 분산
- 데이터의 요약 정보로서 평균, 분산
- 평균 벡터, 공분산 행렬 (확률 변수의 상관 정도)
확률 분포
- 가우시안 분포
- 베르누이 분포
- 이항 분포
- logistic sigmoid 함수
- 활성함수로 많이 사용
- 비선형
- 0~1
- 베르누이 분포의 매개변수를 조정하여 얻는다
- softplus 함수
- 비선형, 활성함수
- 정규분포를 활용하여 얻어진다
- 혼합 분포
- 여러 분포를 합쳐서 사용 (동일한 분포를 사용)
정보이론
- 사건이 지닌 정보를 정량화
- 잘 일어나지 않는 사건(unlikely event)의 정보량이 더 많다
- 확률이 작을수록 많은 정보
- 자기 정보
- 사건 ei 하나의 정보량
- h(ei)=−log2(P(ei))
엔트로피
- 확률변수 x의 불확실성을 나타내는 엔트로피
- 모든 사건의 정보량의 기대값으로 표현
- 해당 확률변수가 얼만큼의 정보를 가질수 있는가를 표현
- 모든 사건이 동일한 확률을 가질 때, 즉 불확실성이 가장 높은 경우 엔트로피 최대
교차 엔트로피
- 두 확률분포 P와 Q 사이의 교차 엔트로피
- 서로 얼만큼의 정보를 공유하고 있는지, 두 확률분포를 비교할 때 사용
- 심층학습에서 손실함수로 많이 사용된다
- P : 데이터의 분포 (고정), Q 최소화
- KL 다이버전스
- 두 확률분포 사이의 거리를 계산할 때 사용
- 가지고 있는 데이터 분포 P와 추정한 데이터 분포 Q 간의 차이를 최소화하는데 교차 엔트로피 사용
최적화
- 훈련집합이 주어지고 훈련집합에 따라 정해지는 목적함수의 최저점으로 만드는 모델의 매개변수를 찾아햐한다
- SGD(stochastic gradient descent) 사용 : 손실함수 미분하는 과정 필요 -> 오류 역전파 알고리즘
매개변수 공간의 탐색
- 적절한 모델을 선택, 목적함수를 정의하고 모델의 매개변수 공간을 탐색하여 목적함수가 최저가 되는 최적점을 찾는다
- 특징 공간이 아니라 모델의 매개 변수 공간에서 수행
- 여러 알고리즘
- exhaustive search
- random search
- 목적 함수가 작아지는 방향을 미분으로 찾아서 갱신
미분
- 함수의 기울기(경사), 값이 커지는 방향을 지시
- -f'(x)를 사용하여 경사 하강 알고리즘에 적용
- 편미분
- 변수가 복수인 함수의 미분
- 미분 값이 이루는 벡터를 경사도 gradient라고 부른다
경사 하강 알고리즘
- 낮은 곳을 찾아가는 원리
- 기울기, 학습률(이동거리 조절)
- batch 경사 하강 알고리즘
- 샘플의 경사도를 구하고 평균한 뒤 한꺼번에 갱신
- 훈련집합 전체를 다 봐야 갱신이 일어나기 때문에 학습 과정이 오래걸린다
- 정확한 방향으로 수렴
- SGD
- 한 샘플 혹은 mini-batch의 경사도를 계산한 후 즉시 갱신
- 수렴 과정을 다소 헤맬 수 있지만 빠르다