가우스 프로세스 : 다차원 출력에 GPML을 사용하는 방법


13

GPML을 사용하여 다차원 출력에 대해 가우시안 프로세스 회귀를 수행하는 방법이 있습니까?

데모 스크립트 에서는 1D 예제 만 찾을 수있었습니다.

다차원 입력 사례를 다루는 이력서에 대한 비슷한 질문 .


나는 무엇을 찾을 수 있는지 알아보기 위해 그들의 책을 살펴 보았습니다. 이 책 의 9 장 (섹션 9.1)에서는 여러 출력의 경우를 언급했습니다. 그들은이를 처리하는 몇 가지 방법을 언급했는데, 하나는 상관 된 노이즈 프로세스를 사용하고, 두 가지는 코킹 (사전 관련)입니다.

이러한 아이디어를 GPML 프레임 워크에 통합 할 수있는 방법을 여전히 모릅니다.


또한 다차원 출력을 지원하는 다른 GP 라이브러리 / 프레임 워크가 있습니까?


"구조화 된 데이터 예측"에서는 입력과 출력 간의 조인트 커널에 대한 1 클래스 (커널 밀도 추정) 사례에서 SVM을 사용하는 방법에 대해 설명합니다. 그것들이 모두 커널 머신이기 때문에이 접근법은 효과가 있습니다. 비슷한 내용이 언급 된 한 종이를 발견했습니다. datamin.ubbcluj.ro/tr/2011/sogp.pdf 구조화 된 학습 알고리즘을 맞추려는 나의 시도는 상당히 무서웠으므로 이것이 어떻게 쌓이는 지 잘 모르겠습니다.
Jessica Collins

답변:


7

Twin Gaussian Processes 가 바로 당신이 찾고있는 것이라고 생각 합니다. 종이 자체의 요약보다 모델을 더 잘 설명 할 수 없으므로 붙여 넣기 만하면됩니다.

우리는 쌍둥이 가우시안 프로세스 (TGP)를 설명 1, 공변량과 반응, 다변량 모두에서 가우시안 프로세스 (GP) 사전 [2]을 사용하고 유한 인덱스 훈련 세트에 대한 정규 분포로 모델링 된 두 GP 간의 쿨백-레 블러 발산을 최소화하여 출력을 추정하는 일반적인 구조적 예측 방법 유사한 입력이 유사한 지각을 생성해야하며 평균적으로 한계 분포 사이에 있어야한다는 목표를 강조하는 테스트 예. TGP는 일반적인 GP에서와 같이 공변량 간의 상호 의존성뿐만 아니라 응답 간의 상호 의존성을 캡처하므로 입력과 출력의 상관 관계가 고려됩니다. TGP는 최근 소개 된 HumanEva 벤치 마크에서 단안 및 멀티 카메라 비디오 시퀀스에서 3D 인간 포즈의 재구성을 위해 유망한 결과를 보여줍니다. 여기서 여러 사람과 여러 활동의 데이터를 사용하여 공동으로 훈련 된 모델에 대해 3d 마커 당 평균 5cm의 오차를 얻습니다. 이 방법은 빠르고 자동적입니다. 초기 포즈, 카메라 보정 매개 변수 또는 교육 또는 테스트에 사용되는 인체 피사체와 관련된 3D 바디 모델의 가용성이 필요하지 않습니다.

저자는 시작을 위해 코드와 샘플 데이터 세트를 제공했습니다.


@caoy 사이트에 오신 것을 환영합니다. 해당 링크의 내용에 대해 약간의 정보를 제공 하시겠습니까? 그렇게하면 독자들이 추구 할만한 가치가 있는지 알 수 있으며, 미래의 링크 로트 (linkrot)의 경우에는 여전히 가치있는 것이 있다는 것을 의미합니다.
gung-모니 티 복원

@ gung, thx, 초록이 일하기를 바랍니다.
Yanshuai Cao

@caoy ... Twin Gaussian Processes의 예측 분포 평균 및 출력 분산에 대해 자세히 설명해 주시겠습니까?
Sandipan Karmakar

3

다차원 출력에 대한 짧은 답변 회귀는 약간 까다 롭고 GPML 도구 상자에 직접 통합되지 않은 현재의 지식 수준입니다.

긴 답변 다차원 출력 회귀 문제를 3 가지 다른 부분으로 나눌 수 있습니다.

  1. 출력은 서로 관련없습니다 . 1d 사례의 데모 스크립트와 같이 개별적으로 출력을 회귀하십시오.
  2. 출력은 관련되어 있지만 그 사이의 관계를 모릅니다. 기본적으로 출력 간의 내부 관계를 배우고 싶습니다. 책에서 언급했듯이 coKriging은 시작하는 좋은 방법입니다. 직접 코킹을 수행 할 수있는 GPML 이외의 소프트웨어가 있습니다. ooDace
  3. 출력 관련이 당신이하는 그들 사이의 관계를 알고 - 일반 cokriging를 수행하지만, 당신도 (로그 한계 가능성을 최소화하면서)에서 말했듯이 최적화에 제약 조건을 적용하여 출력 간의 하드 제약 조건을 적용 할 수 있습니다 홀 및 황 2001 또는 Constantinescu & Anitescu 2013이 말한대로 이전 기능의 관계를 적용합니다 .

나는 그것이 도움이되기를 바랍니다 :)


2

이것은 scikit-learn의 모듈로 놀랍도록 훌륭했습니다.

http://scikit-learn.org/stable/auto_examples/gaussian_process/plot_gp_regression.html

# Instanciate a Gaussian Process model
gp = GaussianProcess(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1e-1,
                     random_start=100)

# Fit to data using Maximum Likelihood Estimation of the parameters
gp.fit(X, y)

# Make the prediction on the meshed x-axis (ask for MSE as well)
y_pred, MSE = gp.predict(x, eval_MSE=True)
sigma = np.sqrt(MSE)

1

다중 출력 Gaussian Processes를 검색하고 컨볼 루션 방법, 혼합 효과 모델링 방법 및 최신이 하나의 Twin Gaussian Processes (TGP)와 같은 여러 가지 방법을 찾았습니다.

Twin Gaussian Processes (TGP)의 개념에 의문의 여지가 있습니다. 아무도 나를 도울 수 있습니까?

y^p(y|y)(μ,σ2)σ2yy^y

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.