Code Monkey home page Code Monkey logo

Comments (6)

trappmartin avatar trappmartin commented on July 3, 2024

Thanks for the interest in the package.

I'm currently working on functionality related to AD support and missing values but can clean up my existing structure learning codes (several variants of learnSPN and random structures) to provide some functions asap. I plan to write a library on structure learning for SPNs containing all (or at least most of them) existing approaches in the near future.

from sumproductnetworks.jl.

klowrey avatar klowrey commented on July 3, 2024

When you say 'missing values', do you mean not supplying a full vector of data and allowing the SPN to provide a probability of the values not supplied? In the examples in the readme, this would be like doing something like logpdf with a X vector of length 1 instead of length 2, yes?

from sumproductnetworks.jl.

trappmartin avatar trappmartin commented on July 3, 2024

Yes, almost.

I aim to provide a syntax like logpdf([1.5, NaN]) where the missing value is in dimension 2 and set to NaN. Further, I like to have convenience functions to calculate the approximative MAP for the missing value.

I had part of the functionality some time a go and want to put it in place again. I believe it’s relevant in real world scenarios like robotics.

from sumproductnetworks.jl.

klowrey avatar klowrey commented on July 3, 2024

Very relevant, and one of the use cases I'm hoping SPNs can help with. Thanks for taking the time to implement this in Julia; I'm happy to help in whatever way I can! I have some experience with the Reverse/ForwardDiff.jl packages. Zygote.jl looks interesting, but may not be applicable here without major changes.

from sumproductnetworks.jl.

trappmartin avatar trappmartin commented on July 3, 2024

Great to hear that. Feel free to create a PR if you like to contribute something.

I want to have a generic approach so that any AD can be used. As I'm also working on the Turing.jl project my aim is to provide example code using ForwardDiff and Flux.Tracker so that SPNs can be used for probabilistic programming within Turing and for deep learning within Flux.

I'll push some parameter learning (log likelihood maximisation) examples asap.

from sumproductnetworks.jl.

trappmartin avatar trappmartin commented on July 3, 2024

Thanks to @kouariga there will soon be a clean implementation of learnSPN. PR: #12

from sumproductnetworks.jl.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.