이 hyperprior 문제에 대한 해결책을 보여주기 위해 PyMC3에서 계층 적 감마-디 리치-다항식 모델을 구현했습니다. Dirichlet의 이전 감마는 Ted Dunning의 블로그 게시물에 따라 지정되고 샘플링됩니다 .
내가 구현 한 모델은이 요지 에서 찾을 수 있지만 아래에 설명되어 있습니다.
영화 등급에 대한 베이지안 계층 (풀링) 모델입니다. 각 영화의 등급은 0에서 5까지입니다. 각 영화는 여러 번 평가됩니다. 각 영화에 대한 등급이 매끄럽게 분포되어 있기를 원합니다.
우리는 데이터로부터 영화 등급에 대한 최상위 사전 배포 (이전)를 배우려고합니다. 그런 다음 각 영화는이 최상위 레벨로 매끄럽게 진행되는 고유 한 우선 순위를 갖습니다. 이것에 대해 생각하는 또 다른 방법은 각 영화의 평가에 대한 우선 순위가 그룹 수준 또는 풀링 된 배포로 축소된다는 것입니다.
영화에 비정형 등급 분포가있는 경우이 방법을 사용하면 등급이 예상과 일치하는 수준으로 줄어 듭니다. 또한, 이전에 배운 내용은 등급이 적은 동영상을 부트 스트랩하여 등급이 많은 동영상과 의미를 비교하는 데 유용 할 수 있습니다.
모델은 다음과 같습니다.
γk=1...K∼Gamma(α,β)
θm=1...M∼DirichletM(cγ1,...,cγK)
zm=1...M,n=1...Nm∼CategoricalM(θm)
어디:
- KK=6
- M
- Nmm
- α=1/K
- β
- c
- γkk
- θmK
- zmnnm