Giter VIP home page Giter VIP logo

Comments (6)

tminka avatar tminka commented on August 17, 2024

The issue is that you are using Variable.IsBetween on data where the output is sometimes false. This leads to a weird constraint that requires vYY to not be between two bounds. Do you actually need this for ordinal regression? I would think that each observation in ordinal regression asserts that vYY is between two bounds.

from infer.

tminka avatar tminka commented on August 17, 2024

By the way, the matchbox recommendation model is similar to ordinal factor analysis.

from infer.

wjn0 avatar wjn0 commented on August 17, 2024

Ah, of course, that makes perfect sense. That was a simple enough fix. I'd like to constrain the weights vectors to be unit length, but it seems that the two more obvious methods for doing so (specifically, taking the inner product with itself or sum of squares and constraining it to be unit 1) don't work. Is this possible under VMP or EP?

from infer.

wjn0 avatar wjn0 commented on August 17, 2024

Thanks much for the prompt reply, by the way. I'll take a look at the matchbox recommendation model.

from infer.

wjn0 avatar wjn0 commented on August 17, 2024

P.S. One more question - is there a straightforward way to constrain an array to be ordered (i.e. for learning the thresholds)? It seems like there should be a way to string together Variable.ConstrainPositive calls to do so but I haven't quite grasped the range syntax well enough yet.

from infer.

tminka avatar tminka commented on August 17, 2024

It is theoretically possible to have a unit length constraint in VMP or EP. A vector of unit length is equivalent to a point on a hyper-sphere, so the posterior would be a distribution over the hyper-sphere, and various approximate distributions could be used. However, they are not yet implemented in Infer.NET.

You can indeed string together ConstrainPositive calls to constrain an array to be ordered, but you don't need to do this for ordinal regression, since the IsBetween constraints already do it. See the matchbox model.

Since your original question was answered, I'm closing this issue.

from infer.

Related Issues (20)

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.