Math for programming
-
변분 추론(variational inference)Math for programming 2024. 4. 21. 21:06
변분 추론(variational inference)은 복잡한 확률 분포를 근사화하는 기법 중 하나입니다. 주로 베이지안 통계에서 사용되며, 매개변수의 사후 분포를 직접 계산하는 것이 어려울 때, 더 간단한 형태로 근사화하여 추론을 용이하게 하는 데 사용됩니다. 1. 변분 추론과 관련된 용어: - 변분 매개변수 (Variational Parameters, \( \phi \)): 근사적 분포를 정의하는 데 사용되는 매개변수입니다. 변분 추론에서는 이 매개변수들을 최적화하여 원래의 복잡한 사후 분포를 가장 잘 근사하는 분포를 찾습니다. - 변분 분포 (Variational Distribution): 원래의 사후 분포를 근사하기 위해 선택한 간단한 확률 분포입니다. 이 분포는 일반적으로 실제 사후 분포보다 계산..
-
Jacobian matrixMath for programming 2024. 4. 21. 10:39
Jacobian matrix는 다변수 벡터 함수의 모든 첫 번째 순도 편미분을 포함하는 행렬입니다. 이는 함수의 입력이 벡터이고 출력도 벡터인 경우에 사용됩니다. 즉, 여러 입력 변수에 대한 여러 출력 변수의 변화율을 나타냅니다. Jacobian 행렬은 다변수 함수의 국소적인 선형 근사를 제공하고, 함수의 변화율을 분석하는 데 중요한 도구입니다. Jacobian 행렬을 수학적으로 정의해 보자면, 다음과 같습니다: 다변수 벡터 함수 \( \mathbf{F} : \mathbb{R}^n \rightarrow \mathbb{R}^m \)가 있을 때, 즉 \( \mathbf{F}(\mathbf{x}) = \mathbf{F}(x_1, x_2, \ldots, x_n) = (f_1(\mathbf{x}), f_2(\ma..
-
미분의 chain rule, 복합 함수, 내부 함수, 외부 함수Math for programming 2023. 5. 18. 11:50
미분값 = 순간적인 변화 = '증가율' '변화율' ='기울기' 미분의 chain rule은 "복합 함수의 미분은 내부 함수와 외부 함수의 미분의 곱" "내부 함수"와 "외부 함수"는 복합 함수를 이루는 두 가지 구성 요소를 지칭합니다. 복합 함수란 한 함수의 출력이 다른 함수의 입력이 되는 함수를 말합니다. 예를 들어, f(g(x))와 같은 함수가 있을 때, 여기서 g(x)는 내부 함수이고, f는 외부 함수입니다. 내부 함수: 복합 함수에서 먼저 계산되는 함수입니다. 위 예시에서 g(x)가 내부 함수입니다. 외부 함수: 복합 함수에서 내부 함수의 결과를 사용하는 함수입니다. 위 예시에서 f가 외부 함수입니다. Chain rule은 이런 복합 함수의 미분에 사용됩니다. Chain rule에 따르면, 복합 ..
-
내적과 컨볼루션의 비교Math for programming 2023. 5. 18. 01:47
내적과 컨볼루션 모두 곱셈과 덧셈 연산을 포함합니다. 그러나 각각의 연산이 적용되는 방식과 그 결과가 가지는 의미는 서로 다릅니다. 내적: 두 벡터의 내적은 각각의 대응하는 요소들을 곱한 후, 그 결과를 모두 더하는 연산입니다. 이 결과는 스칼라 값이며, 두 벡터의 유사도나 한 벡터의 길이 등을 나타내는 데 사용됩니다. 컨볼루션: 컨볼루션은 신호 처리에서 널리 사용되는 연산으로, 한 함수와 다른 함수의 반전 이동 버전을 곱한 후 그 결과를 모두 더하는 연산입니다. 이 결과는 함수 혹은 시퀀스이며, 신호나 이미지의 특정 부분에 필터를 적용하는 데 사용됩니다. 따라서, 내적과 컨볼루션은 모두 곱셈과 덧셈 연산을 포함하지만, 그 연산의 방식과 결과의 의미는 서로 다릅니다. + 컨볼루션 "반전 이동 버전"이라는..
-
벡터의 내적과 일반적인 곱셈 사이Math for programming 2023. 5. 18. 00:41
벡터의 내적과 일반적인 곱셈 사이에는 몇 가지 중요한 차이점이 있습니다. 그러므로, 내적을 단순히 '곱셈'으로 이해하는 것은 올바르지 않을 수 있습니다. 구성 요소: 내적은 두 벡터의 각각 대응하는 요소들을 곱한 후, 그 결과를 모두 더하는 연산입니다. 즉, 두 벡터 a = [a1, a2, ..., an]와 b = [b1, b2, ..., bn]의 내적은 a1b1 + a2b2 + ... + an*bn 입니다. 결과: 내적의 결과는 스칼라입니다. 즉, 두 벡터의 내적을 구하면, 그 결과는 하나의 숫자값이 됩니다. 반면에 일반적인 곱셈의 결과는 곱하는 수의 종류에 따라 다르며, 이는 두 수가 모두 스칼라인 경우에만 스칼라입니다. 물리적 의미: 벡터의 내적은 두 벡터의 '같은 방향성'을 측정하는 값입니다. 즉..
-
비선형 활성화 함수(activation function)을 부드럽게(smoother) 만드는 이Math for programming 2023. 5. 17. 22:50
활성화 함수를 사용하여 신경망의 출력을 "smoother"하게 만드는 이유는 주로 두 가지가 있습니다. 1. 데이터의 복잡성 다루기: 실세계의 데이터는 종종 복잡하고 불규칙한 패턴을 가지고 있습니다. 활성화 함수는 이러한 복잡한 데이터를 더 잘 처리하고 학습하는데 도움을 줍니다. 활성화 함수를 통해, 신경망은 비선형 패턴을 포착하고 그에 따라 조정할 수 있게 됩니다. 2. 신경망의 일반화 능력 향상: '부드러운' 활성화 함수를 사용하면, 신경망은 미세한 입력 변화에 대해 더욱 부드럽게 반응하게 됩니다. 이는 과적합(overfitting)을 방지하고 신경망의 일반화 능력을 향상시킵니다. 즉, 학습 데이터에 대해서만 잘 작동하는 모델이 아니라, 새로운, 알려지지 않은 데이터에 대해서도 잘 작동하는 모델을 만..
-
Neural Network 에서 내적(inner product) ,선형 , 비선형Math for programming 2023. 5. 17. 22:42
Neural Network 에서 z=w*a+b 에서 w와 a가 inner product 하는 이유는? 신경망에서 가중치(weight, w)와 입력값(input, a) 사이의 내적(inner product) 연산 = 선형 결합 내적 연산은 입력값에 대해 가중치를 곱하고 합산하는 작업을 수행합니다. 이는 입력 특성에 대한 선형 결합을 만들어냅니다. 즉, 각각의 가중치는 해당 입력 특성이 출력에 얼마나 기여하는지를 결정하게 됩니다. 이는 신경망이 데이터의 다양한 특성을 학습하고 이를 바탕으로 예측을 생성하는 데 있어 핵심적인 역할을 합니다. + 선형 결합이란? 벡터 공간에서 여러 벡터들의 각각에 스칼라 곱을 한 후 그 결과를 더하는 것을 의미합니다. ++선형 결합이라는 건 일차함수 형태인가? 네, 맞습니다. ..