Vi presenterar en modulär semantisk redovisning av Bayesian inference algoritmer för probabilistiska programmeringsspråk, som används i datavetenskap och maskininlärning. Sofistikerade inferensalgoritmer förklaras ofta i form av sammansättning av mindre delar. Varken deras teoretiska motivering eller genomförande återspeglar dock denna moduläritet. Vi visar hur man konceptualiserar och analyserar sådana inferensalgoritmer som att manipulera mellanliggande representationer av probabilistiska program med hjälp av högre ordningsfunktioner och induktiva typer, och deras denotationella semantik. Semantiska konton över kontinuerliga distributioner använder mätbara utrymmen. Vår användning av funktioner med högre ordning innebär dock en betydande teknisk svårighet: det är omöjligt att definiera en mätbar rymdstruktur över insamlingen av mätbara funktioner mellan godtyckliga mätbara utrymmen som är kompatibla med standardoperationer på dessa funktioner, såsom funktionstillämpning. Vi övervinner denna svårighet med hjälp av kvasiBorel utrymmen, en nyligen föreslagna matematisk struktur som stöder både funktionsutrymmen och kontinuerliga distributioner. Vi definierar en klass av semantiska strukturer för att representera probabilistiska program, och semantiska giltighetskriterier för omvandlingar av dessa representationer i termer av distributionsbevarande. Vi utvecklar en samling byggstenar för att komponera representationer. Vi använder dessa byggstenar för att validera vanliga inferensalgoritmer som Sequential Monte Carlo och Markov Chain Monte Carlo. För att understryka sambandet mellan den semantiska manipuleringen och dess traditionella måttteoretiska ursprung använder vi Kocks syntetiska mätteori. Vi visar dess användbarhet genom att bevisa en kvasi-Borel motsvarighet till Metropolis Hastings-Green Theorem. Ytterligare nyckelord och fraser: kvasi-Borel utrymmen, syntetisk mätteori, Bayesian inference, tillämpad kategori teori, pendlande monader, Kock integration, initial algebra semantik, sigma-monoider Tillstånd att göra digitala eller hårda kopior av delar eller allt detta arbete för personligt eller klassrum användning beviljas utan avgift, förutsatt att kopior inte görs eller distribueras för vinst eller kommersiella fördelar och att kopior bär detta meddelande och den fullständiga citat på första sidan. Upphovsrätt till tredje parts delar av detta arbete måste hedras. För all annan användning, kontakta ägaren/författarna.  En av de viktigaste utmaningarna i Bayesian data analys är att utveckla eller hitta en effektiv algoritm för att uppskatta den bakre fördelningen av en probabilistisk modell med avseende på en given datamängd. Denna bakre fördelning kombinerar tidigare kunskap kodad i modellen och information som finns i datamängden konsekvent enligt reglerna för sannolikhetsteori, men dess matematiska definition innebär ofta integration eller summering över en stor indexuppsättning och ger inte direkt en effektiv beräkningsstrategi. En dataforskare måste vanligtvis fatta ett av de suboptimala besluten: hon måste konsultera en stor grupp av specialiserad forskning för att välja en algoritm som passar hennes modell, eller för att ändra modellen så att den faller i ett av dessa fall med effektiva kända algoritmer för senare inferens, eller för att möta utmaningen direkt genom att utveckla en ny algoritm för sig själv. Den senaste tidens probabilistiska programmeringsspråk syftar till att lösa detta dilemma. De inkluderar konstruktioner för att beskriva sannolikhetsfördelningar och konditionering, och gör det möjligt för dataforskare att uttrycka sofistikerade probabilistiska modeller som program. Ännu viktigare, de kommer med genomförandet av flera algoritmer för att utföra bakre inferens för modeller och datamängder uttryckta i språken. Den stora visionen är att genom att använda dessa språk, en dataforskare inte längre behöver oroa sig för valet eller utformningen av en sådan slutsats algoritm, men fokuserar på utformningen av en lämplig modell, istället. I den här artikeln tillhandahåller vi en denotationell validering av inferensalgoritmer för probabilistiska programmeringsspråk i högre ordning, såsom Church [Goodman et al. 2008] anglikanska [Wood et al. 2014] och Venture. Korrektheten i dessa algoritmer är subtil. Den tidiga versionen av den lätta Metropolis-Hastings algoritm hade en bugg på grund av en felaktig acceptans ratio [Wingate et al. Denna förordning träder i kraft den tjugonde dagen efter det att den har offentliggjorts i Europeiska unionens officiella tidning. Verkligheten bygger ofta på invecklat samspel mellan fakta från sannolikhetsteorin och dem från programmeringsspråkteorin. Dessutom kräver korrekthet normalt starkare resultat från sannolikhetsteori än de som används för det vanliga R n fallet i maskinlärande samhället (t.ex. Greens mått-teoretiska motivering av Markov Chain Monte Carlo snarare än det vanliga för R n baserat på densitetsfunktioner). Vår utgångspunkt är de befintliga resultaten av validering av inferensalgoritmer för probabilistiska program [Borgström et al. 2016; Hur et al. Denna förordning träder i kraft den tjugonde dagen efter det att den har offentliggjorts i Europeiska unionens officiella tidning. Dessa tidigare resultat tenderar att baseras på operativa semantik, och ofta (inte alltid) fokusera på första ordningen program. Genom att arbeta på ett modulärt sätt med monader, denotationssemantik och högre ordningsfunktioner kan vi validera sofistikerade inferensalgoritmer, såsom omprovtagning-moval Sequential Monte Carlo [Doucet och Johansen 2011], som är komplexa men ändå modulära, består av mindre återanvändbara komponenter, genom att kombinera vår semantiska analys av dessa komponenter. Det probabilistiska programmeringsspråk som behandlas i tidningen innehåller kontinuerliga distributioner, vilket innebär att semantiska konton över dem eller deras inferensalgoritmer måste använda mätteori och Lebesgue integration. Samtidigt använder vårt semantiska konto ett metaspråk med högre ordningsfunktioner för att specificera och tolka mellanliggande representationer av probabilistiska program som manipuleras av komponenter i inferensalgoritmer. Sådana högre ordningsfunktioner låter oss uppnå modularitet och hantera högre ordningsfunktioner i det probabilistiska programmeringsspråket. Dessa två egenskaper orsakar en spänning eftersom det är omöjligt att definiera en mätbar rymdstruktur över insamlingen av mätbara funktioner mellan godtyckliga mätbara
Ett exempel är den senaste tidens denotationella validering av SMC i probabilistisk programmering som getts av Cibior et al. Hoppa över det.
Denotational validation of higher-order Bayesian inference
{'venue': 'PACMPL', 'journal': None, 'mag_field_of_study': ['Computer Science']}