더 읽을 거리

이 장의 내용 대부분은 기초 수학을 확립하고 이를 사상(mapping)을 연구하는 방법들과 연결하는데, 이들 중 다수는 머신러닝 이론의 거의 모든 것을 위한 구성 요소이자 소프트웨어 솔루션을 뒷받침하는 수준에서 머신러닝의 핵심에 있다. 행렬식, 고유 스펙트럼(eigenspectra), 그리고 고유공간(eigenspaces)을 이용한 행렬의 특성화는 행렬을 분류하고 분석하기 위한 근본적인 특징과 조건들을 제공한다. 이것은 데이터와 데이터를 포함하는 사상의 모든 형태의 표현뿐만 아니라, 그러한 행렬들에 대한 계산 연산의 수치적 안정성을 판단하는 것으로 확장된다.
$\quad$ 행렬식은 역행렬을 구하고 ‘손으로’ 고유값을 계산하기 위한 근본적인 도구이다. 하지만, 아주 작은 경우를 제외하고는 가우스 소거법에 의한 수치 계산이 행렬식보다 성능이 뛰어나다. 그럼에도 불구하고 행렬식은 강력한 이론적 개념으로 남는데, 예를 들어 행렬식의 부호를 통해 기저의 방향(orientation)에 대한 직관을 얻을 수 있다. 고유벡터는 데이터를 의미 있는 직교 특징 벡터들의 좌표로 변환하기 위한 기저 변경을 수행하는 데 사용될 수 있다. 비슷하게, 숄레스키 분해와 같은 행렬 분해 방법들은 우리가 무작위 사건을 계산하거나 시뮬레이션할 때 자주 다시 등장한다. 따라서, 숄레스키 분해는 우리가 확률 변수에 대해 연속적인 미분을 수행하고자 하는 재매개변수화 트릭(reparametrization trick)을 계산할 수 있게 해주는데, 이는 예를 들어 변분 오토인코더(Variational Autoencoders, VAE)에서 사용된다.
$\quad$ 고유값 분해는 선형 사상을 특징짓는 의미 있고 해석 가능한 정보를 추출할 수 있게 해주는 근본적인 것이다. 따라서, 고유값 분해는 양의 정부호 커널의 고유값 분해를 수행하는 스펙트럴 방법(spectral methods)이라 불리는 머신러닝 알고리즘들의 일반적인 클래스의 기초가 된다. 이러한 스펙트럴 분해 방법들은 다음과 같은 통계적 데이터 분석에 대한 고전적인 접근법들을 포괄한다.

  • 주성분 분석 (Principal Component Analysis, PCA): 데이터의 변동성 대부분을 설명하는 저차원 부분공간을 찾는다.
  • 피셔 판별 분석 (Fisher Discriminant Analysis): 데이터 분류를 위한 분리 초평면을 결정하는 것을 목표로 한다.
  • 다차원 척도법 (Multidimensional Scaling, MDS).
    이러한 방법들의 계산 효율성은 전형적으로 대칭 양의 반정부호(positive semidefinite) 행렬에 대한 최적의 랭크- $k$ 근사를 찾는 것에서 온다. 스펙트럴 방법의 더 현대적인 예시들은 서로 다른 기원을 가지지만, 그것들 각각은 아이소맵(Isomap), 라플라시안 고유맵(Laplacian eigenmaps), 헤시안 고유맵(Hessian eigenmaps), 그리고 스펙트럴 클러스터링(spectral clustering)과 같은 양의 정부호 커널의 고유벡터와 고유값 계산을 필요로 한다. 이것들의 핵심 계산은 일반적으로 우리가 여기서 SVD를 통해 접했던 저랭크 행렬 근사 기법들에 의해 뒷받침된다.
    $\quad$ SVD는 우리가 고유값 분해와 같은 종류의 정보 중 일부를 발견할 수 있게 해준다. 하지만, SVD는 비정방 행렬과 데이터 테이블에 더 일반적으로 적용 가능하다. 이러한 행렬 분해 방법들은 우리가 데이터 내의 이질성을 식별하고 싶을 때, 근사를 통해 데이터 압축을 수행하고 싶을 때(예: $n \times m$ 값들을 저장하는 대신 $(n+m)k$ 값들만 저장), 또는 데이터 전처리를 수행하고 싶을 때(예: 설계 행렬의 예측 변수들의 상관관계를 제거하기 위해) 관련이 있다. SVD는 행렬에서 작동하며, 우리는 행렬을 두 개의 인덱스(행과 열)를 가진 직사각형 배열로 해석할 수 있다. 행렬과 같은 구조를 고차원 배열로 확장한 것을 텐서(tensors)라고 부른다. SVD는 그러한 텐서들에서 작동하는 더 일반적인 분해 계열의 특수한 경우임이 밝혀졌다. 텐서에 대한 SVD와 유사한 연산 및 저랭크 근사에는 터커 분해(Tucker decomposition) 또는 CP 분해(CP decomposition) 등이 있다.
    $\quad$ SVD 저랭크 근사는 계산 효율성 때문에 머신러닝에서 자주 사용된다. 이는 잠재적으로 매우 큰 데이터 행렬에 대해 수행해야 하는 0이 아닌 곱셈 연산과 메모리의 양을 줄여주기 때문이다. 게다가, 저랭크 근사는 누락된 값(missing values)을 포함할 수 있는 행렬을 처리하거나 손실 압축 및 차원 축소의 목적으로도 사용된다.

양의 정부호 커널이란?