ReactiveBayes / ReactiveBayes/RxInferExamples.jl

Implement Latent Dirichlet Allocation (LDA) Example

Open
#27 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
28
Forks
14
Avg merge
23h 47m
Merged PRs (30d)
10

Description

I'd like to propose adding a Latent Dirichlet Allocation (LDA) example to the codebase. Looking at the current functionality, it seems we already have all the necessary building blocks in place - specifically the DirichletCollection and MultinomialPolya nodes!

LDA would make an excellent addition to our examples for several reasons:

  1. It's a fundamental topic model widely used in text analysis and machine learning
  2. It would demonstrate RxInfer's capability with hierarchical Bayesian models
  3. It exercises multiple probability distributions in combination
  4. The results are intuitive and visually presentable

The generative model is straightforward:

  • Topic-word distributions: φₖ ~ Dirichlet(β)
  • Document-topic distributions: θₗ ~ Dirichlet(α)
  • Topic assignments: zₗₙ ~ Multinomial(θₗ)
  • Words: wₗₙ ~ Multinomial(φzₗₙ)

This seems like a relatively easy yet powerful example to implement that would showcase RxInfer.jl's strengths. It could also serve as a benchmark against other probabilistic programming frameworks.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing DirichletCollection and MultinomialPolya nodes, then inspect how examples are organized in the repository. Add an LDA example covering the proposed generative model and present intuitive, visualizable results; any benchmark expectations are not specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.