Synteza programu bayesowskiego
W językach programowania i uczeniu maszynowym Bayesowska synteza programów (BPS) to technika syntezy programów , w której programy probabilistyczne Bayesa automatycznie konstruują nowe programy probabilistyczne Bayesa. Takie podejście kontrastuje z rutynową praktyką programowania probabilistycznego , w której programiści ręcznie piszą nowe programy probabilistyczne.
Ramy
Synteza programu bayesowskiego (BPS) została opisana jako struktura związana z programowaniem probabilistycznym i wykorzystująca ją. W BPS generowane są programy probabilistyczne, które same są priorytetami w przestrzeni programów probabilistycznych. Ta strategia umożliwia automatyczną syntezę nowych programów poprzez wnioskowanie probabilistyczne i jest osiągana poprzez kompozycję modułowych programów składowych.
Modułowość w BPS pozwala wnioskować na pracę i testowanie mniejszych programów probabilistycznych przed zintegrowaniem ich z większym modelem.
Ramy te można porównać z rodziną pól zautomatyzowanej syntezy programów , które obejmują programowanie na przykładzie i programowanie na podstawie demonstracji . Celem w takich dziedzinach jest znalezienie najlepszego programu, który spełnia pewne ograniczenia. Na przykład w tradycyjnej syntezie programów weryfikacja ograniczeń logicznych zmniejsza przestrzeń stanów możliwych programów, umożliwiając bardziej wydajne wyszukiwanie w celu znalezienia optymalnego programu. Synteza programów bayesowskich różni się zarówno tym, że ograniczenia są probabilistyczne, jak i sam wynik jest rozkładem na programy, które można dalej udoskonalać.
Ponadto syntezę programu bayesowskiego można porównać z pracą nad uczeniem się programu bayesowskiego, w której probabilistyczne komponenty programu są pisane odręcznie, wstępnie trenowane na danych, a następnie ręcznie składane w celu rozpoznawania odręcznych znaków.
Zobacz też
Linki zewnętrzne
- Komentarz do BPS autorstwa Davida Garrity: Sztuczna inteligencja, aby zobaczyć znaczący postęp w 2017 roku