[ML] 행렬 분해

이정연·5일 전

ML

목록 보기
2/7

공부 기록

고유기저, 정규직교 기저

  • 열벡터와 정규직교성 : 실수정방행렬이 직교행렬일 필요충분조건은 열벡터가 (또한 행벡터들이 마찬가지로)정규직교계를 형성하는 것이다. ⇒ 정방행렬의 열벡터들은 길이가 1이고 서로 수직(내적이 0이어야함)
  • 고유기저: nn x nn 정방행렬 A\mathbf A의 고유벡터들이 Rn\mathbf {R^n}의 기저를 이룰 때 (=1차독립인 벡터개수가 n) 이때의 고유벡터들을 고유기저라고 함.
  • nn x nn 정방행렬 A\mathbf A가 n\mathbf n개의 서로 다른 고유값을 가지면 이 행렬의 고유벡터들은 Rn\mathbf {R^n}의 기저가 됨
  • 대칭행렬은 고유벡터로 구성된 Rn\mathbf {R^n}의 정규직교 기저를 가짐

행렬의 유사성과 대각화

  • A^=P−1AP\mathbf {\hat A = P^{-1}AP}
  • A^\mathbf {\hat A} 는 A\mathbf A 와 유사하다.
  • 유사변환: A\mathbf A로부터 A^\mathbf {\hat A }를 얻는 변환
  • A\mathbf A 와 A^\mathbf {\hat A }
    • 두 행렬의 행렬식은 같다 → 행렬식의 성질 (곱하는 순서가 바뀌어도 상관없음)
    • 두 행렬은 같은 고유값을 갖는다. ⇒ Ax=λx−>A^y=λy\mathbf {Ax = \lambda x -> \hat A y = \lambda y} 가 성립해야함. (← 행렬의 고유값, 고유벡터) ⇒ y=p−1x\mathbf {y=p^{-1}x}: A^\hat A 의 고유벡터
    • 두 행렬의 대각합은 항상 같다

고유값 분해

  • 대각화: nn x nn 행렬 A\mathbf A가 고유기저를 가지면 이들 고유벡터를 열벡터로 하는 행렬 X\mathbf X 에 대해 D=X−1AX\mathbf {D = X^{-1}AX}는 대각행렬이 되고, A\mathbf A의 고유값들이 주대각의 원소가 됨.
  • Dm=X−1AmX\mathbf {D^m = X^{-1}A^mX} 이성립함
  • 대각합
    • tr(AB) = tr(BA) *행렬 세 개의 곱으로 구할 때는 주의해야함
      • tr(ABC)=tr(BCA)=tr(CAB)tr(ABC)=tr(BCA)=tr(CAB): 행렬 세 개일 때
      • tr(A)=tr(PDP−1)=tr(PDPT)tr(A) = tr (PDP^{-1}) = tr(PDP^T)
    • 대칭행렬의 대각합은 고윳값의 합과 같다.
      • tr(PDP−1)=tr(P−1PD)=tr(D)tr (PDP^{-1}) = tr (P^{-1}PD) = tr(D) : 위의 성질 때문에 이렇게 증명 가능함
      • 대칭행렬은 PDP−1=PDPTPDP^{-1} = PDP^T (*P는 직교행렬이기 때문)
    • 유사행렬의 trace는 항상 같다

특이값 분해(SVD)

  • UΣ=AV\mathbf {UΣ = AV} : 에서 A가 뭔지 알기위해 이렇게 하는 것. V는 직교행렬이니 양변에 전치 곱해서 A를 구할 수 있음
  • 고윳값 분해 vs SVD
    • SVD는 정규 직교 기저 사용, 고윳값 분해는 직교가 아니어도 됨.
    • 고윳값 분해는 정방행렬에서만 가능하고, SVD는 모든 행렬에 적용 가능함
    • 고윳값 분해는 AkA^k와 같은 계산에 사용하고 SVD는 그 자체를 분석할 때 사용함
  • 행렬 근사: r<k에 대해서 계산 → 근사할 수 있음 (연산량 줄이기)
profile
아 몰라몰라 안해안해

2개의 댓글

comment-user-thumbnail
4일 전

행렬 분해는 봐도 봐도 헷갈려요

1개의 답글