Path: blob/master/site/ko/probability/examples/Probabilistic_PCA.ipynb
25118 views
Copyright 2018 The TensorFlow Probability Authors.
Licensed under the Apache License, Version 2.0 (the "License");
확률적 PCA(principal components analysis; 주성분 분석)은 더 낮은 차원의 잠재 공간을 통해 데이터를 분석하는 차원 감소 기법입니다(Tipping and Bishop 1999). 이는 데이터에 누락 값이 있을 때 혹은 다차원 척도법에 사용됩니다.
가져오기
모델
데이터 포인트가 있는 데이터세트를 가정해봅니다. 여기서 각 데이터 포인트는 차원입니다. 우리는 잠재 변수 아래의 각 를 ParseError: KaTeX parse error: Expected 'EOF', got '&' at position 3: K &̲lt; D와 같이 더 낮은 차원으로 표현하는 것을 목표로 합니다. 주축 세트 는 잠재 변수를 데이터와 연결합니다.
구체적으로, 각 잠재 변수가 정규 분포를 따른다는 가정을 합니다.
해당 데이터 포인트는 투영을 통해 생성됩니다.
여기서 행렬은 주축으로 알려져 있습니다. 확률적 PCA에서는 일반적으로 주축 와 노이즈 항 dmf를 추정하는 것이 관심사입니다.
확률적 PCA는 클래식한 PCA를 일반화합니다. 잠재 변수를 주변화하면 각 데이터 포인트의 분포는 다음과 같아집니다.
클래식한 PCA는 노이즈의 공분산이 와 같이 극도로 작아지게 되는 확률적 PCA의 특이한 경우를 일컫습니다.
아래와 같이 모델을 설정했습니다. 해당 분석에서는 가 알려져 있다고 가정하며, 를 모델 매개변수로 추정하는 대신 주축에 대한 분포를 추론하기 위해 이를 우선순위로 지정합니다. 해당 모델은 TFP JointDistribution 로 표현할 것이며 구체적으로 우리는 JointDistributionCoroutineAutoBatched를 사용할 것입니다.
데이터
결합 사전 분포에서 샘플링하여 데이터를 생성하는 모델을 사용할 수 있습니다.
데이터세트를 시각화합니다.
최대사후확률추론
먼저 사후 확률 밀도를 최대화하는 잠재 변수의 점추정치를 검색합니다. 이러한 방식은 최대사후확률(MAP) 추론으로도 알려져 있으며, 사후확률 밀도 를 최대화하는 and 값을 계산함으로써 완성됩니다.
우리는 및 에 대해 추론된 값의 데이터를 샘플링하고, 이를 조건화한 실제 데이터세트와 비교할 수 있습니다.
변분 추론
MAP는 사후 확률 분포 모드 검색에 사용할 수 있지만 이에 대한 다른 통찰력은 제공하지 않습니다. 그래서 우리는 다음으로 변분추론을 사용합니다. 여기서 사후 확률 분포 는 변수분포 를 사용하여 근사치를 계산하며, 를 통해 매개변수를 표시합니다. 목표는 q와 사후 확률 사이의 또는 이에 해당하는 KL 발산을 <em data-md-type="emphasis">최소화</em>하고, ELBO(evidence lower bound) 를 <em data-md-type="emphasis">최대화</em>하는 변분매개변수 를 찾는 것입니다.
감사의 말
이 튜토리얼은 원래 Edward 1.0(소스)로 작성되었습니다. 해당 버전을 작성하고 수정하는데 기여해 주신 모든 분께 감사드립니다.