[Deep Learning] 신경망 기초 - 기계학습 & 수학

happy_quokka·2023년 12월 15일
0

딥러닝

목록 보기
3/18

선형 대수

벡터와 행렬

  • 전치행렬 ATA^T
    • 행요소와 열요소를 바꾼다
    • (AB)T=BTAT(AB)^T = B^TA^T
  • 행렬 곱셈
    • 교환 법칙 성립하지 않는다
    • 분배, 결합 법칙 성립
    • 공간의 변환
    • 벡터의 내적으로 구성되어 있다
  • 벡터의 내적
    • 유사도를 측정하는 것
    • 방향이 얼마나 비슷한지 (비슷할 수록 값이 크다, 반대방향이면 음수, 90도이면 0)
    • 입력 데이터가 가중치와 얼마나 비슷한지
  • tensor
    • 3차원 이상의 구조를 가진 숫자 배열

norm과 유사도

  • 유사도와 거리
  • 코사인 유사도
  • 벡터와 행렬의 거리를 norm으로 측정
    • p차 norm : (i=1,dxip)1p(\displaystyle\sum_{i=1,d} |x_i|^p)^{\frac{1}{p}}
    • 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(xy)P(y)=P(x,y)=P(yx)P(x)P(y, x) = P(x|y)P(y) = P(x, y) = P(y|x)P(x)
  • P(yx)=P(xy)P(y)P(x)P(y|x) = \frac{P(x|y)P(y)}{P(x)}
  • y^=argmaxyP(yx)\hat{y} = argmax_y P(y|x) : x가 주어졌을때 최대가 되는 y 찾는것
  • 사후 확률을 직접 추정하는 일은 불가능
  • 따라서 베이즈 정리를 이용하여 추정
  • 즉, 사전 확률과 likelihood를 통해 (데이터를 통해) 최대가 되는 확률을 찾는 것
  • 이를 통해 주어진 분류 문제를 풀 수 있다

최대 우도 ML

  • maximum likelihood
  • 매개변수 (모수)를 모르는 상황에서 매개변수를 추정하는 문제
  • 어떤 확률 변수의 관찰된 값들을 토대로 그 확률 변수의 매개 변수를 구하는 방법
  • θ^=argmaxθP(Xθ)\hat{\theta} = argmax_\theta P(X|\theta)
  • 로그 함수를 이용하여 계산 단순화
    • θ^=argmaxθlogP(Xθ)=argmaxθi=1nlogP(xiθ)\hat{\theta} = argmax_\theta logP(X|\theta) = argmax_\theta\displaystyle\sum_{i=1}^{n} logP(x_i|\theta)

평균과 분산

  • 데이터의 요약 정보로서 평균, 분산
  • 평균 벡터, 공분산 행렬 (확률 변수의 상관 정도)

확률 분포

  • 가우시안 분포
    • 평균, 분산으로 정의
  • 베르누이 분포
    • 성공 확률, 실패 확률인 분포
  • 이항 분포
    • 베르누이 실험을 m번 수행할 때 성공한 횟수
  • logistic sigmoid 함수
    • 활성함수로 많이 사용
    • 비선형
    • 0~1
    • 베르누이 분포의 매개변수를 조정하여 얻는다
  • softplus 함수
    • 비선형, 활성함수
    • 정규분포를 활용하여 얻어진다
  • 혼합 분포
    • 여러 분포를 합쳐서 사용 (동일한 분포를 사용)

정보이론

  • 사건이 지닌 정보를 정량화
  • 잘 일어나지 않는 사건(unlikely event)의 정보량이 더 많다
  • 확률이 작을수록 많은 정보
  • 자기 정보
    • 사건 eie_i 하나의 정보량
    • h(ei)=log2(P(ei))h(e_i) = -log_2(P(e_i))

엔트로피

  • 확률변수 x의 불확실성을 나타내는 엔트로피
  • 모든 사건의 정보량의 기대값으로 표현
  • 해당 확률변수가 얼만큼의 정보를 가질수 있는가를 표현
  • 모든 사건이 동일한 확률을 가질 때, 즉 불확실성이 가장 높은 경우 엔트로피 최대

교차 엔트로피

  • 두 확률분포 P와 Q 사이의 교차 엔트로피
  • 서로 얼만큼의 정보를 공유하고 있는지, 두 확률분포를 비교할 때 사용
  • 심층학습에서 손실함수로 많이 사용된다
  • P : 데이터의 분포 (고정), Q 최소화
  • KL 다이버전스
    • 두 확률분포 사이의 거리를 계산할 때 사용
    • 가지고 있는 데이터 분포 P와 추정한 데이터 분포 Q 간의 차이를 최소화하는데 교차 엔트로피 사용

최적화

  • 훈련집합이 주어지고 훈련집합에 따라 정해지는 목적함수의 최저점으로 만드는 모델의 매개변수를 찾아햐한다
  • SGD(stochastic gradient descent) 사용 : 손실함수 미분하는 과정 필요 -> 오류 역전파 알고리즘

매개변수 공간의 탐색

  • 적절한 모델을 선택, 목적함수를 정의하고 모델의 매개변수 공간을 탐색하여 목적함수가 최저가 되는 최적점을 찾는다
  • 특징 공간이 아니라 모델의 매개 변수 공간에서 수행
  • 여러 알고리즘
    • exhaustive search
    • random search
    • 목적 함수가 작아지는 방향을 미분으로 찾아서 갱신

미분

  • 함수의 기울기(경사), 값이 커지는 방향을 지시
  • -f'(x)를 사용하여 경사 하강 알고리즘에 적용
  • 편미분
    • 변수가 복수인 함수의 미분
    • 미분 값이 이루는 벡터를 경사도 gradient라고 부른다

경사 하강 알고리즘

  • 낮은 곳을 찾아가는 원리
  • 기울기, 학습률(이동거리 조절)
  • batch 경사 하강 알고리즘
    • 샘플의 경사도를 구하고 평균한 뒤 한꺼번에 갱신
    • 훈련집합 전체를 다 봐야 갱신이 일어나기 때문에 학습 과정이 오래걸린다
    • 정확한 방향으로 수렴
  • SGD
    • 한 샘플 혹은 mini-batch의 경사도를 계산한 후 즉시 갱신
    • 수렴 과정을 다소 헤맬 수 있지만 빠르다

0개의 댓글