Пробабилистички програмски језик
Пробабилистички програмски језик (ППЈ) је програмски језик дизајниран за опише пробабилистичке моделе, а затим да изврши закључак у тим моделима. ППЈ је блиско повезани са графичким моделима и Бајесовим мрежама, али је израженији и флексибилнији.[1] Пробабилистичко програмирање представља покушај да се "[уједине] опште намене програма са пробабилистичким моделирањем."[2]
Пробабилистичко резоновање је темељна технологија машинског учења. Користе га компаније као што су Гугл, Мајкрософт и Amazon.com. Пробабилистичко резоновање се користи за предвиђање цена акција, препоручује филмове, дијагностикује рачунаре, открива сајбер упаде и открива слике.[3]
ППЈ се често протеже од основног језика. Избор основног језика зависи од сличности модела на онтологији основног језичка, као и из комерцијалних разлога и личног избора. На пример, Dimple[4] и Chimple[5] се заснивају на Јави, Infer.NET се базира на .NET оквире,[6] док је PRISM се протеже од Prolog-а.[7] Међутим, неки ППЈ као што су WinBUGS и Stan нуде самостални језик, без очигледног порекла на другом језику.[8][9]
Неколико ППЈа су у активном развоју, укључујући и неке у бета тестирању.
Релација
[уреди | уреди извор]Пробабилистички релациони програмски језик (ПРПЈ) је ППЈ специјално дизајниран да опише и изведе закључак са пробабилистички релационалних модела (ПРМ).
ПРМ је обично развијен са сетом алгоритама за смањење, закључком о томе и откриће заинтересованих дистрибуција, које су утиснуте у одговарајући ПРПЈ.
Пробабилистичко програмирање
[уреди | уреди извор]Пробабилистичко програмирање ствара системе који помажу у доношењу одлука личне неизвесности. Пробабилистичко резоновање комбинује знање о ситуацији са [ законима вероватноће]. Донедавно, вероватноћа размишљања система је ограниченог обима, и није се успешно обратила реалним ситуацијама. Пробабилистичко програмирање је нови приступ који чини да се пробабилистичко резоновање система лакше изгради и шире примењује.[10]
Апликације
[уреди | уреди извор]У 2015, 50-линија ППЈ рачунарских визија програма је коришћено за генерисање 3D модела људских лица на основу 2D слике тих лица. Приступ користи инверзну графику као основу свог утицаја.[3] Имплементација ППЈ језика је (и домаћин језика Јулија језика) донета на MIT-у и омогућена "у 50 линија кода који се користе да се узме хиљаду [а њихови експерименти користе своје] вероватноћа програмски језик који се зове слика, која је продужетак Јулиа језика, други језик развијен на MIT-у ".[11][12] Рад на језику слике, приказан је у 2015 рачунар визији и награђена је признањем образац конференцији "Најбоља папирна диплома".[13]
Листа пробибалистичких програмских језика
[уреди | уреди извор]Name | Extends from | Host language |
---|---|---|
Venture[14] | Scheme | C++ |
Probabilistic-C[15] | C | C |
Anglican[16] | Scheme | Clojure |
IBAL[17] | OCaml | |
PRISM[7] | B-Prolog | |
Infer.NET[6] | .NET Framework | .NET Framework |
dimple[4] | MATLAB, Јава | |
chimple[5] | MATLAB, Java | |
BLOG[18] | Java | |
PSQL[19] | SQL | |
BUGS[8] | R | |
FACTORIE[20] | Скала | |
PMTK[21] | MATLAB | MATLAB |
Alchemy[22] | C++ | |
Dyna[23] | Пролог | |
Figaro[24] | Scala | |
Church[25] | Scheme | Various: JavaScript, Scheme |
ProbLog[26] | Prolog | |
ProBT[27] | C++, Пајтон | |
Stan (software)[9] | R | C++ |
Hakaru[28] | Хаскел | Haskell |
BAli-Phy (software)[29] | Haskell | C++ |
ProbCog[30] | Java, Python | |
Gamble[31] | Racket | |
Tuffy[32] | Java | |
PyMC[33] | Python | Python |
Леа[34] | Python | Python |
Picture[3] | Јулија | Julia |
Види још
[уреди | уреди извор]Референце
[уреди | уреди извор]- ^ „Probabilistic programming does in 50 lines of code what used to take thousands”. phys.org. 13. 4. 2015. Приступљено 13. 4. 2015.
- ^ „Probabilistic Programming”. probabilistic-programming.org. Архивирано из оригинала 10. 01. 2016. г. Приступљено 18. 01. 2016.
- ^ а б в „Short probabilistic programming machine-learning code replaces complex programs for computer-vision tasks”. KurzweilAI. 13. 4. 2015. Приступљено 2015. Проверите вредност парамет(а)ра за датум:
|access-date=
(помоћ) - ^ а б „Dimple Home Page”. probprog.org. Архивирано из оригинала 06. 01. 2016. г. Приступљено 18. 01. 2016.
- ^ а б „Chimple Home Page”. probprog.org. Архивирано из оригинала 14. 05. 2014. г. Приступљено 18. 01. 2016.
- ^ а б „Infer.NET”. microsoft.com. Microsoft. Архивирано из оригинала 06. 12. 2016. г. Приступљено 18. 01. 2016.
- ^ а б „PRISM Home Page”. Архивирано из оригинала 01. 03. 2015. г. Приступљено 18. 01. 2016.
- ^ а б „The BUGS Project - MRC Biostatistics Unit”. cam.ac.uk. Архивирано из оригинала 14. 03. 2014. г. Приступљено 18. 01. 2016.
- ^ а б „Stan”. mc-stan.org. Архивирано из оригинала 03. 09. 2012. г. Приступљено 18. 01. 2016.
- ^ Pfeffer, Avrom (2014). Practical Probabilistic Programming. Manning Publications. стр. 28. ISBN 978-1 6172-9233-0.
- ^ Hardesty, Larry (13. 4. 2015). „Graphics in reverse”.
- ^ „MIT shows off machine-learning script to make CREEPY HEADS”. The Register.
- ^ CVPR 2015 Webpage - Awards
- ^ „Venture -- a general-purpose probabilistic programming platform”. mit.edu. Архивирано из оригинала 25. 01. 2016. г. Приступљено 18. 01. 2016.
- ^ „Probabilistic C”. ox.ac.uk. Архивирано из оригинала 04. 01. 2016. г. Приступљено 18. 01. 2016.
- ^ „The Anglican Probabilistic Programming System”. ox.ac.uk.
- ^ „IBAL Home Page”. Архивирано из оригинала 26. 12. 2010. г. Приступљено 18. 01. 2016.
- ^ „Bayesian Logic (BLOG)”. mit.edu. Архивирано из оригинала 16. 06. 2011. г. Приступљено 18. 01. 2016.
- ^ Dey, Debabrata; Sarkar, Sumit (1998). „PSQL: A query language for probabilistic relational data”. Data & Knowledge Engineering. 28: 107—120. doi:10.1016/S0169-023X(98)00015-9.
- ^ „Factorie - Probabilistic programming with imperatively-defined factor graphs - Google Project Hosting”. google.com.
- ^ „PMTK3 - probabilistic modeling toolkit for Matlab/Octave, version 3 - Google Project Hosting”. google.com.
- ^ „Alchemy - Open Source AI”. washington.edu.
- ^ „Dyna Home Page”. Архивирано из оригинала 17. 01. 2016. г. Приступљено 18. 01. 2016.
- ^ „Charles River Analytics - Probabilistic Modeling Services”. cra.com. 9. 2. 2017.
- ^ „Church”. mit.edu. Архивирано из оригинала 14. 01. 2016. г. Приступљено 18. 01. 2016.
- ^ ProbLog Home Page
- ^ ProbaYes. „ProbaYes - Ensemble, nous valorisations vos données”. probayes.com. Архивирано из оригинала 05. 03. 2016. г. Приступљено 18. 01. 2016.
- ^ „Hakaru Home Page”. indiana.edu. Архивирано из оригинала 01. 02. 2016. г. Приступљено 18. 01. 2016.
- ^ „BAli-Phy Home Page”. bali-phy.org.
- ^ „ProbCog”. GitHub.
- ^ Gamble Home Page|
- ^ „Tuffy: A Scalable Markov Logic Inference Engine”. stanford.edu.
- ^ devs, PyMC. „PyMC3”. pymc-devs.github.io. Архивирано из оригинала 20. 01. 2016. г. Приступљено 18. 01. 2016.
- ^ „Lea Home Page”. bitbucket.org.