행렬 미분 Review
(프로그래머스 Week6-Day4 과정)
추가 참고자료 : (수식 사진은 여기서 가져왔습니다) https://datascienceschool.net/02%20mathematics/04.04%20%ED%96%89%EB%A0%AC%EC%9D%98%20%EB%AF%B8%EB%B6%84.html#
(사실상 다변수 미분이라 표현하고 싶지만, 행렬 자체로 빠르게 표현하기 좋은 상황이 많다)
여러개의 입력을 가지는 다변수 함수이거나, 혹은 하나의 변수로 벡터나 행렬을 출력하는 함수가 있을 것이다. 이러한 함수에서 미분이 어떻게 정의되는지를 확인하고 자주 사용하는 행렬의 미분 법칙을 증명한다.
벡터 -> 스칼라 (n차원 -> 1차원)으로 가는 함수의 경우 : Gradient
이러한 함수의 예시는 f(x. y) = x^2 + xy + y^2 같은 형태일 것이다.
이러한 함수의 경우는 각 변수별로 편미분을 하여 벡터의 형태로 표현한다. 이를 Gradient Vector이라고 한다.
이변수 함수의 경우, 좌표평면의 임의의 점 (x, y)에서 Gradient의 방향을 그림으로 그릴 수 있을 것이다.
특정 위치에서 x, y 값의 증감 방향/정도로 벡터의 방향이 나타날 것이다.
Gradient Vector의 특징
- 기본적으로, Gradient는 기울기를 의미하게 된다.
- Gradient의 방향은 함수 곡면의 기울기가 가장 큰 방향을 가리키게 된다.
가중치 벡터 w=(w1, .... wn), x벡터 (x1... xn)이 주어졌을 때, 두 벡터의 내적은 w의 tranpose에 x를 곱한 것이다.
이를 gradient시키면 가중치 벡터만 나옴은 당연하다. 따라서, 다음이 성립한다.
행렬의 미분법칙 1
비슷한 방법으로, 행렬을 직접 쪼개 계산하면 다음을 얻을 수 있다.
행렬의 미분법칙 2
스칼라 -> 벡터의 경우
하나의 변수에 대해서, f1, f2, ... fn 함수를 계산하는 경우다. 각 함수에 대해 스칼라로 미분하고, 이를 행벡터로 표현한다.
형태일 때,
벡터 -> 벡터의 경우
주의. Jacobian과 방향을 헷갈릴 수 있다. Jacobian이 좀 더 중요한 역할이나...
벡터를 입력받아, 벡터를 출력하는 형식으로 f(x1... xm) = (f1, f2, ... fn)의 형태를 고려하게 된다.
행렬의 미분법칙 3 - Jacobian Matrix
행렬과 벡터의 곱을 미분을 할 경우는 다음과 같이 계산된다. 특히 도함수 행렬을 Jacobian이라고 하게 된다.
또한, Hessian Matrix의 경우는 Gradient Vector의 Jacobian으로 정의한다. 이를 풀어쓰면,
Applications
1) 행렬 곱의 대각 성분
이것이 성립하는 이유는 trace를 계산할 경우 Xij 성분과 곱해지는 애는 Wji 밖에 없다. 따라서 위의 식을 얻게 된다.
2) 행렬식의 로그
3) 최소제곱법의 증명
선형 회귀 문제와 연관, Ax =b 에서 ||Ax-b||를 최소화 시키는 x를 찾는 것이 목표이다. 이 때, A는 행렬, b는 벡터가 될 것이다.
이를 최소화 시키는 문제는 norm의 제곱값의 최소화와 동일할 것이다.
로 계산되므로, 이를 x에 대해 미분하면 된다.
미분해서 0이 나오는 값이, 극값이 될 것이다.
위의 법칙을 적용하면 다음과 같이 계산이 된다. 여기서 A^T*A 는 전치를 취해도 자기 자신이 나오고 이 형태 또한 행렬 형태임에 주의하여 계산하면 된다.
따라서 이 값이 0이 되는 점을 확인하면 다음과 같이 주어지고, 이는 실제로 최소값의 위치까지 띄게됨 또한 확인할 수 있다. (이차함수 형태의 극값을 생각하면 최소점임을 직관적으로 알 수 있다. 그러나 사실 정말 최솟값이지는 엄밀하게 수학적으로 증명해야 하나, 이 글에서는 해당 과정은 생략한다)
'Archive > 수학 & 통계학 관련' 카테고리의 다른 글
[Prob] 베이즈 추정법이란? (0) | 2021.06.08 |
---|---|
[Prob] 베타분포와 디리클레분포 (0) | 2021.06.07 |
[Prob] 우도(가능도) 최대우도 추정법 (0) | 2021.05.27 |
[Stat] 선형회귀분석이란? (0) | 2021.05.26 |
[Stat] Inverse CDF technique (0) | 2021.05.24 |