2017-11-21 23 views
0

보통 확률 론적 프로그래밍 프레임 워크를위한 문서에서 나는 MCMC에 관해 많은 것을 읽을 수 있지만 프로그래밍에 대해서는별로 읽지 않습니다. 내가 보는 모든 예는 대개 매우 짧고 단순한 확률 프로그램을 가지고 있습니다. 일반적으로 데이터 입력 및 결과 출력을 계산하지 않으면 약 5-10 줄의 코드입니다. 그래서, 그것은 마치 프로그래밍처럼 보이지 않습니다.누군가가 확률 적 프로그래밍의 명확한 "프로그래밍"부분을 설명 할 수 있습니까?

내가 알고 있듯이 확률 적 프로그램을 작성하여 학습 프로세스를 정규화 할 수 있으므로, 확률 론적 프로그램이 길수록 계산 속도가 빨라지고 필요한 교육 데이터 세트가 줄어들고 올바른 결과를 얻을 수 있습니다. 내가 맞습니까?

예를 들어 그림에서 고양이를 찾고 싶습니다. 고양이가 어떻게 보이고 어떤 종류의 박람회가 될 수 있는지를 설명하는 확률 적 프로그램을 작성할 수 있습니다. 그리고 더 자세한 내 설명은 더 나은 결과가 될 것입니다?

덕분에, 드미트리 나에게

답변

2

는 "probababilistic 프로그래밍은"당신이 probabilitiy 구조와 프로그래밍 언어 모델을 적어 의미한다. Stan은 임의 변수를 나타내는 변수가 포함 된 명령형 프로그래밍 언어를 제공합니다.

Stan의 설명서에는 Stan에서 프로그래밍하는 데 200 개 이상의 페이지가 있으므로 사용자가 무엇을 찾고 있는지 잘 모르겠습니다. 데이터 유형에서 매개 변수화, 사용자 정의 함수에 이르기까지 모든 것을 포함합니다. 대부분의 소개와 매뉴얼처럼, 예제는 짧아지는 경향이있다. 더 긴 프로그램을보고 싶다면 사례 연구를 보거나 사용자 포럼을 따르십시오.

큰 모델이 반드시 적은 데이터가 필요하다는 것을 의미하지는 않습니다. 시작하기 전에 모델에 대한 대답에 대한 정보가 많을수록 (이전), 필요한 데이터가 줄어 듭니다. 보유한 데이터가 많을수록 더 세밀한 추론을 할 수 있습니다.

나는 당신이 상세한 손으로 만들어진 모델로 고양이를 묘사하는 것은별로 행운이 없을 것이라고 생각합니다.

+0

답변 해 주셔서 감사합니다. 확률 적 프로그래밍이 (고양이 문제와 같은) 이미지 인식 영역에서 어떻게 유용 할 수 있는지 몇 가지 예를 지적 해 주시겠습니까? – RedRus

+1

아닙니다. 요즘 시스템은 깊은 신념을 갖고있는 경향이 있습니다. 이러한 모델은 확률 적 프로그램이 아닌 네트워크 토폴로지의 구성으로 TensorFlow 또는 MxNet 또는 Torch와 같은 프레임 워크에 지정되는 경향이 있습니다. 에드워드는 내가 확률 론적 프로그래밍과 깊은 믿음의 경계에 대해 가장 잘 알고 있습니다. –