본문 바로가기

AI수학56

[KKT 조건 - 1] 등식과 부등식 제약조건이 있는 최적화 문제 제약조건이 없는 일반적인 최적화 문제는 다음과 같다. \[ p^\star= \min_{\mathbf{x}}⁡ f(\mathbf{x}) \] 여기서 \(\mathbf{x}\)는 최적화 변수이고, \(f(\mathbf{x})\)는 목적함수(objective function)이다. \(\mathbf{x}^\star\)가 로컬(local) 최소점이 되기 위한 필요조건(necessary condition)은 \(\mathbf{x}=\mathbf{x}^\star\)에서 \(f\)의 그래디언트(gradient)가 \(0\)이 되는 것이다. \[ \nabla_{\mathbf{x}} f(\mathbf{x}^\star )=0 \] 등식 제약조건이 있는 일반적인 최적화 문제는 다음과 같다. \[ \begin{align} &.. 2021. 1. 14.
최소화의 필요조건과 충분조건 다음과 같이 제약조건이 없는 일반적인 함수의 최적화 문제에서, \[ \min_\mathbf{x} f(\mathbf{x}) \] 함수 \(f(\mathbf{x})\)가 \( \mathbf{x}^\star\)에서 로컬(local) 최소값이 되기 위한 필요조건(necessary condition)은 \( \mathbf{x}=\mathbf{x}^\star\)에서 계산한 \(f\)의 그래디언트(gradient)가 \(0\)이 되는 것이다. \[ \nabla_\mathbf{x} f(\mathbf{x}^\star ) = 0 \] 위 조건을 \(\mathbf{x}^\star\)이 최소점이 되기 위한 1차(first order) 필요조건이라고 한다. 사실 위 조건은 로컬 최대점에서도 성립한다. 그럼 또 다른 필요조건이 .. 2021. 1. 10.
중요 샘플링 (Importance Sampling) 파이썬(Python)이나 매트랩(Matlab) 등 대부분의 컴퓨터 언어에는 가우시안 또는 균등분포(uniform distribution)로부터 샘플을 생성하는 함수를 가지고 있다. 샘플을 생성하고 싶은 확률밀도함수는 알고 있지만 샘플을 생성하기가 어려울 때는, 균등분포를 갖는 랜덤변수 \(X \sim U[0,1]\)로부터 해당 확률밀도함수를 갖는 랜덤변수 \(Y\) 사이의 함수 관계식 \(Y=g(X)\)을 구하고, 균등분포로부터 추출한 샘플 \(x^{(i)}\)를 함수 관계식 \(y^{(i)}=g(x^{(i)})\)로 변환해서 사용하면 된다. 그러나 이 방법은 랜덤변수가 다차원(multi-dimension)을 갖거나 복잡한 확률밀도함수를 갖는 경우에는 적용하기가 어렵다. 만약 샘플을 추출하여 기댓값(ex.. 2021. 1. 6.
SGD에서 데이터를 무작위로 추출해야 하는 이유 배치(batch) 경사하강법은 학습 데이터 전체를 사용해서 손실함수(loss function)의 그래디언트(gradient)를 계산하고 신경망 파라미터를 업데이트한다. 반면에 확률적 경사하강법(SGD, stochastic gradient descent)은 전체 데이터에 비해 훨씬 적은 수의 데이터를 무작위로 추출하고 그 데이터만으로 손실함수의 그래디언트를 계산한 후 신경망 파라미터를 업데이트한다. 확률적(stochastic)이라는 용어는 데이터를 무작위로 추출한다는 뜻에서 나온 말이다. 그러면 왜 데이터를 무작위로 추출해야 할까. 대부분 신경망 학습 알고리즘은 손실함수를 정하는 것으로 시작한다. 손실함수를 \( \mathcal{L}(\mathbf{\theta} \ ; (\mathbf{x}^{(i )}, .. 2021. 1. 4.
혼합 랜덤변수 (Mixed Random Variables) 이산(discrete) 랜덤변수에서는 확률밀도함수(pdf, probability density function) 대신에 확률질량함수(pmf, probability mass function)를 사용한다. 이산 랜덤변수 \( \Theta \)의 확률질량함수 \( \omega_{\Theta} (\theta)\)는 다음과 같이 정의한다. \[ \omega_{\Theta} (\theta_i ) = P \{ \Theta = \theta _i \} \] 여기서 \( \theta_i, \ i=1, ... , n \)은 표본 공간의 모든 원소다. 정의에 의하면 확률질량함수는 곧 확률임을 알 수 있다. 디랙 델타(Dirac delta)함수 \(\delta (\theta) \)를 이용하면 확률질량함수를 확률밀도함수의 형태로.. 2020. 12. 27.
랜덤변수의 함수와 샘플링 - 3 랜덤변수 \(X\)의 확률밀도함수(pdf, probability density function)가 \(p_X (x)\)이고, 랜덤변수 \(Y\)가 함수 \(Y=g(X)\)로 주어졌을 때, \(Y\)의 확률밀도함수 \(p_Y (y)\)를 구할 수 있었다. 또한 랜덤변수 \(Y\)의 확률분포에서 샘플을 직접 추출하기 어려운 경우에는 가우시안 또는 균등분포(uniform distribution)를 갖는 랜덤변수 \(X\)로부터 샘플 \(X=x^{(i)}\)를 추출하여 함수 관계식 \(y^{(i)}=g(x^{(i)})\)로 변환해서 사용할 수 있었다. 그렇다면, 랜덤변수 \(X\)의 확률밀도함수 \(p_X (x)\)와 랜덤변수 \(Y\)의 확률밀도함수 \(p_Y (y)\)가 주어졌을 때, X와 Y의 함수 관계식.. 2020. 12. 26.
랜덤변수의 함수와 샘플링 - 2 랜덤변수(random variable) \(X\)의 확률밀도함수(pdf, probability density function) \(p_X (x) \)이고, 랜덤변수 \(Y\)가 미분가능한 함수 \(Y=g(X)\)로 주어졌을 때, \(Y\)의 확률밀도함수 \(p_Y (y)\)는 다음과 같이 주어진다. \[ p_Y (y) = \sum_{i=1}^k \frac{p_X (x_i)}{ \left| g^{\prime} (x_i) \right| } \] 여기서 \(x_1,x_2, ... \)는 함수 \(y=g(x)\)의 해이고 \(g^\prime (x_i)\)는 \(x_i\)에서 함수 \(g\)를 미분한 값이다. 증명은 복잡하므로 생략하기로 한다. 위 식을 이용하여 \(g\)가 선형함수 \(Y=aX+b,\ a \gt.. 2020. 12. 24.
랜덤변수의 함수와 샘플링 - 1 \(Y\)가 랜덤변수(random variable) \(X\)의 함수 \(Y=g(X)\)로 주어진다면 \(Y\)도 랜덤변수가 된다. \(X\)의 누적분포함수 \(F_X (x) \)와 확률밀도함수 \(p_X (x) \)로부터 \(F_Y (y) \)와 \(p_Y (y) \)를 구해보자. 사건 \( \{ Y \le y \} \)의 확률은 랜덤변수 \(X\)가 \( g(X) \le y \)를 만족하는 실수 구간 \( \{ X \in I_x \} \)에 속할 확률과 같으므로 \(Y\)의 누적분포함수는 다음 식으로 계산할 수 있다. \[ \begin{align} F_Y (y) & = P \{ Y \le y \} \\ \\ &= P \{ g(X) \le y \} \\ \\ &= P \{ X \le g^{-1} (y).. 2020. 12. 22.
반복적인 기댓값 계산 랜덤변수(random variable) \( X \)와 \( Y \)의 함수인 \( g(X,Y) \)의 기댓값 \( \mathbb{E}[g(X,Y)] \)는 다음과 같이 조건부 기댓값을 두 번 반복하여 계산해서 구할 수 있다. \[ \mathbb{E}[ g(X,Y)]=\mathbb{E}_Y \left[ \ \mathbb{E}_X [ g(X,Y)|Y ] \ \right] \] 여기서 \( \mathbb{E}_X [ \cdot ] \)는 기댓값을 확률밀도함수 \( p_{X|Y} (x|y) \)를 이용하여 계산한 것이고 \( \mathbb{E}_Y [ \cdot ] \)는 기댓값을 \( p_Y (y) \)를 이용하여 계산한 것이다. 위 관계식을 증명해 보자. \[ \begin{align} \mathbb{E}_.. 2020. 12. 12.
베이즈(Bayes) 정리 사건 \(B\)가 발생한다는 가정(또는 조건)하에서 사건 \(A\)가 발생할 확률을 사건 \(A\)의 조건부 확률(conditional probability)이라고 하고, 다음과 같이 정의한다. \[ P\{A|B \}=\frac{P\{A,B \}}{P \{B \}} \] 비슷하게 사건 \(A \)가 발생한다는 가정하에서 사건 \(B\)가 발생할 확률은 다음과 같이 쓸 수 있다. \[ P\{B|A\}= \frac{P\{A,B\} }{ P\{A\} } \] 위 두 식을 이용하면 다음과 같은 연쇄법칙(chain rule)을 만들 수 있다. \[ P\{A,B \} = P\{A│B \}P\{B\}=A\{B│A\}P \{A \} \] 한편 다음 그림과 같이 \( N \)개의 사건 \( \{ B_i, \ i=1,.... 2020. 11. 13.