728x90
반응형
대각합(Trace)에 대해 정리해보자.
대각합은 말 그대로 행렬의 대각선 성분의 합을 말한다.
단순해 보이는 이 개념은 모델의 최적화 부분에서 중요한 역할을 한다.
1. 대각합 : Trace
우선 최적화 관점에서 보자.
최적화를 할때, loss function을 최소화하는게 그 목적이 된다. 그런데 loss function에서 다루는 데이터는 행렬 형태의 데이터이기 때문에, 이를 미분하여 값(크기)로 만들어야 최소화할 수 있다. 행렬의 크기가 작으면 간단하게 미분이 되겠지만 크기가 커질수록 복잡해지는데, 이때 대각합(trace)을 미분할 때 사용할 수 있다.
이렇듯 모델 최적화에서도 쓰이는 대각합(trace)에 대해 정리해보겠다.
대각합의 정의는 "정사각행렬 A에서 행렬의 대각선 성분(diagonal elements)의 합"이다.
수식을 나타내면 다음과 같다.
tr(A)=n∑iaii=k
위의 식에서 구해진 k는 스칼라이다.
이처럼 스칼라 값으로 나오기 때문에 최적화 시에 최소화하는 방향으로 연산할 수 있게 된다.
*** loss 값은 스칼라값이기 때문에 tr(loss)=loss가 된다.
2. 성질
- tr(A+B)=tr(A)+tr(B)
- tr(cA)=ctr(A)
- tr(AT)=tr(A)
- 대각성분의 합이기 때문에 transpose를 해도 같다.
- tr(AB)=tr(BA) (단, An×m일때 Bm×n 이어야 한다.)
- trace는 정사각행렬에 대해 정의된 개념이다.
- AB와 BA가 같은 크기(n×n 또는 m×m )의 행렬이어야 정사각행렬이 되기 때문이다.
- tr(aTb)=tr(baT)
- 5의 개념을 벡터의 내적 개념으로 전환한 것이다. A 또는 B를 열벡터, 행벡터로 생각하면 같다.
- tr(ABCD)=tr(BCDA)=tr(CDAB)=tr(DABC) : Cyclic Property
- 5의 개념을 연속적으로 적용한 것이다.
- tr(ABCD)=tr(A(BCD))=tr((BCD)A)=tr(BCDA)
- 단, An×m이면, D?×n이어야 한다. tr()은 정사각행렬이 들어가야 하기 때문이다.
- tr(ABCD)≠tr(ACBD)
- 행렬 A, B, C, D의 크기가 각각 n×m, m×k, k×s, s×n일때, CB는 정사각행렬이 보장되지 않는다.
- 그러므로, ACBD가 정사각행렬이 보장되지 않는다.
- tr(A)=∑n1λi
- λ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 |