Fully support choice only models
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 124
- Forks
- 24
- Avg merge
- 19h 32m
- Merged PRs (30d)
- 60
Description
We are currently working through a refactor that will introduce a `HSSMBase` class which both the current `HSSM` and the new `HSSMRL` classes are supposed to inherit from.
Especially for the `HSSMRL` class we already worked through the definition of composable model configs that combine a `learning_process` with a `decision_process`.
A long-standing "special case" of what we are doing are models that concern themselves only with `p(choice|theta, X)` and ignore `rts`.
The time is ripe now to address this and benefit from the emerging `rl` capabilities in one go.
**Proposal**:
We need the following steps,
1. [ ] basic implementation of a `softmax` likelihood in pytensor/jax (very easy) with associated model config (include proposal on how to signify a likelihood as choice only)
2. [ ] create new or just generalize current likelihood constructors to accept data that has only `(theta_1, ..., theta_n, choice)` inputs (this is a question of adjusting some of the dimensionality expectations. *Note*, we already have capability for *choice probability networks*, definitely take a look at that, it should be very reusable and informative.
3. [ ] inherit from base class, and make a `HSSCM` class that deals with choice only models. Fiddle around with it until the basic `softmax` model works. The key will be some adjustments to the data validators and requesting the right underlying likelihood constructors. Otherwise it should be relatively straight forward.
4. [ ] incorporate utilization of choice probability networks where they are available for a given model (this infrastructure will need to be fleshed out by adding more huggingface models). So if the user request e.g. `angle` model to the `HSSCM` class, we check if there is a "choice only" version of the likelihood available, if not throw error.
5. [ ] Expand to `HSSCMRL` class, which connects choice only models to RL processes. This should be quite straight forward, at that point, because we already figured out all key pieces.
@krishnbera @digicosmos86 @cpaniaguam
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing choice probability networks and likelihood constructors, then trace the data validators and model configuration paths used by HSSM and HSSMRL. The proposal is complete when choice-only softmax models work through HSSCM and HSSCMRL, with appropriate handling when a choice-only likelihood is unavailable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100