Software Open Access

# Paradoxes of probabilistic programming, and how to condition on events of measure zero with infinitesimal probabilities

Jules Jacobs

### JSON Export

{
"files": [
{
"self": "https://zenodo.org/api/files/3ec32bf6-bb84-4d71-a0ed-6a47b49af741/infinitesimal.jl"
},
"checksum": "md5:45a1832a4d52333a53975c004378a4e8",
"bucket": "3ec32bf6-bb84-4d71-a0ed-6a47b49af741",
"key": "infinitesimal.jl",
"type": "jl",
"size": 11858
}
],
"owners": [
144456
],
"doi": "10.5281/zenodo.4075076",
"stats": {
"unique_views": 126.0,
"views": 144.0,
"version_views": 144.0,
"version_unique_views": 126.0,
"volume": 415030.0,
"version_volume": 415030.0
},
"doi": "https://doi.org/10.5281/zenodo.4075076",
"conceptdoi": "https://doi.org/10.5281/zenodo.4075075",
"bucket": "https://zenodo.org/api/files/3ec32bf6-bb84-4d71-a0ed-6a47b49af741",
"html": "https://zenodo.org/record/4075076",
"latest_html": "https://zenodo.org/record/4075076",
"latest": "https://zenodo.org/api/records/4075076"
},
"conceptdoi": "10.5281/zenodo.4075075",
"created": "2020-10-09T11:19:41.305231+00:00",
"updated": "2020-10-09T14:06:20.500208+00:00",
"conceptrecid": "4075075",
"revision": 4,
"id": 4075076,
"access_right_category": "success",
"doi": "10.5281/zenodo.4075076",
"description": "<p>Abstract Probabilistic programming languages allow programmers to write down conditional probability distributions that represent statistical and machine learning models as programs that use observe statements. These programs are run by accumulating likelihood at each observe statement, and using the likelihood to steer random choices and weigh results with inference algorithms such as importance sampling or MCMC. We argue that naive likelihood accumulation does not give desirable semantics and leads to paradoxes when an observe statement is used to condition on a measure-zero event, particularly when the observe statement is executed conditionally on random data. We show that the paradoxes disappear if we explicitly model measure-zero events as a limit of positive measure events, and that we can execute these type of probabilistic programs by accumulating infinitesimal probabilities rather than probability densities. Our extension improves probabilistic programming languages as an executable notation for probability distributions by making it more well-behaved and more expressive, by allowing the programmer to be explicit about which limit is intended when conditioning on an event of measure zero.</p>",
"id": "CC-BY-4.0"
},
"title": "Paradoxes of probabilistic programming, and how to condition on events of measure zero with infinitesimal probabilities",
"notes": "Since it is a single file of code I did not make a virtual machine. If you think it is better to make a virtual machine I can still do so. I will remove this notice eventually.",
"relations": {
"version": [
{
"count": 1,
"index": 0,
"parent": {
"pid_type": "recid",
"pid_value": "4075075"
},
"is_last": true,
"last_child": {
"pid_type": "recid",
"pid_value": "4075076"
}
}
]
},
"publication_date": "2020-10-09",
"creators": [
{
"affiliation": "TU Delft",
"name": "Jules Jacobs"
}
],
"access_right": "open",
"resource_type": {
"type": "software",
"title": "Software"
},
"related_identifiers": [
{
"scheme": "doi",
"identifier": "10.5281/zenodo.4075075",
"relation": "isVersionOf"
}
]
}
}
144
35
views