GithubHelp home page GithubHelp logo

Comments (5)

null-a avatar null-a commented on May 30, 2024

I don't understand why the sequence of good widgets should have an ascending order

There's nothing significant about the fact that the observed good widgets happen to be in ascending order.

Isn't it sufficient that all members of the good widgets are above the sampled threshold of the widget tester ?

IIRC the threshold is unknown. All we observe are the good widgets. The goal is to infer the distribution over the threshold, given the good widgets.

from probmods2.

CMoebus avatar CMoebus commented on May 30, 2024

if the order of the good widgets is unimportant because the size of the widgets is exchangeable, the condition should be "condition(0.5 < min(goodWidgetSeq))". I'll have to test whether this is syntactically correct. But you know what I mean. In this case you get the posterior P(Threshold | 0.5 < WidgetSize).

from probmods2.

CMoebus avatar CMoebus commented on May 30, 2024

Here is the modified condition for exchangeable widget-sizes. The condition checks whether all three members of the goodWidgetSeq are above or equal 0.6. Only in this case the threshold value is saved for the posterior distribution. As you can see, the results are even better than before:

var widgetDist = Infer({method: 'rejection', samples: 300, maxScore: -0.0}, function() {
var threshold = sample(thresholdPrior);
var goodWidgetSeq = makeWidgetSeq(3, threshold);
// condition(_.isEqual([.6, .7, .8], goodWidgetSeq)) // original code
condition(3*0.6 <= sum(goodWidgetSeq)) // new improved condition
return [threshold].join("");
})

from probmods2.

CMoebus avatar CMoebus commented on May 30, 2024

small error on my side :( of course the condition has on my side has to be:

var widgetDist = Infer({method: 'rejection', samples: 300}, function() {
var threshold = sample(thresholdPrior);
var goodWidgetSeq = makeWidgetSeq(3, threshold);
// condition(_.isEqual([.6, .7, .8], goodWidgetSeq))
condition(Math.pow(0.6, 3) <= product(goodWidgetSeq)) // new condition
return [threshold].join("");
})

from probmods2.

CMoebus avatar CMoebus commented on May 30, 2024

my last word:
var widgetDist = Infer({method: 'rejection', samples: 300}, function() {
var threshold = sample(thresholdPrior);
var goodWidgetSeq = makeWidgetSeq(3, threshold);
// condition(_.isEqual([.6, .7, .8], goodWidgetSeq))
condition(all(function(goodWidget){0.6 <= goodWidget}, goodWidgetSeq))
return [threshold].join("");
})
thresholdmodelofwidgettester

from probmods2.

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.