신경망을 사용하여 임의의 분포에서 샘플링
소개
마지막 기사 에서 소개한 밀도 추정의 기법을 응용하여 데이터를 샘플링해 봅니다.
$F(x)=P(X\leq x)$ 를 학습시킨 모델을 바탕으로 이 역함수 $G(y)$ 를 비슷한 신경망으로 학습시킵니다.
$[0, 1]$의 균일 분포에서 얻은 $y$에 대해, $F(G(y))$가 y에 가까워지도록 오토엔코더적인 학습을 실시하면 됩니다. 손실 함수에는 베르누이 분포를 가정한 음의 로그 우도( chainer.functions.bernoulli_nll() )를 사용합니다.
학습 후, 샘플링을 실시하려면 $[0, 1]$의 균일 분포로부터 얻은 $y$로 $G(y)$를 계산하면 됩니다.
1차원 혼합 가우스 분포
오렌지색 실선이 학습 끝난 $P(X)$로 파란색 막대 그래프가 이번 샘플링 결과입니다.
$P(x)=0$ 부근과 $P(x)=1$ 부근에서는 잘 샘플을 얻을 수 없는 것 같습니다.
2차원 혼합 가우스 분포
왼쪽부터 순서대로, 원 데이터, $P(X)$의 학습 결과, 이번 수법에 의한 샘플링 결과입니다.
$P(X)$의 학습 결과에 그림자가 나타났습니다만, Min-Max Pooling이 나쁜 것을 하고 있는 것 같습니다. 이 풀링은 필요하지 않을 수 있습니다 (요구).
2차원 절단(?) 가우스 분포
$P(X)$의 히트 맵상에서는 잘 가고 있지 않은 것처럼 보였습니다만, 이번의 결과를 보면 의외로 형태는 잡히고 있는 것 같습니다.
Reference
이 문제에 관하여(신경망을 사용하여 임의의 분포에서 샘플링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tmagara/items/b4f139cc8630c4336123텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)