본문 바로가기

ai수학6

라그랑지 곱수법 라그랑지 곱수(Lagrange multiplier)법은 등식 제약조건이 있는 최적화 문제를 풀기 위해 고안된 방법이다. 등식 제약조건이 있는 최적화 문제는 다음과 같다. \[ \begin{align} & p^* = \min_{\mathbf{x}} f( \mathbf{x} ) \\ \\ subject \ to \ \ \ & h_j ( \mathbf{x} ) = 0, \ \ \ j=1,...,p \end{align} \] 여기서 \( \mathbf{x} \in R^n \) 은 최적화 변수, \( f( \mathbf{x}):R^n \to R \) 은 목적함수, \( h_j (\mathbf{x}):R^n \to R \) 은 등식 제약함수이다. 라그랑지 곱수법에 의하면 등식 제약조건이 있는 최적화 문제를 제약조건.. 2020. 10. 1.
경사하강법 제약조건이 없는 일반적인 최적화 문제는 다음과 같다. \[ p^* = \min_{\mathbf{x}} f(\mathbf{x}) \] 또는, \[ \mathbf{x}^* = \arg \min_{\mathbf{x}} f(\mathbf{x}) \] 여기서 \( \mathbf{x} \in R^n \) 은 최적화 변수이고, \( f(\mathbf{x}) \)은 목적함수(objective function)이다. 대부분 신경망 학습 알고리즘은 손실함수(loss function)를 정하거나 최적화를 위한 목적함수를 만드는 것으로 시작한다. 경사하강법(gradient descent) 또는 경사상승법(gradient ascent)은 목적함수를 최소화(minimization)하거나 최대화(maximization)하기 위해 .. 2020. 9. 30.
최적화 문제의 분류 제약조건이 있는 비선형 다변수 함수 \( f(\mathbf{x}) \)의 최소값 (또는 최대값)을 구하는 문제를 정적 최적화(static optimization) 문제 또는 비선형 프로그래밍 문제(NLP, nonlinear programming problem)라고 한다. 수식으로 표현하면 다음과 같다. \[ \begin{align} & p^* = \min_{\mathbf{x}} f(\mathbf{x}) \\ \\ subject \ to \ \ \ & g_i (\mathbf{x}) \le 0, \ \ \ i=1,...,m \\ \\ & h_j (\mathbf{x}) = 0, \ \ \ j=1,...,p \end{align} \] 여기서 \( \mathbf{x} \in R^n \)을 최적화 변수(optimi.. 2020. 9. 30.
컨볼루션과 상관도 LTI 시스템의 임펄스 반응 \( h[n] \)과 입력 신호 \( x[n] \)의 컨볼루션(convolution)은 다음 식으로 정의한다. \[ y[n] = \sum_{k=-\infty}^{\infty} x[k] h[n-k] \] 한편, LSI 시스템의 임펄스 반응 \( h[m,n] \)과 입력 신호 \( x[m,n] \)의 2D 컨볼루션은 다음 식으로 정의한다. \[ y[m,n] = \sum_{k=-\infty}^{\infty} \sum_{l=-\infty}^{\infty} x[k,l] h[m-k, n-l] \] 컨볼루션은 앞에서 설명했듯이 LTI 또는 LSI 시스템에 입력신호가 가해졌을 때 출력신호를 계산하는 식이며, 컨볼루션은 ‘뒤집기와 이동’ 방법을 사용하여 계산할 수 있다. 상관도(correla.. 2020. 9. 22.
2D 컨볼루션 계산하기 1D 컨볼루션과 똑같은 방법으로 '뒤집기와 이동' 방법을 사용하여 2D 컨볼루션을 계산해보자. 2020/07/25 - [CNN의 수학] - 컨볼루션 쉽게 계산하기 공식을 살펴보면, \[ y[m,n] = \sum_{k=-\infty}^\infty \sum_{l=-\infty}^\infty x[k,l] h[m-k, n-l] \] 우선 \( x[m,n] \)과 \( h[m,n] \)을 \( x[k,l] \)과 \( h[k,l] \)로 바꿔야 한다는 것을 알 수 있다. 그리고 \( h[k,l] \)을 수평축과 수직축을 기준으로 두 번 뒤집어서 \( h[-k,-l] \)로 만든 후, \( m,n \)만큼 수평과 수직으로 이동시켜서 \( h[m-k,n-l] \)을 만들고, \( k,l \)에 대해서 \( x[k,l.. 2020. 7. 29.
특이값 분해(SVD)의 응용: 이미지 압축 특이값 분해는 다음과 같이 어떤 \( m \times n \) 실수 행렬(real matrix) \( A \)를 3개의 행렬의 곱으로 분해한 것이다. \[ A = U \Sigma V^T \tag{1} \] 이 식을 풀어 쓰면 다음과 같다. \[ A = \sigma _1 \mathbf{u}_1 \mathbf{v}_1^T + \sigma _2 \mathbf{u}_2 \mathbf{v}_2^T + \cdots + \sigma _r \mathbf{u}_r \mathbf{v}_r^T \tag{2} \] 여기서 \( \sigma _i \)는 특이값으로서 그 숫자는 행렬 \( A \)의 랭크(rank)와 같다. 특이값은 큰 값에서 작은 값의 순서로 정렬시킨 것이다. \[ \sigma _1 \ge \sigma _2 \.. 2020. 7. 25.