欲速不達

일을 급히 하고자 서두르면 도리어 이루지 못한다.

Fantastic AI, Fantastic World

DS | Data Science/Statistics & Math

[Linear Algebra] Part16. 대각합 (Trace)

_껀이_ 2024. 1. 9. 01:58
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. 성질

  1. $tr(A+B)=tr(A)+tr(B)$
  2. $tr(cA)=c\; tr(A)$
  3. $tr(A^{T})=tr(A)$
    • 대각성분의 합이기 때문에 transpose를 해도 같다.
  4. $tr(AB)=tr(BA)$ (단, $A_{n\times m}$일때 $B_{m\times n}$ 이어야 한다.)
    • trace는 정사각행렬에 대해 정의된 개념이다.
    • $AB$와 $BA$가 같은 크기($n\times n$ 또는 $m\times m$ )의 행렬이어야 정사각행렬이 되기 때문이다.
  5. $tr(a^{T}b)=tr(ba^{T})$
    • 5의 개념을 벡터의 내적 개념으로 전환한 것이다. $A$ 또는 $B$를 열벡터, 행벡터로 생각하면 같다.
  6. $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$가 정사각행렬이 보장되지 않는다.
  7. $tr(A)=\sum_{1}^{n}\lambda_{i}$
    • $\lambda_{i}$은 고윳값이다.
    • $tr(A)$는 고윳값들의 합이다. ($det(A)$는 고윳값들의 곱이다.)

 

 

728x90
반응형