다운로드
작성자: admin 작성일시: 2018-12-09 18:34:47 조회수: 228 다운로드: 20
카테고리: 기타 태그목록:

변분법

범함수

함수(function)는 실수를 입력받아 실수를 출력한다.

$$ \text{실수 } x \rightarrow \boxed{\; \text{함수(function) } \; f \;} \rightarrow \text{실수 } $$

기댓값, 엔트로피 등을 계산할 때는 확률분포함수라는 함수를 입력으로 하여 실수를 출력하는데 이렇게 함수를 입력받아 실수를 출력하는 것을 범함수(functional)이라고 한다.

$$ \text{함수 } y(x) \rightarrow \boxed{\; \text{범함수(functional)} \; F \;} \rightarrow \text{실수} $$

범함수는 보통 대문자로 표기하며 독립변수인 함수를 소괄호(parenthesis)가 아닌 대괄호(square bracket)로 감싼다.

$$ F[y(x)] = \text{함수 $y(x)$에서 도출해낸 실수값} $$

대부분의 범함수 값은 정적분으로 계산한다. 예를 들어 확률변수 $X$의 기댓값과 엔트로피는 확률밀도함수 $p(x)$를 다음처럼 적분한 값이다.

$$ \text{E}[X] = \text{E}[p(x)] = \int_{-\infty}^{\infty} xp(x)dx $$$$ \text{H}[X] = \text{H}[p(x)] = -\int_{-\infty}^{\infty} p(x)\log p(x) dx $$

범함수의 테일러 전개

함수 $f(x)$의 도함수 $\frac{df}{dx}$를 알면 다음처럼 함수의 근사값을 구할 수 있다. 이를 함수의 테일러 전개(Taylor expansion)라고 한다. 이 식에서 $\epsilon$은 아주 작은 실수를 의미한다.

$$ f(x + \epsilon) \approx f(x) + \dfrac{df}{dx} \epsilon $$

범함수에 대해서도 테일러 전개를 할 수 있다. 우선 범함수가 아닌 단변수 함수의 테일러 전개부터 시작한다. 설명의 편의를 위해 함수이름을 $F$, 독립변수를 $y$라고 하면 테일러 전개식은 다음과 같아진다. $F$가 아직은 범함수가 아니라 함수이고 $y$도 아직은 함수가 아니라 변수라는 점에 주의해야 한다.

$$ F(y + \epsilon) \approx F(y) + \dfrac{dF}{dy} \epsilon $$

만약 $F$가 단변수 함수가 아니라 $y_1, y_2, \ldots, y_N$이라는 $N$개의 실수 입력을 받는 다변수 함수라면 테일러 전개식은 다음처럼 변한다.

$$ \begin{eqnarray} F(y_1 + \epsilon_1, y_2 + \epsilon_2, \ldots, y_N + \epsilon_N) &\approx& F(y_1, y_2, \ldots, y_N) + \dfrac{\partial F}{\partial y_1} \epsilon_1 + \dfrac{\partial F}{\partial y_2} \epsilon_2 + \cdots \dfrac{\partial F}{\partial y_N} \epsilon_N \\ &=& F(y_1, y_2, \ldots, y_N) + \sum_{i=1}^{N} \dfrac{\partial F}{\partial y_i} \epsilon_i \end{eqnarray} $$

여기에서 사실 $y_i$가 $x_i$를 입력으로 받아서 계산된 함수의 값 $y(x_i)$이고

$$ y_i = y(x_i) $$

$\epsilon_i$는 $x_i$를 입력으로 받는 임의의 함수 $\eta$의 값 $\eta(x_i)$에 아주 작은 상수 $\epsilon$을 곱한 값이라고 하자.

$$ \epsilon_i = \epsilon \eta(x_i) $$

그러면 위 테일러 전개식은 다음처럼 쓸 수 있다.

$$ \begin{eqnarray} F \big( y(x_1) + \epsilon\eta(x_1), y(x_2) + \epsilon\eta(x_2), \ldots, y(x_N) + \epsilon\eta(x_N) \big) &\approx& F \big( y(x_1), y(x_2), \ldots, y(x_N) \big) + \epsilon \sum_{i=1}^{N} \dfrac{\partial F}{\partial y_i} \eta(x_i) \end{eqnarray} $$

