MMD란 무엇인가?
카테고리: DL Study
태그: deeplearning
MMD
- 고차원을 가진 두 개의 분포의 차이를 계산하는 것이 Maxmimum mean discrepancy (MMD)이다.
Q. 이 그림에서 분포를 같게 만들려면?
A. 우선 평균을 같게 한다. 그러면 E(x)를 같게하면 된다.
Q. 그렇다면 분산은?
A. E(x^2)을 같게하면 된다. 이에 따라 x^3 (skewness) 등… moment를 비슷하게 가져가면 같은 분포를 만들 수 있다.
-
위와 같은 질문들에 대해 high order moment를 비슷하게 만들기 위해서 커널을 통해 해결한다.
-
커널은 정규분포로 가지게 되는데, 정규분포는 지수함수이다. 지수함수를 테일러 전개하면 상수항 부터 x^n 항까지 가지게 되므로 앞의 의문을 해결할 수 있다.
- 식은 다음과 같이 사용하게 되는데, 여기서 커널 트릭이 사용된다.
-
커널 트릭은 두개를 내적하게 되면 매우 고차항을 계산하게 되는데, 그렇게 하지 않고 현재 차원에서 간단하게 계산할 수 있는 트릭이다. ( 아직 자세하게는 알지 못해, 추후 보충할 예정 )
- MMD에서 Kernel은 RKHS(Reproducing kernel Hilbert space)이어야 한다. (이를 만족하는 커널은 Linear Kernel, Gaussian kernel, Polynomial Kernel이 있다.)
Reference
- Kobayashi, Hirofumi, et al. “Label-free detection of cellular drug responses by high-throughput bright-field imaging and machine learning.” Scientific reports 7.1 (2017): 1-9.
- Borgwardt, Karsten M., et al. “Integrating structured biological data by kernel maximum mean discrepancy.” Bioinformatics 22.14 (2006): e49-e57.
댓글남기기