머신러닝을 위한 수학
책 “아카이시 마사노리, 딥러닝을 위한 수학, 위키북스, 2020”을 읽고 저자가 정리한 딥러닝을 위한 수학의 최단기 코스 목차를 참고해 내용을 하였습니다. 더 자세한 설명과 파이썬 코드를 알고 싶으시다면 책을 읽어보시는 걸 추천드립니다.
1 수학이 필요한 이유
머신러닝을 이해하는 데 수학은 알고리즘의 작동 원리를 이해하고, 알고리즘을 최적화하며, 데이터를 분석하는 데 필요합니다. 따라서 수학적 개념을 이해하지 못하면 다음과 같은 한계가 있습니다:1
- 알고리즘의 블랙박스화: 수학적 원리를 이해하지 못하면 알고리즘이 어떻게 동작하는지 알기 어려워지고, 결과를 해석하거나 문제를 해결하는 데 어려움을 겪을 수 있습니다.
- 문제 해결 능력 제한: 수학적 이해가 부족하면 복잡한 문제를 논리적으로 해결하는 데 한계가 생길 수 있습니다.
- 모델 최적화의 어려움: 수학적 최적화를 이해하지 못하면 모델의 성능을 개선하거나 최적화하는 데 어려움을 겪을 수 있습니다.
1.1 알아야하는 필수 개념
2 미분과 적분
미분과 적분은 수학에서 매우 중요한 개념으로, 함수의 변화를 분석하고 이해하는 데 핵심적인 역할을 합니다. 이 두 개념은 서로 밀접하게 연관되어 있으며, 많은 실제 응용 분야에서 활용됩니다.
미분은 함수의 순간적인 변화율을 측정하는 방법입니다. 주요 특징은 다음과 같습니다:
- 함수의 기울기를 나타냅니다.
- 변화의 속도를 계산하는 데 사용됩니다.
- 최적화 문제를 해결하는 데 중요한 역할을 합니다.
미분은 ” 함수를 미세하게 쪼개는 것 ” 으로 이해할 수 있습니다.2 이는 함수의 특정 지점에서의 순간적인 변화를 분석하는 데 유용합니다.
적분은 미분의 역연산으로, 적분은 ” 쌓는 것 ” 으로 이해할 수 있으며 함수값을 미세하게 나누어 합친 값을 의미합니다.3 다음과 같은 특징이 있습니다:
- 함수의 곡선 아래 면적을 계산합니다.
- 누적된 변화량을 구하는 데 사용됩니다.
- 부정적분과 정적분으로 나뉩니다.
미분과 적분의 관계는 서로 역관계에 있습니다. 이를 미적분학의 기본 정리라고 합니다.
- 함수 \(f(x)\) 의 부정적분 \(F(x)\) 를 미분하면 원래 함수 \(f(x)\) 가 됩니다.
- 정적분은 부정적분을 이용해 계산할 수 있습니다.
2.1 함수
관련 개념: 합성함수와 역함수, 극한과 미분, 다변수 함수
함수는 정의역의 각 원소에 공역의 원소를 오직 하나씩 대응시키는 관계입니다.4 함수는 종종 ’ 보이지 않는 마술상자 ’ 에 비유됩니다. 입력값을 넣으면 특정한 출력값이 나오는 구조이기 때문입니다. 이 비유는 단순해 보이지만 함수의 본질적인 개념을 잘 표현합니다
- 입력값 (정의역) 에 대해 단 하나의 출력값 (공역) 이 존재합니다.
- 모든 입력값은 반드시 하나의 출력값을 가져야 합니다.
2.2 합성함수와 역함수
관련 개념: 로그함수
합성함수와 역함수는 함수의 성질을 이해하고 복잡한 관계를 분석하는 데 중요한 도구입니다. 특히 합성함수는 여러 단계의 변환을 하나의 함수로 표현할 수 있게 해주며, 역함수는 함수의 가역성을 나타내는 중요한 개념입니다.
합성함수: 합성함수는 두 개 이상의 함수를 연속적으로 적용하여 만든 새로운 함수입니다. 함수 \(f\) 와 \(g\) 가 있을 때 \(g∘f(x) = g(f(x))\) 로 정의되는 함수를 \(f\) 와 \(g\) 의 합성함수라고 합니다. 합성함수는 여러 함수를 거쳐 한 집합에서 다른 집합으로 직접 연결하는 ” 다리 ” 역할을 합니다.5
- 교환법칙이 성립하지 않습니다. \(g∘f ≠ f∘g\)
- 결합법칙은 성립합니다. \((h∘g)∘f = h∘(g∘f)\)
역함수: 역함수는 주어진 함수의 입력과 출력을 서로 바꾼 함수입니다. 함수 \(f\) 에 대해 \(y = f(x)\) 이면 \(x = f^(-1)(y)\) 가 성립하는 함수 \(f^(-1)\) 를 \(f\) 의 역함수라고 합니다. 역함수는 원래 함수의 ” 되돌리기 ” 연산으로 볼 수 있습니다.
- 모든 함수가 역함수를 가지는 것은 아닙니다. 일대일대응 함수만이 역함수를 가집니다.6
- \(f(f^(-1)(x)) = f^(-1)(f(x)) = x\) 가 성립합니다.
2.3 극한과 미분
관련개념: 극대와 극소, 다항식의 미분, 곱의 미분, 적분, 합성함수의 미분, 로그함수의 미분, 편미분, 전미분
극한은 어떤 변수가 특정 값에 한없이 가까워질 때 함수값이 수렴하는 값을 의미합니다.
- 엡실론 - 델타 정의: 함수 \(f(x)\) 의 \(x\) 가 \(a\) 로 접근할 때의 극한 \(L\) 은 다음과 같이 정의됩니다: 모든 \(ε > 0\) 에 대해, \(δ > 0\) 이 존재하여 \(0 < |x - a| < δ\) 일 때 \(|f(x) - L| < ε\) 이 성립합니다.
- 직관적으로 \(x\) 가 \(a\) 에 충분히 가까워지면 \(f(x)\) 는 \(L\) 에 원하는 만큼 가까워질 수 있다는 의미입니다.
- 엡실론 - 델타 정의는 해석학의 기초가 되며 이를 통해 함수의 성질을 엄밀하게 분석할 수 있습니다.
미분은 함수의 순간변화율을 나타내는 개념입니다.
- 극한을 이용한 정의: 함수 \(f(x)\) 의 \(x = a\) 에서의 미분은 다음과 같이 정의됩니다: \(f'(a) = lim_{h→0} [f(a+h) - f(a)] / h\)
- 이는 함수의 그래프 상의 한 점에서의 접선의 기울기를 의미하며 \(f'(a)\) 를 함수 \(f(a)\) 의 도함수라 합니다.
극한과 미분의 관계
- 미분은 극한의 개념을 기반으로 정의됩니다. 미분 계수는 특정한 형태의 극한값입니다.
- 함수가 미분 가능하려면 해당 점에서 극한이 존재해야 합니다. 즉, 좌극한과 우극한이 같아야 합니다.
- 극한의 존재가 미분 가능성을 보장하지는 않습니다. 예를 들어, \(|x|\) 는 \(x = 0\) 에서 극한은 존재하지만 미분은 불가능합니다.
- 미분 가능한 함수는 반드시 연속함수이지만 그 역은 성립하지 않습니다.
2.4 극대와 극소
관련개념: 경사하강법, 가능도함수와 최대가능도 추정
극대와 극소는 함수의 그래프에서 봉우리와 골짜기를 나타내며, 이러한 점들을 찾는 것은 함수의 최적화 및 분석에 있어 매우 중요합니다. 극대와 극소를 찾기 위해서는 도함수를 사용하여 함수의 기울기가 \(0\) 이 되는 지점을 찾고, 이 지점들이 극대인지 극소인지 추가적인 분석을 통해 확인합니다. 이 개념들은 최적화 문제와 함수의 그래프 분석에서 중요한 역할을 합니다.
극대: 함수 \(y = f(x)\) 가 \(x = a\) 에서 극대 (maximum) 를 가진다고 할 때, 이는 \(f(a)\) 가 \(a\) 의 근처에 있는 모든 \(x\) 에 대해 \(f(x) \leq f(a)\) 를 만족하는 경우를 의미합니다.
- 극대점에서는 함수의 기울기가 \(0\) 이 되거나, 변화가 없는 상태가 됩니다. 즉, 도함수 \(f'(x) = 0\) 이거나 정의되지 않는 점일 수 있습니다.
극소: 함수 \(y = f(x)\) 가 \(x = b\) 에서 극소 (minimum) 를 가진다고 할 때 이는 \(f(b)\) 가 \(b\) 의 근처에 있는 모든 \(x\) 에 대해 \(f(x) \geq f(b)\) 를 만족하는 경우를 의미합니다.
- 극소점에서도 마찬가지로 함수의 기울기가 \(0\) 이 되거나 변화가 없는 상태가 됩니다. 즉, 도함수 \(f'(x) = 0\) 이거나 정의되지 않는 점일 수 있습니다.
2.5 다항식의 미분
관련개념: 시그모이드 함수
다항식의 미분은 함수의 순간 변화율을 나타내며, 곡선의 기울기를 구하거나 최적화 문제를 해결하는 데 사용됩니다. 다항식의 미분은 각 항을 개별적으로 미분한 후 그 결과를 더하는 방식으로 이루어집니다. 다항식 미분의 주요 특징은 다음과 같습니다:
- 상수항의 미분: 상수 c 에 대해 \((c)' = 0\)
- 거듭제곱 함수의 미분: \(x^n\) 의 미분은 \(nx^(n-1)\) 입니다. 즉, \((x^n)' = nx^(n-1)\).
- 선형성: \((f(x) + g(x))' = f'(x) + g'(x)\), \((cf(x))' = c * f'(x)\). 여기서 \(c\) 는 상수.
다항식의 미분 정의: 다항식 \(f(x) = a_n x^n + a_(n-1) x^(n-1) + ... + a_1 x + a_0\) 의 미분은 다음과 같이 정의됩니다:
- \(f'(x) = n * a_n x^(n-1) + (n-1) * a_(n-1) x^(n-2) + ... + 2 * a_2 x + a_1\) 이 정의를 사용하면 모든 다항식의 미분을 쉽게 계산할 수 있습니다.
예를 들면 아래와 같습니다: - \((3x^2 + 2x - 1)'= 6x + 2\) - \((x^3 - 5x + 7)' = 3x^2 - 5\)
2.6 곱의 미분
관련개념: 몫의 미분
곱의 미분법칙 (product rule) 은 두 함수의 곱을 미분할 때 사용하는 규칙으로 복잡한 함수의 미분을 단순화하고 해결하는 데 활용됩니다.
곱의 미분은 두 함수 \(u(x)\) 와 \(v(x)\) 의 곱 \(f(x) = u(x)v(x)\) 에 대한 미분은 다음과 같이 정의됩니다: \(f'(x) = u'(x)v(x) + u(x)v'(x)\). 여기서 \(f'(x)\) 는 \(f(x)\) 의 도함수이며 \(u'(x)\) 는 \(u(x)\) 의 도함수이고 \(v'(x)\) 는 \(v(x)\) 의 도함수입니다.
곱의 미분 특징:
- 이 법칙은 두 함수의 곱을 미분할 때 각 함수를 개별적으로 미분한 후 조합하는 방법을 제공합니다.
- 첫 번째 함수의 미분에 두 번째 함수를 곱하고, 두 번째 함수의 미분에 첫 번째 함수를 곱한 후 이 둘을 더합니다.
- 이 법칙은 두 개 이상의 함수의 곱에도 확장 적용할 수 있습니다.
- 곱의 미분법칙은 합의 미분법칙과 함께 복잡한 함수의 미분을 가능하게 합니다.
2.7 합성함수의 미분
관련 개념: 몫의 미분, 지수함수의 미분, 전미분과 합성함수
합성함수의 미분, 즉 연쇄법칙 (chain rule) 은 신경망과 같은 복잡한 구조의 미분을 계산할 때 핵심적인 역할을 합니다.
합성함수의 미분 정의: 두 함수 \(f(x)\) 와 \(g(x)\) 의 합성함수 \(h(x) = f(g(x))\) 에 대한 미분은 다음과 같이 정의됩니다: \(h'(x) = f'(g(x)) * g'(x)\) . 여기서 \(h'(x)\) 는 합성함수 \(h(x)\) 의 도함수, \(f'(g(x))\) 는 \(f\) 의 도함수를 \(g(x)\) 에 대해 계산한 것, \(g'(x)\) 는 \(g(x)\) 의 도함수입니다.
연쇄법칙의 특징
- 이 법칙은 ” 바깥 함수의 미분 ” 곱하기 ” 안쪽 함수의 미분 ” 으로 이해할 수 있습니다.
- 연쇄법칙은 여러 함수가 중첩된 복잡한 함수의 미분을 가능하게 합니다.
- 이 법칙은 다변수 함수의 편미분에도 확장 적용될 수 있습니다.
- 연쇄법칙은 역함수의 미분을 구할 때도 유용합니다.
2.8 몫의 미분
관련 개념: 소프트맥스 함수
몫의 미분법칙 (quotient rule) 은 두 함수의 몫을 미분할 때 사용하는 규칙입니다. 두 함수 \(u(x)\)$와 \(v(x)\)$ 의 몫 \(f(x) = \frac{u(x)}{v(x)}\) 에 대한 미분은 다음과 같이 정의됩니다:
\[ f'(x) = \frac{u'(x)v(x) - u(x)v'(x)}{[v(x)]^2} \]
여기서
- \(f'(x)\) 는 \(f(x)\) 의 도함수입니다.
- \(u'(x)\) 는 \(u(x)\) 의 도함수입니다.
- \(v'(x)\) 는 \(v(x)\) 의 도함수입니다.
몫의 미분법칙은 복잡한 함수의 미분을 단순화하고, 다양한 수학적 문제를 해결하는 데 중요한 도구입니다. 이 법칙의 특징은 다음과 같습니다:
- 분자와 분모의 역할: 분자의 미분에 분모를 곱하고, 분모의 미분에 분자를 곱한 후, 이 두 값을 뺍니다.
- 분모의 제곱: 결과적으로 분모의 제곱이 분모로 들어갑니다.
- 적용 조건: 분모 \(v(x)\) 는 0 이 아니어야 합니다. 이는 함수가 정의되지 않는 점을 피하기 위함입니다.
2.9 적분
관련 개념: 확률밀도함수와 확률분포함수
적분은 고대 그리스의 아르키메데스가 처음 아이디어를 제시했으며, 이후 앙리 르베그와 같은 수학자들에 의해 이론적으로 완성되었습니다. 적분은 물리학, 공학, 경제학 등 다양한 분야에서 널리 사용되며, 예를 들어 곡면으로 이루어진 수영장을 채우기 위해 필요한 물의 양을 계산하는 데 활용될 수 있습니다.7
적분은 크게 두 가지로 나뉩니다: 부정적분과 정적분입니다. 부정적분은 함수의 원시함수를 찾는 과정이며, 정적분은 특정 구간에서의 함수의 값을 계산하는 과정입니다.8 적분의 주요 특징과 의미는 다음과 같습니다:
- 정의: 적분은 함수의 그래프 아래 면적을 계산하는 방법입니다.
- 종류:
- 부정적분: 함수의 원시함수를 찾는 과정
- 정적분: 특정 구간에서의 함수의 값을 계산하는 과정 9
- 정적분의 개념: 주어진 함수의 구간을 아주 작은 직사각형들로 나누어 그 넓이의 합을 구하는 방식입니다.
- 리만 적분: 가장 일반적으로 사용되는 적분 형식 중 하나로, 함수를 잘게 나누어 근사값을 구하는 방식입니다.
- 미적분학의 기본 정리: 미분과 적분이 서로 역연산 관계에 있음을 보여주는 중요한 정리입니다.10
- 응용: 적분은 물리학, 공학, 경제학 등 다양한 분야에서 사용되며, 면적, 부피, 일, 에너지 등 다양한 물리량을 계산하는 데 활용됩니다.
3 벡터와 행렬
3.1 벡터
관련개념: 덧셈, 뺄셈, 스칼라 곱셈, 편미분
벡터는 수학과 물리학에서 크기와 방향을 동시에 가지는 양을 나타내는 개념입니다. 벡터는 일반적으로 화살표로 표현되며, 시작점과 끝점을 통해 방향과 크기를 나타냅니다. 주요 특징은 다음과 같습니다:
- 크기와 방향: 벡터는 크기 (길이) 와 방향을 가지며, 이 두 가지 요소로 정의됩니다. 크기는 벡터의 길이를 나타내고, 방향은 벡터가 가리키는 방향을 나타냅니다.
- 자유벡터: 벡터는 시점 (시작점) 이 자유로울 수 있으며, 같은 크기와 방향을 가지면 동일한 벡터로 간주됩니다. 이러한 벡터를 자유벡터라고 합니다.
- 벡터의 연산: 벡터는 덧셈, 뺄셈, 스칼라 곱 등의 연산이 가능합니다. 이러한 연산을 통해 벡터의 크기와 방향을 조작할 수 있습니다.11
- 벡터 공간: 벡터는 벡터 공간의 원소로 간주되며, 벡터 공간은 벡터의 선형 결합으로 구성됩니다. 벡터 공간은 수학적 구조를 정의하는 데 중요한 역할을 합니다.
3.2 덧셈, 뺄셈, 스칼라 곱셈
관련개념: 길이와 거리
벡터의 덧셈과 뺄셈은 벡터의 결합과 분리를 나타내며, 스칼라 곱셈은 벡터의 크기를 조절하는 데 사용됩니다.12 각 연산의 정의는 다음과 같습니다:
벡터의 덧셈: 두 벡터 \(\mathbf{a}\) 와 \(\mathbf{b}\) 의 덧셈은 대응하는 성분끼리 더하는 것입니다. - 수식: \(\mathbf{a} + \mathbf{b} = (a_1 + b_1, a_2 + b_2, \ldots, a_n + b_n)\) - 특징: 벡터 덧셈은 교환법칙과 결합법칙이 성립합니다.
벡터의 뺄셈: 두 벡터 \(\mathbf{a}\) 와 \(\mathbf{b}\) 의 뺄셈은 대응하는 성분끼리 빼는 것입니다. - 수식: \(\mathbf{a} - \mathbf{b} = (a_1 - b_1, a_2 - b_2, \ldots, a_n - b_n)\) - 특징: 벡터 뺄셈은 벡터 덧셈과 유사하게 처리되며, 벡터의 방향을 반대로 하는 것과 같습니다.
스칼라 곱셈: 벡터 \(\mathbf{a}\) 에 스칼라 \(c\) 를 곱하는 것은 벡터의 각 성분에 \(c\) 를 곱하는 것입니다.
- 수식: \(c\mathbf{a} = (ca_1, ca_2, \ldots, ca_n)\)
- 특징: 스칼라 곱셈은 벡터의 크기를 변화시키며, 방향은 변하지 않습니다. 스칼라가 음수일 경우 벡터의 방향이 반대가 됩니다.
3.3 길이와 거리
벡터의 길이: 벡터의 길이 (또는 크기) 는 벡터가 나타내는 화살표의 길이를 의미하며, 이는 벡터의 각 성분의 제곱의 합의 제곱근으로 계산됩니다.
- 수식: 벡터 \(\mathbf{v} = (v_1, v_2, \ldots, v_n)\) 의 길이는 다음과 같이 정의됩니다: \[ \|\mathbf{v}\| = \sqrt{v_1^2 + v_2^2 + \ldots + v_n^2} \]
- 특징: 벡터의 길이는 항상 0 이상의 값을 가지며, 벡터가 원점에서 얼마나 떨어져 있는지를 나타냅니다.
벡터 간의 거리: 두 벡터 사이의 거리는 두 벡터를 연결하는 선분의 길이를 의미합니다. - 수식: 벡터 \(\mathbf{u} = (u_1, u_2, \ldots, u_n)\) 와 \(\mathbf{v} = (v_1, v_2, \ldots, v_n)\) 사이의 거리는 다음과 같이 정의됩니다: \[ \text{거리}(\mathbf{u}, \mathbf{v}) = \sqrt{(u_1 - v_1)^2 + (u_2 - v_2)^2 + \ldots + (u_n - v_n)^2} \] - 특징: 이 거리는 유클리드 거리로, 두 점 사이의 직선 거리를 측정하며, 항상 0 이상의 값을 가집니다.
3.4 삼각함수
관련개념: 내적
삼각함수는 삼각형의 각과 변의 관계를 나타내는 함수로, 주로 직각삼각형에서 정의됩니다.13 삼각함수의 주요 정의는 다음과 같습니다:
사인 (Sine, \(\sin\)): 직각삼각형에서 한 각의 사인은 그 각의 대변의 길이를 빗변의 길이로 나눈 값입니다.
코사인 (Cosine, \(\cos\)): 직각삼각형에서 한 각의 코사인은 그 각의 인접변의 길이를 빗변의 길이로 나눈 값입니다.
탄젠트 (Tangent, \(\tan\)): 직각삼각형에서 한 각의 탄젠트는 그 각의 대변의 길이를 인접변의 길이로 나눈 값입니다.
3.5 내적
관련개념: 코사인 유사도, 행렬과 행렬 연산, 경사하강법
내적은 두 벡터의 각 성분을 곱한 후 더하는 연산으로, 실수체에서는 이중선형 (bilinear) 함수로 정의됩니다. 이는 두 벡터의 방향이 얼마나 일치하는지를 나타냅니다.14 내적의 정의는 다음과 같습니다:
수식: 두 벡터 \(\mathbf{a} = (a_1, a_2, \ldots, a_n)\) 와 \(\mathbf{b} = (b_1, b_2, \ldots, b_n)\) 의 내적은 다음과 같이 계산됩니다: \[ \mathbf{a} \cdot \mathbf{b} = a_1b_1 + a_2b_2 + \ldots + a_nb_n \]
성질:
- 교환법칙: \(\mathbf{a} \cdot \mathbf{b} = \mathbf{b} \cdot \mathbf{a}\)
- 분배법칙: \(\mathbf{a} \cdot (\mathbf{b} + \mathbf{c}) = \mathbf{a} \cdot \mathbf{b} + \mathbf{a} \cdot \mathbf{c}\)
- 스칼라곱과의 호환성: \(c(\mathbf{a} \cdot \mathbf{b}) = (c\mathbf{a}) \cdot \mathbf{b} = \mathbf{a} \cdot (c\mathbf{b})\), 여기서 \(c\) 는 스칼라입니다.
3.6 코사인 유사도
코사인 유사도 (Cosine Similarity) 는 두 벡터 간의 유사도를 측정하는 방법으로, 두 벡터 사이의 코사인 각도를 이용하여 유사도를 계산합니다. 코사인 유사도는 벡터의 방향에 기반하여 유사성을 측정하기 때문에, 크기에 영향을 받지 않고 패턴이나 방향의 유사성을 평가하는 데 적합합니다. 따라서 자연어 처리 (NLP) 에서 문서 간의 유사도를 측정하거나 추천 시스템에서 아이템 간의 유사도를 계산하는 데 널리 사용됩니다. 코사인 유사도는 다음과 같은 특징을 가지고 있습니다:
정의: 코사인 유사도는 두 벡터가 이루는 각의 코사인을 계산하여 두 벡터의 방향이 얼마나 유사한지를 나타냅니다. 수식으로는 다음과 같이 표현됩니다: \[ \text{Cosine Similarity} = \frac{\mathbf{A} \cdot \mathbf{B}}{\|\mathbf{A}\| \|\mathbf{B}\|} \] 여기서 \(\mathbf{A} \cdot \mathbf{B}\) 는 두 벡터의 내적이고, \(\|\mathbf{A}\|\) 와 \(\|\mathbf{B}\|\) 는 각각 벡터의 크기 (길이) 입니다.
특징:
- 코사인 유사도는 -1 에서 1 사이의 값을 가지며, 1 에 가까울수록 두 벡터의 방향이 유사하다는 것을 의미합니다.
- 벡터의 크기보다는 방향에 초점을 맞추기 때문에, 문서의 길이가 다르거나 크기가 다른 벡터를 비교할 때 유용합니다 15
3.7 행렬과 행렬 연산
행렬은 수 또는 다항식 등을 직사각형 모양으로 배열한 것입니다. 행렬은 수학과 과학의 다양한 분야에서 사용되며, 특히 물리학, 컴퓨터 그래픽스, 확률론, 통계학 등에서 중요한 역할을 합니다. 행렬에 대한 주요 연산은 다음과 같습니다:
- 덧셈: 같은 크기의 두 행렬에 대해서만 정의되며, 대응하는 원소끼리 더합니다.
- 스칼라배: 행렬의 각 원소에 스칼라를 곱하는 연산입니다.
- 곱셈: 첫 번째 행렬의 열의 수와 두 번째 행렬의 행의 수가 같을 때 정의됩니다. 결과 행렬의 각 원소는 첫 번째 행렬의 행과 두 번째 행렬의 열의 원소를 곱한 후 합한 값입니다.
- 전치 행렬: 행과 열을 교환한 행렬입니다. 즉, 원래 행렬의 \(i\)- 행, \(j\)- 열의 원소가 전치 행렬에서는 \(j\)- 행, \(i\)- 열의 원소가 됩니다.16
- 역행렬: 정방행렬 (정사각 행렬) 에 대해서만 정의되며, 행렬 곱셈의 역원 역할을 합니다. 모든 정방행렬이 역행렬을 가지는 것은 아닙니다.
- 행렬식: 정방행렬에 대해 정의되는 값으로, 행렬의 특성을 나타냅니다. 기하학적으로는 행렬이 나타내는 변환의 부피 스케일링을 의미합니다.17
4 다변수 함수의 미분
4.1 다변수 함수
다변수 함수는 두 개 이상의 독립변수를 가지는 함수를 의미합니다. 단변수 함수의 개념을 고차원으로 확장한 것으로 더 복잡한 현상을 수학적으로 표현할 때 사용합니다. 주요 특징과 정의는 다음과 같습니다:
- 정의: 다변수 함수는 여러 개의 입력 변수를 받아 하나의 출력값을 반환하는 함수입니다. 일반적으로 다음과 같이 표현됩니다: \(f(x_1, x_2, ..., x_n) = y\) 여기서 \(x_1, x_2, ..., x_n\) 은 독립변수이고, \(y\) 는 종속변수입니다.
- 정의역: 다변수 함수의 정의역은 n 차원 공간의 부분집합입니다. 예를 들어, 2 변수 함수의 경우 정의역은 2 차원 평면의 일부가 됩니다.
- 치역: 함수의 출력값들의 집합으로 일반적으로 실수 집합의 부분집합입니다.
- 그래프: 다변수 함수의 그래프는 \(n+1\) 차원 공간에 존재합니다. 예를 들어, 2 변수 함수의 그래프는 3 차원 공간에 표현됩니다.
- 연속성과 미분가능성: 단변수 함수와 마찬가지로 다변수 함수도 연속성과 미분가능성을 가질 수 있습니다. 다만, 이를 판단하는 기준이 더 복잡해집니다.
- 편미분: 다변수 함수에서는 각 변수에 대한 편미분을 고려해야 합니다. 이는 다른 변수들을 상수로 취급하고 한 변수에 대해서만 미분하는 것을 의미합니다.
4.2 편미분
관련개념: 극한과 미분, 벡터, 전미분, 전미분과 함성함수
편미분은 다변수 함수에서 특정 변수에 대해 미분하는 것을 의미합니다. 편미분의 주요 특징과 정의는 다음과 같습니다:
- 정의: 다변수 함수 \(f(x, y, z, ...)\) 에서 한 변수에 대해서만 미분하고 나머지 변수들은 상수로 취급하여 미분하는 것입니다.
- 표기법: 편미분은 일반적으로 \(∂\) 기호를 사용하여 표현합니다. 예를 들어, \(f(x,y)\) 의 \(x\) 에 대한 편미분은 \(∂f/∂x\) 로 표기합니다.
- 계산 방법: 편미분을 계산할 때는 미분하려는 변수 이외의 모든 변수를 상수로 취급하고 일반적인 미분 규칙을 적용합니다.
- 기하학적 의미: 편미분은 다변수 함수의 그래프에서 특정 방향으로의 기울기를 나타냅니다.
- 전미분과의 관계: 모든 변수에 대한 편미분을 종합하여 전미분을 구할 수 있습니다.
편미분은 복잡한 다변수 함수의 동작을 이해하고 분석하는 데 중요한 도구로, 현대 과학과 공학의 여러 분야에서 핵심적인 역할을 합니다.
4.3 전미분
관련개념: 편미분, 극한과 미분, 전미분과 합성함수, 경사하강법
전미분은 다변수 함수의 변화량을 특정 지점에서 근사화하는 방법으로, 각 변수의 변화에 따른 함수 값의 총 변화를 나타냅니다. 전미분은 다변수 함수의 변화를 이해하고 분석하는 데 중요한 도구로, 특히 복잡한 시스템의 근사해를 구하는 데 유용합니다.18 전미분은 다음과 같이 정의할 수 있습니다:
정의: 다변수 함수 \(f(x_1, x_2, \ldots, x_n)\) 의 전미분은 각 변수의 작은 변화에 대한 함수의 총 변화량을 근사화하는 선형 표현입니다. 이는 함수의 변화량을 각 변수의 변화량에 비례하여 나타냅니다.
수식: 함수 \(f(x, y)\) 의 전미분은 다음과 같이 표현됩니다: \[ df = \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy \] 여기서 \(\frac{\partial f}{\partial x}\) 와 \(\frac{\partial f}{\partial y}\) 는 각각 \(x\) 와 \(y\) 에 대한 편미분이며, \(dx\) 와 \(dy\) 는 \(x\) 와 \(y\) 의 작은 변화량입니다.
기하학적 의미: 전미분은 함수의 그래프에서 접평면의 방정식을 구성하며, 이는 함수의 변화율을 각 변수 방향으로 나타내는 벡터의 합으로 이해할 수 있습니다.
4.4 전미분과 합성함수
전미분과 합성함수는 모두 복잡한 함수의 변화를 분석하는 데 중요한 도구입니다. 전미분은 다변수 함수의 전체적인 변화를 이해하는 데 사용되며, 합성함수는 여러 단계의 변환을 거치는 함수를 다룰 때 유용합니다.
전미분: 전미분은 다변수 함수의 모든 변수에 대한 변화를 동시에 고려한 미분입니다.
- 다변수 함수 \(f(x, y, ...)\) 의 전미분은 각 변수의 편미분을 모두 더한 형태로 표현됩니다.
- 예를 들어, 2 변수 함수 \(f(x, y)\) 의 전미분은 다음과 같이 정의됩니다: \[df = (∂f/∂x)dx + (∂f/∂y)dy\]
- 여기서 \(∂f/∂x\) 와 \(∂f/∂y\) 는 각각 \(x\) 와 \(y\) 에 대한 편미분이며, \(dx\) 와 \(dy\) 는 \(x\) 와 \(y\) 의 미소 변화량을 나타냅니다.
합성함수: 합성함수는 두 개 이상의 함수를 연속적으로 적용하여 만든 새로운 함수입니다.
- 함수 \(f\) 와 \(g\) 가 있을 때, \((g ∘ f)(x) = g(f(x))\) 로 정의되는 함수를 \(f\) 와 \(g\) 의 합성함수라고 합니다.
- 합성함수는 한 함수의 출력을 다른 함수의 입력으로 사용하는 것을 의미합니다.
- 합성함수의 미분에는 연쇄법칙이 적용됩니다. 즉, \((g ∘ f)'(x) = g'(f(x)) · f'(x)\) 입니다.
4.5 손실함수
관련개념: 미분과 적분, 편미분, 가능도함수와 최대가능도 추정, 경사하강법
손실함수는 모델이 예측한 값과 실제 정답 사이의 차이를 수치화하는 함수입니다. 이는 모델이 얼마나 잘못 예측하고 있는지를 측정하는 도구로, 학습 과정에서 모델의 성능을 개선하는 데 사용됩니다.
4.5.1 역할
- 성능 평가: 모델의 예측 정확도를 평가합니다.
- 학습 방향 제시: 손실값을 최소화하는 방향으로 모델을 조정합니다.
- 최적화 기준: 모델 파라미터를 조정하는 기준이 됩니다.
4.5.2 주요 손실함수 종류
회귀 문제에서의 손실함수:
- MSE (Mean Squared Error): 가장 기본적인 손실함수, 예측값과 실제값의 차이를 제곱하여 평균을 냄, 이상치에 민감할 수 있음.
- MAE (Mean Absolute Error): 예측값과 실제값의 절대 차이의 평균, MSE 에 비해 이상치에 덜 민감함.
- RMSE (Root Mean Squared Error): MSE 에 제곱근을 취한 값
분류 문제에서의 손실함수:
- 엔트로피 개념을 활용한 손실함수를 주로 사용합니다.
4.6 경사하강법
경사하강법 (Gradient Descent) 은 주어진 함수의 최소값을 찾기 위한 최적화 알고리즘입니다. 이 방법은 함수의 기울기 (gradient) 를 이용하여 함수의 값을 점진적으로 줄여나가는 방식으로 작동합니다. 경사하강법은 함수의 최적화 문제를 해결하는 데 중요한 도구로, 특히 기계 학습에서 모델의 학습과 최적화에 사용됩니다 .경사하강법의 주요 특징은 다음과 같습니다:
목적: 경사하강법은 함수의 최소값을 찾는 것을 목표로 합니다. 이는 손실 함수 (loss function) 를 최소화하는 데 사용되며, 특히 기계 학습에서 모델의 최적화에 널리 활용됩니다.
작동 원리:
- 함수의 현재 위치에서의 기울기를 계산합니다.
- 기울기의 반대 방향으로 일정한 크기 (step size 또는 learning rate) 만큼 이동합니다.
- 이 과정을 반복하여 함수의 값을 점진적으로 줄입니다.
수식:
- 변수 \(\theta\) 에 대해 경사하강법의 업데이트 규칙은 다음과 같이 표현됩니다: \[ \theta := \theta - \alpha \nabla f(\theta) \] 여기서 \(\alpha\) 는 학습률 (learning rate), \(\nabla f(\theta)\) 는 함수 \(f\) 의 \(\theta\) 에서의 기울기입니다.
변형: 경사하강법에는 여러 변형이 존재합니다. 예를 들어, 확률적 경사하강법 (Stochastic Gradient Descent, SGD) 은 데이터의 전체 집합 대신 무작위로 선택된 일부 데이터를 사용하여 기울기를 계산합니다.
5 지수함수와 로그함수
5.1 지수함수
관련개념: 로그함수, 시그모이드 함수, 소프트맥스 함수, 확률밀도함수와 확률분포함수
지수함수는 일반적으로 \(f(x) = a^x\) 형태로 표현되며, 여기서 \(a\) 는 양의 상수 (기저, base) 이고, \(x\) 는 지수입니다. 가장 흔히 사용되는 기저는 자연상수 \(e\) 로, 이 경우의 지수함수는 \(f(x) = e^x\) 입니다.
- 특징:
- 연속성과 미분 가능성: 지수함수는 모든 실수 \(x\) 에 대해 연속적이며 미분 가능합니다.
- 증가 또는 감소: 기저 \(a\) 가 1 보다 크면 함수는 증가하고, 0 보다 크고 1 보다 작으면 함수는 감소합니다.
- 고유한 미분 특성: 특히 \(f(x) = e^x\) 의 경우, 미분해도 자기 자신이 되는 고유한 성질을 가집니다. 즉, \(\frac{d}{dx} e^x = e^x\).
5.2 로그함수
관련개념: 합성함수와 역함수, 로그함수와 미분, 가능도함수와 최대가능도 추정
로그함수는 지수함수의 역함수로 정의되며, 다음과 같은 특징을 가집니다:
정의: 로그함수는 일반적으로 \(y = \log_a x\) 형태로 표현됩니다. 여기서 \(a\) 는 로그의 밑 (base) 이며, \(x\) 는 진수입니다. 이는 \(a^y = x\) 와 동일한 의미를 가집니다.
주요 성질:
- 로그함수는 양수에 대해서만 정의됩니다. 즉, \(x > 0\) 일 때만 정의됩니다.
- \(\log_a 1 = 0\) (모든 양의 실수 \(a\) 에 대해)
- \(\log_a a = 1\)
- 로그함수는 단조 증가 함수입니다.
단조 증가 함수란 x 값이 증가할 때 y 값도 항상 증가하거나 같은 값을 유지하는 함수를 말합니다. 이 성질 때문에 로그함수는 넓은 범위의 값을 좁은 범위로 압축하는 데 유용하게 사용됩니다. 예를 들어, 지진의 규모나 소리의 강도를 표현하는 데 사용됩니다.
- 특별한 경우:
- 자연로그: \(\ln x = \log_e x\) (밑이 자연상수 \(e\) 인 경우)
- 상용로그: \(\log x = \log_{10} x\) (밑이 10 인 경우)
- 로그의 성질:
- 곱의 로그: \(\log_a (xy) = \log_a x + \log_a y\)
- 몫의 로그: \(\log_a (x/y) = \log_a x - \log_a y\)
- 거듭제곱의 로그: \(log_a (x^n) = n \log_a x\)
5.3 로그함수의 미분
관련개념: 극한과 미분, 지수함수의 미분, 가능도함수와 최대가능도 추정
로그함수의 미분은 다음과 같이 정의됩니다:
자연로그 함수 \(ln(x)\) 의 미분: \[ \frac{d}{dx} \ln(x) = \frac{1}{x}, \quad x > 0 \]
일반적인 로그함수 \(log_a(x)\) 의 미분: \[ \frac{d}{dx} \log_a(x) = \frac{1}{x \ln(a)}, \quad x > 0, a > 0, a \neq 1 \]
로그함수의 주요 특징은 다음과 같습니다:
- 로그함수의 미분은 항상 함수 자체의 역수에 비례합니다.
- 자연로그의 경우, 미분 결과가 단순히 \(1/x\) 로 나타납니다. 이는 자연로그가 미분 관점에서 가장 단순한 형태를 가진다는 것을 보여줍니다.
- 일반 로그함수의 경우, 밑 (base) 에 따라 추가적인 상수 \(1/ln(a)\) 가 곱해집니다.
- 로그함수의 미분은 \(x > 0\) 인 양수 영역에서만 정의됩니다. 이는 로그함수 자체가 양수 영역에서만 정의되기 때문입니다.
- 로그함수의 미분은 \(x\) 가 증가함에 따라 감소하는 형태를 보입니다. 이는 로그함수의 증가 속도가 \(x\) 가 커질수록 느려짐을 의미합니다.
5.4 지수함수의 미분
지수함수의 미분은 다음과 같이 정의됩니다:
자연지수 함수 \(e^x\) 의 미분: \[ \frac{d}{dx} e^x = e^x \] 이는 자연지수 함수의 가장 중요한 특징 중 하나로, 미분해도 자기 자신이 됩니다.
일반적인 지수함수 a^x 의 미분 (\(a > 0, a ≠ 1\)): \[ \frac{d}{dx} a^x = a^x \ln(a) \]
이 정의의 주요 특징은 다음과 같습니다:
- 지수함수의 미분은 항상 자기 자신에 비례합니다. 이는 지수함수의 성장률이 함수값에 비례한다는 것을 의미합니다.
- 자연지수 함수 \(e^x\) 의 경우, 미분 결과가 단순히 자기 자신이 됩니다. 이는 \(e^x\) 가 미분 관점에서 가장 단순한 형태를 가진다는 것을 보여줍니다.
- 일반 지수함수의 경우, 밑 (base) 에 따라 추가적인 상수 \(ln(a)\) 가 곱해집니다.
- 지수함수의 미분은 모든 실수에 대해 정의되며, 항상 양수입니다 (\(a > 0\) 인 경우).
- 지수함수의 미분은 \(x\) 가 증가함에 따라 지수적으로 증가하는 형태를 보입니다. 이는 지수함수의 성장 속도가 \(x\) 가 커질수록 빨라짐을 의미합니다.
5.5 시그모이드 함수
관련개념: 다항식의 미분, 지수함수의 미분, 합성함수의 미분, 로그함수
시그모이드 함수 (Sigmoid function) 는 S 자 모양의 곡선을 그리는 함수로, 주로 기계학습과 신경망에서 활성화 함수로 사용됩니다. 시그모이드 함수의 정의와 주요 특징은 다음과 같습니다:
정의: 시그모이드 함수는 일반적으로 다음과 같이 정의됩니다: \[ f(x) = \frac{1}{1 + e^{-x}} \] 여기서 \(e\) 는 자연상수 (약 2.71828) 입니다.
특징:
- 함수의 출력 범위는 0 에서 1 사이입니다.
- \(x\) 가 음의 무한대로 갈 때 함수값은 0 에 가까워지고, 양의 무한대로 갈 때 1 에 가까워집니다.
- \(x = 0\) 일 때 함수값은 0.5 입니다.
- 함수는 연속적이며 모든 점에서 미분 가능합니다.
미분: 시그모이드 함수의 미분은 다음과 같습니다: \[ f'(x) = f(x)(1 - f(x)) \] 이 특성은 신경망의 역전파 알고리즘에서 중요하게 사용됩니다.
5.6 소프트맥스 함수
관련개념: 합성함수의 미분, 시그모이드함수, 몫의 미분, 편미분
소프트맥스 함수는 다중 클래스 분류 문제에서 주로 사용되는 함수로, 주어진 입력 벡터를 확률 분포로 변환하는 역할을 합니다. 이 함수는 다음과 같은 특징과 정의를 가집니다:
정의: 소프트맥스 함수는 \(k\) 차원의 입력 벡터 \(z\) 를 받아 각 클래스에 대한 확률을 계산합니다. 각 클래스 \(i\) 에 대한 확률 \(p_i\) 는 다음과 같이 정의됩니다:
\[ p_i = \frac{e^{z_i}}{\sum_{j=1}^{k} e^{z_j}} \]
여기서 \(e\) 는 자연상수이고, \(z_i\) 는 입력 벡터의 \(i\) 번째 요소입니다.
특징:
- 확률 분포: 소프트맥스 함수의 출력은 확률 분포를 이루며, 모든 출력 값의 합은 1 이 됩니다.
- 분류 작업: 각 요소가 특정 클래스에 속할 확률을 나타내므로, 다중 클래스 분류 작업에 적합합니다.19
응용:
- 신경망의 출력층: 신경망에서 소프트맥스 함수는 출력층에 사용되어 각 클래스에 대한 확률을 계산합니다.
- 역전파 가능: 미분 가능하기 때문에 신경망의 학습 과정에서 역전파 알고리즘을 통해 최적화할 수 있습니다.20
6 확률과 통계
6.1 확률변수와 확률 분포
확률변수는 확률적인 결과에 따라 값이 바뀌는 변수를 의미합니다. 이는 확률실험의 가능한 결과에 수치적 값을 할당하는 함수로 이해할 수 있습니다. 확률변수는 다음과 같은 유형으로 나뉩니다:
- 이산확률변수: 가능한 값이 유한하거나 셀 수 있는 경우. 예를 들어, 주사위를 던졌을 때 나오는 숫자.
- 연속확률변수: 가능한 값이 연속적인 경우. 예를 들어, 특정 구간 내에서의 온도 측정값.
확률변수는 측정 가능한 함수로, 확률공간에서 정의되며, 일반적으로 실수값을 가집니다.21
확률 분포는 확률변수가 취할 수 있는 값과 그 값이 발생할 확률을 나타내는 함수입니다. 확률 분포는 확률변수의 유형에 따라 다음과 같이 구분됩니다:
- 이산확률분포: 이산확률변수의 확률 분포로, 각 가능한 값에 대해 확률을 할당합니다. 예를 들어, 이항분포, 포아송분포 등이 있습니다.
- 연속확률분포: 연속확률변수의 확률 분포로, 확률 밀도 함수를 통해 정의됩니다. 예를 들어, 정규분포, 지수분포 등이 있습니다.
확률 분포는 확률변수의 특성을 설명하고, 데이터 분석 및 예측 모델링에 필수적인 역할을 합니다.
6.2 확률밀도함수와 확률분포함수
확률밀도함수 (Probability Density Function, PDF): 확률밀도함수는 연속 확률변수의 확률 분포를 나타내는 함수입니다. 특정 구간 내에서 확률변수가 취할 수 있는 값의 확률을 나타내며, 특정 값에서의 확률은 정의되지 않습니다.
- 확률밀도함수의 적분은 확률을 나타내며, 전체 영역에 대한 적분은 1 이 됩니다.
- 특정 구간 \([a, b]\) 에서 확률변수가 존재할 확률은 확률밀도함수를 해당 구간에서 적분한 값으로 계산됩니다.
- 특정 값에서의 확률은 0 이지만, 구간을 통해 확률을 계산합니다.22
확률분포함수 (Probability Distribution Function, CDF): 확률분포함수는 확률변수가 특정 값 이하일 확률을 나타내는 함수입니다. 이산 확률변수와 연속 확률변수 모두에 대해 정의됩니다.
- 확률분포함수는 단조 증가 함수이며, 0 에서 1 사이의 값을 가집니다.
- 연속 확률변수의 경우, 확률밀도함수의 적분으로 표현할 수 있습니다.
- 이산 확률변수의 경우, 각 값의 확률을 누적하여 나타냅니다.
6.3 가능도함수와 최대가능도 추정
관련개념: 극대와 극소, 로그함수, 로그함수의 미분, 확률밀도함수와 확률분포함수
가능도 함수 (Likelihood Function): 가능도 함수는 주어진 데이터가 특정한 확률 분포를 따를 확률을 나타내는 함수입니다. 이는 주로 모수 추정에서 사용되며, 특정 모수 값이 주어졌을 때 관측된 데이터가 발생할 가능성을 계산합니다.
- 표기: 일반적으로 가능도 함수는 \(L(\theta | x)\) 로 표현되며, 여기서 \(\theta\) 는 모수 (parameter), \(x\) 는 관측된 데이터입니다.
- 특징: 가능도 함수는 확률 분포의 모수에 대한 함수로, 데이터가 주어졌을 때 모수가 어떤 값을 가질 가능성이 높은지를 평가합니다.
최대가능도 추정 (Maximum Likelihood Estimation, MLE): 최대가능도 추정은 가능도 함수를 최대화하는 모수 값을 찾는 방법입니다. 즉, 주어진 데이터에 대해 가장 가능성이 높은 모수 값을 추정하는 방법입니다.
- 방법: MLE 는 가능도 함수의 최대값을 찾는 최적화 문제로, 보통 미분을 통해 가능도 함수의 극대점을 찾습니다.
- 응용: MLE 는 다양한 통계 모델에서 모수 추정에 널리 사용되며, 특히 회귀 분석, 분류 문제, 베이지안 통계 등에서 중요한 역할을 합니다.
7 Reference
Footnotes
https://thebook.io/007019/↩︎
https://darkpgmr.tistory.com/45↩︎
https://darkpgmr.tistory.com/45↩︎
https://namu.wiki/w/%ED%95%A8%EC%88%98↩︎
https://holymath.tistory.com/entry/%ED%95%A9%EC%84%B1%ED%95%A8%EC%88%98%EC%9D%98-%EA%B8%B0%EB%B3%B8%EC%84%B1%EC%A7%88↩︎
https://namu.wiki/w/%ED%95%A8%EC%88%98↩︎
https://ko.wikipedia.org/wiki/%EC%A0%81%EB%B6%84↩︎
https://namu.wiki/w/%EC%A0%81%EB%B6%84↩︎
https://unolab.tistory.com/entry/%EC%A0%81%EB%B6%84%EC%9D%98-%EC%A0%95%EC%9D%98-%EC%A0%95%EC%A0%81%EB%B6%84%EC%9D%98-%EC%A0%95%EC%9D%98↩︎
https://www.youtube.com/watch?v=LEr4RdMxpLY↩︎
https://www.youtube.com/watch?v=LsQoiETuBBc↩︎
https://angeloyeo.github.io/2020/09/07/basic_vector_operation.html↩︎
https://blog.naver.com/pss2072/220798287435↩︎
https://namu.wiki/w/%EB%82%B4%EC%A0%81↩︎
https://wikidocs.net/24603↩︎
http://bigdata.dongguk.ac.kr/lectures/disc_math/_book/matrix.html↩︎
https://minusi.tistory.com/entry/%ED%96%89%EB%A0%AC-%EB%8C%80%EC%88%98↩︎
https://namu.wiki/w/%EB%AF%B8%EB%B6%84%ED%98%95%EC%8B%9D↩︎
https://syj9700.tistory.com/38↩︎
https://hyunhp.tistory.com/696↩︎
https://www.datadata.link/qa66/↩︎
https://www.youtube.com/watch?v=S1WIW662LJQ↩︎