현재까지의 상태를 정리하면 다음과 같다.

$$ \text{ 실수열 } \{ x_1, \cdots, x_N \} \;\; \rightarrow \;\; \text{ 실수열 } \{ y(x_1), \cdots, y(x_N) \} \;\; \rightarrow \;\; \text{ 함수 값 } F \big( \{ y(x_1), \cdots, y(x_N) \} \big) $$

여기에서 실수열의 크기 $N$을 무한대로 늘리면 $x$의 실수 구간이 되고 $y$는 이 정의역에 대한 함수 전체를 나타낸다고 볼 수 있다. $F$는 함수 전체를 받아서 실수를 출력하므로 함수가 아닌 범함수가 된다.

$$ \text{ 실수 구간 } a \leq x \leq b \;\; \rightarrow \;\; \text{ 함수 } y(x) \;\; \rightarrow \;\; \text{ 범함수 값 } F[y(x)] $$

그러면 테일러 전개식은 다음처럼 된다. 이 식이 바로 범함수에 대한 테일러 전개이다.

$$ F[y(x) + \epsilon \eta(x)] \approx F[y(x)] + \epsilon \int \dfrac{\delta F}{\delta y(x)} \eta(x) dx $$

이 식에서 $\dfrac{\delta F}{\delta y(x)}$는 범함수의 도함수(functional derivative) 기호이다. $y$를 변수, $F$를 함수라고 놓고 미분하여 구한 도함수과 같은 의미지만 범함수를 함수로 미분하였다는 것을 강조하기 위해 $d$ 기호가 아니라 $\delta$ 기호를 사용하였다.

최적제어

함수 $f(x)$가 있을 때 이 값이 가장 커지도록 혹은 가장 작아지도록 하는 독립변수 $x$의 값을 찾아내는 것을 최적화(optimization)이라고 한다. 이와 비슷하게 범함수 $F[y(x)]$가 있을 때 이 값이 가장 커지도록 혹은 가장 작아지도록 하는 독립함수 $y(x)$를 찾는 것을 최적제어(optimal control)라고 한다.

최적화를 위한 필요조건은 최적의 독립변수의 값 $x^{\ast}$을 입력하면 함수의 도함수의 값이 0이 되어야 한다는 것이었다.

$$ \dfrac{df}{dx}(x^{\ast}) = 0 $$

최적제어에서도 최적의 함수 $y^{\ast}(x)$를 입력하면 범함수의 도함수의 값이 0이 되어야 한다는 것이 최적 조건이다.

$$ \dfrac{\delta f}{\delta y}[y^{\ast}(x)] = 0 $$

적분형 범함수의 최적 조건

대부분의 범함수는 $x$에 대한 적분으로 정의되며 적분 기호안의 연산은 $y(x)$와 $x$ 를 입력 변수로 받는 함수 $G \big( y, x \big)$라고 할 수 있다.

$$ F[y(x)] = \int G(y, x) dx $$

이러한 범함수 $F$의 도함수는 다음처럼 계산할 수 있다.

$$ \dfrac{\delta f}{\delta y} = \dfrac{\partial G}{\partial y} $$

따라서 어떤 함수 $y(x)$가 범함수 값 $F$를 가장 크게 만들 수 있는 조건은

$$ \dfrac{\partial G}{\partial y} = 0 $$

이다.

엔트로피 최대화

예를 들어 주어진 기댓값 $\mu$, 분산 $\sigma^2$을 가지고 엔트로피 $\text{H}[p(x)]$를 가장 크게 만드는 확률밀도함수 $p(x)$를 변분법을 이용하여 찾아보자.

제한조건은 다음과 같다.

(1) 확률밀도함수의 총면적은 1

$$ \int_{-\infty}^{\infty} p(x) dx = 1 $$

(2) 기댓값은 $\mu$

$$ \int_{-\infty}^{\infty} xp(x) dx = \mu $$

(3) 분산은 $\sigma^2$

$$ \int_{-\infty}^{\infty} (x - \mu)^2 p(x) dx = \sigma^2 $$

원래의 목적 범함수(objective functional)은 다음과 같은 엔트로피이지만

$$ \text{H}[p(x)] = -\int_{-\infty}^{\infty} p(x)\log p(x) dx $$

