본문 바로가기

분류 전체보기328

중요 샘플링 (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.
샘플평균과 샘플분산 디랙 델타(Dirac delta) 함수 \( \delta (x) \)를 이용하면 확률밀도함수 \( p_X (x) \)를 다음과 같이 근사화할 수 있다. \[ p_X (x) \approx \sum_{i=1}^N \omega_i \delta (x-x^{(i) } ) \] 여기서 \( x^{(i)} \)는 확률밀도함수가 \( p_X (x) \)인 모집단에서 추출한 샘플이다. \( N \)개의 샘플이 독립적이고 공평하게 추출됐다면 각 샘플이 추출될 확률 \( \omega_i \)는 다음과 같이 동일하게 주어진다. \[ \omega_i = P \{ X=x^{(i) } \} = \frac{1}{N} \] 그러면 랜덤변수(random variable) \( X \)의 함수인 \( f(X) \)의 기댓값 \( \mat.. 2020. 11. 12.
강화학습 문제 최적제어 문제는 다음과 같이 이산시간(discrete-time) 차분 방정식(difference equation)으로 표현된 비선형 시스템이 있을 때, \[ \mathbf{x}_{t+1} = \mathbf{f}_t ( \mathbf{x}_t, \mathbf{u}_t) \] 시스템이 어떤 스칼라 성능지수(performance index) \( J_i \)를 최소화하도록 제어변수 \( \mathbf{u}_t \in R^m \)를 결정하는 문제다. 성능지수의 일반적인 형태는 다음과 같다. \[ J_i = \phi (T, \mathbf{x}_T )+ \sum_{t=i}^{T-1} g_t ( \mathbf{x}_t, \mathbf{u}_t) \] 여기서 아래 첨자 \(t \)는 시간스텝을 나타내며 \( \math.. 2020. 11. 8.