Пробабилистички програмски језик

С Википедије, слободне енциклопедије

Пробабилистички програмски језик (ППЈ) је програмски језик дизајниран за опише пробабилистичке моделе, а затим да изврши закључак у тим моделима. ППЈ је блиско повезани са графичким моделима и Бајесовим мрежама, али је израженији и флексибилнији.[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

Види још[уреди | уреди извор]

Референце[уреди | уреди извор]

  1. ^ „Probabilistic programming does in 50 lines of code what used to take thousands”. phys.org. 13. 4. 2015. Приступљено 13. 4. 2015. 
  2. ^ „Probabilistic Programming”. probabilistic-programming.org. Архивирано из оригинала 10. 01. 2016. г. Приступљено 18. 01. 2016. 
  3. ^ а б в „Short probabilistic programming machine-learning code replaces complex programs for computer-vision tasks”. KurzweilAI. 13. 4. 2015. Приступљено 2015.  Проверите вредност парамет(а)ра за датум: |access-date= (помоћ)
  4. ^ а б „Dimple Home Page”. probprog.org. Архивирано из оригинала 06. 01. 2016. г. Приступљено 18. 01. 2016. 
  5. ^ а б „Chimple Home Page”. probprog.org. Архивирано из оригинала 14. 05. 2014. г. Приступљено 18. 01. 2016. 
  6. ^ а б „Infer.NET”. microsoft.com. Microsoft. Архивирано из оригинала 06. 12. 2016. г. Приступљено 18. 01. 2016. 
  7. ^ а б „PRISM Home Page”. Архивирано из оригинала 01. 03. 2015. г. Приступљено 18. 01. 2016. 
  8. ^ а б „The BUGS Project - MRC Biostatistics Unit”. cam.ac.uk. Архивирано из оригинала 14. 03. 2014. г. Приступљено 18. 01. 2016. 
  9. ^ а б „Stan”. mc-stan.org. Архивирано из оригинала 03. 09. 2012. г. Приступљено 18. 01. 2016. 
  10. ^ Pfeffer, Avrom (2014). Practical Probabilistic Programming. Manning Publications. стр. 28. ISBN 978-1 6172-9233-0. 
  11. ^ Hardesty, Larry (13. 4. 2015). „Graphics in reverse”. 
  12. ^ „MIT shows off machine-learning script to make CREEPY HEADS”. The Register. 
  13. ^ CVPR 2015 Webpage - Awards
  14. ^ „Venture -- a general-purpose probabilistic programming platform”. mit.edu. Архивирано из оригинала 25. 01. 2016. г. Приступљено 18. 01. 2016. 
  15. ^ „Probabilistic C”. ox.ac.uk. Архивирано из оригинала 04. 01. 2016. г. Приступљено 18. 01. 2016. 
  16. ^ „The Anglican Probabilistic Programming System”. ox.ac.uk. 
  17. ^ „IBAL Home Page”. Архивирано из оригинала 26. 12. 2010. г. Приступљено 18. 01. 2016. 
  18. ^ „Bayesian Logic (BLOG)”. mit.edu. Архивирано из оригинала 16. 06. 2011. г. Приступљено 18. 01. 2016. 
  19. ^ 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. 
  20. ^ „Factorie - Probabilistic programming with imperatively-defined factor graphs - Google Project Hosting”. google.com. 
  21. ^ „PMTK3 - probabilistic modeling toolkit for Matlab/Octave, version 3 - Google Project Hosting”. google.com. 
  22. ^ „Alchemy - Open Source AI”. washington.edu. 
  23. ^ „Dyna Home Page”. Архивирано из оригинала 17. 01. 2016. г. Приступљено 18. 01. 2016. 
  24. ^ „Charles River Analytics - Probabilistic Modeling Services”. cra.com. 9. 2. 2017. 
  25. ^ „Church”. mit.edu. Архивирано из оригинала 14. 01. 2016. г. Приступљено 18. 01. 2016. 
  26. ^ ProbLog Home Page
  27. ^ ProbaYes. „ProbaYes - Ensemble, nous valorisations vos données”. probayes.com. Архивирано из оригинала 05. 03. 2016. г. Приступљено 18. 01. 2016. 
  28. ^ „Hakaru Home Page”. indiana.edu. Архивирано из оригинала 01. 02. 2016. г. Приступљено 18. 01. 2016. 
  29. ^ „BAli-Phy Home Page”. bali-phy.org. 
  30. ^ „ProbCog”. GitHub. 
  31. ^ Gamble Home Page|
  32. ^ „Tuffy: A Scalable Markov Logic Inference Engine”. stanford.edu. 
  33. ^ devs, PyMC. „PyMC3”. pymc-devs.github.io. Архивирано из оригинала 20. 01. 2016. г. Приступљено 18. 01. 2016. 
  34. ^ „Lea Home Page”. bitbucket.org. 

Спољашње везе[уреди | уреди извор]