728x90
반응형
대각합(Trace)에 대해 정리해보자.
대각합은 말 그대로 행렬의 대각선 성분의 합을 말한다.
단순해 보이는 이 개념은 모델의 최적화 부분에서 중요한 역할을 한다.
1. 대각합 : Trace
우선 최적화 관점에서 보자.
최적화를 할때, loss function을 최소화하는게 그 목적이 된다. 그런데 loss function에서 다루는 데이터는 행렬 형태의 데이터이기 때문에, 이를 미분하여 값(크기)로 만들어야 최소화할 수 있다. 행렬의 크기가 작으면 간단하게 미분이 되겠지만 크기가 커질수록 복잡해지는데, 이때 대각합(trace)을 미분할 때 사용할 수 있다.
이렇듯 모델 최적화에서도 쓰이는 대각합(trace)에 대해 정리해보겠다.
대각합의 정의는 "정사각행렬 A에서 행렬의 대각선 성분(diagonal elements)의 합"이다.
수식을 나타내면 다음과 같다.
$$ tr(A)=\sum_{i}^{n}a_{ii}=k $$
위의 식에서 구해진 $k$는 스칼라이다.
이처럼 스칼라 값으로 나오기 때문에 최적화 시에 최소화하는 방향으로 연산할 수 있게 된다.
*** loss 값은 스칼라값이기 때문에 $tr(loss)=loss$가 된다.
2. 성질
- $tr(A+B)=tr(A)+tr(B)$
- $tr(cA)=c\; tr(A)$
- $tr(A^{T})=tr(A)$
- 대각성분의 합이기 때문에 transpose를 해도 같다.
- $tr(AB)=tr(BA)$ (단, $A_{n\times m}$일때 $B_{m\times n}$ 이어야 한다.)
- trace는 정사각행렬에 대해 정의된 개념이다.
- $AB$와 $BA$가 같은 크기($n\times n$ 또는 $m\times m$ )의 행렬이어야 정사각행렬이 되기 때문이다.
- $tr(a^{T}b)=tr(ba^{T})$
- 5의 개념을 벡터의 내적 개념으로 전환한 것이다. $A$ 또는 $B$를 열벡터, 행벡터로 생각하면 같다.
- $tr(ABCD)=tr(BCDA)=tr(CDAB)=tr(DABC)$ : Cyclic Property
- 5의 개념을 연속적으로 적용한 것이다.
- $tr(ABCD)=tr(A(BCD))=tr((BCD)A)=tr(BCDA)$
- 단, $A_{n\times m}$이면, $D_{?\times n}$이어야 한다. tr()은 정사각행렬이 들어가야 하기 때문이다.
- $tr(ABCD)\neq tr(ACBD)$
- 행렬 $A$, $B$, $C$, $D$의 크기가 각각 $n\times m$, $m\times k$, $k\times s$, $s\times n$일때, $CB$는 정사각행렬이 보장되지 않는다.
- 그러므로, $ACBD$가 정사각행렬이 보장되지 않는다.
- $tr(A)=\sum_{1}^{n}\lambda_{i}$
- $\lambda_{i}$은 고윳값이다.
- $tr(A)$는 고윳값들의 합이다. ($det(A)$는 고윳값들의 곱이다.)
728x90
반응형
'DS | Data Science > Statistics & Math' 카테고리의 다른 글
[Linear Algebra] Part17. 고윳값(Eigen Value)과 고유벡터(Eigen Vector) (2) | 2024.01.10 |
---|---|
[Linear Algebra] Part16. 최소자승법(Least Squares)과 정사영행렬(Projection Matrix) (1) | 2024.01.09 |
[Linear Algebra] Part15. 행렬식 (Determinant) (2) | 2024.01.09 |
[Linear Algebra] Part14. 역행렬 (Inverse Matrix) (1) | 2024.01.08 |
[Linear Algebra] Part13. 가우스-조던 소거법(Gauss-Jordan Elimination) (0) | 2024.01.08 |