본문은 linear CKA를 특징 공간에서 계산했다. 같은 값을 표본 사이의 유사도 행렬(Gram 행렬)로도 쓸 수 있다. 같은 입력 N개에 대한 두 표현 A∈RN×D1, B∈RN×D2에서
K=AA⊤,L=BB⊤,C=IN−N111⊤,
HSIC(K,L)=tr(CKCL),CKA(K,L)=HSIC(K,K)HSIC(L,L)HSIC(K,L)
이다. C는 중심화 행렬이다. (HSIC의 정규화 상수 1/(N−1)2은 분자와 분모에서 약분되므로 생략했다.)
함수 cka_gram(K, L)를 완성한다. 인자는 두 Gram 행렬 K, L(shape (N, N))이고 반환값은 float 하나다.
테스트는 다음을 확인한다.
- 선형 Gram 행렬(AA⊤, BB⊤)에서 특징 공간 공식 ∥Ac⊤Bc∥F2/(∥Ac⊤Ac∥F∥Bc⊤Bc∥F)와 같다(Ac, Bc는 열 중심화한 표현).
- 직교 변환과 등방 스케일에 불변이다.
- 자기 자신과의 CKA는 1이다.
- 차원이 다른 두 표현에도 쓸 수 있다(Gram 행렬은 둘 다 N×N이다).
힌트: CKC는 K - K.mean(0) - K.mean(1)[:, None] + K.mean()으로도 계산할 수 있고, tr(XY)=∑ijXijYji다.