라그랑주 승수법으로 제한조건을 추가하면 다음과 같아진다.

$$ \begin{eqnarray} \text{H}[p(x)] &=& -\int_{-\infty}^{\infty} p(x)\log p(x) dx + \lambda_1 \left( \int_{-\infty}^{\infty} p(x) dx - 1 \right) \\ & & \lambda_2 \left( \int_{-\infty}^{\infty} xp(x) dx - \mu \right) + \lambda_3 \left( \int_{-\infty}^{\infty} (x - \mu)^2 p(x) dx - \sigma^2 \right) \\ &=& \int_{-\infty}^{\infty} \left( -p(x)\log p(x) + \lambda_1 p(x) + \lambda_2 xp(x) + \lambda_3 (x - \mu)^2p(x) - \lambda_1 - \lambda_2 \mu - \lambda_3 \sigma^2 \right) dx \end{eqnarray} $$

도함수는 다음과 같이 계산된다.

$$ \dfrac{\delta H}{\delta p(x)} = -\log p(x) - 1 + \lambda_1 + \lambda_2 x + \lambda_3 (x - \mu)^2 = 0 $$

따라서 확률밀도함수의 형태는 다음과 같다.

$$ \dfrac{\delta H}{\delta p(x)} = p(x) = \exp \left( - 1 + \lambda_1 + \lambda_2 x + \lambda_3 (x - \mu)^2 \right) $$

이 확률밀도함수의 면적, 기대값, 분산을 계산하여 연립방정식을 풀면 라그랑주 승수를 다음처럼 구할 수 있다. 이 과정은 이 책의 범위를 벗어나므로 생략한다.

$$ \begin{eqnarray} \lambda_1 &=& 1-\dfrac{1}{2} \log{2\pi\sigma^2} \\ \lambda_2 &=& 0 \\ \lambda_3 &=& -\dfrac{1}{2\sigma^2} \\ \end{eqnarray} $$

이 값을 대입하면 가우시안 정규 분포라는 것을 알 수 있다.

$$ p(x) = \dfrac{1}{\sqrt{2\pi\sigma^2}} \exp \left( -\dfrac{(x - \mu)^2}{2\sigma^2} \right) $$

이 때 엔트로피의 값은

$$ \begin{eqnarray} \text{H}[p(x)] &=& -\int_{-\infty}^{\infty} p(x)\log p(x) dx \\ &=& \int_{-\infty}^{\infty} p(x) \left(\dfrac{1}{2} \log {2\pi\sigma^2} -\dfrac{(x - \mu)^2}{2\sigma^2} \right) dx \\ &=& \dfrac{1}{2} \log {2\pi\sigma^2} \int_{-\infty}^{\infty} p(x) dx + \dfrac{1}{2\sigma^2} \int_{-\infty}^{\infty} (x - \mu)^2 p(x) dx \\ &=& \dfrac{1}{2} \log {2\pi\sigma^2} + \dfrac{1}{2\sigma^2} \sigma^2 \\ &=& \dfrac{1}{2} ( 1 + \log 2\pi\sigma^2 ) \\ \end{eqnarray} $$

이다.

오일러-라그랑주 공식

가끔씩 $x$, $y(x)$ 이외에 추가로 $y(x)$의 $x$에 대한 도함수인 $y'(x) = \frac{dy}{dx}$도 입력 변수로 받는 함수 $G \big( y(x), y'(x), x \big)$로 정의된 도함수도 있을 수 있는데 이 때는 도함수를 다음처럼 구한다.

$$ F[y(x)] = \int G(y, y', x) dx $$

이러한 범함수 $F$의 도함수는 다음처럼 계산할 수 있고

$$ \dfrac{\partial G}{\partial y} - \dfrac{d}{dx}\left( \dfrac{\partial G}{\partial y'} \right) $$

어떤 함수 $y(x)$가 범함수 값 $F$를 가장 크게 만들 수 있는 조건은

$$ \dfrac{\partial G}{\partial y} - \dfrac{d}{dx}\left( \dfrac{\partial G}{\partial y'} \right) = 0 $$

이다. 이를 오일러-라그랑주(Euler-Lagrange) 공식이라고 한다.

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!