Pređi na sadržaj

Probabilistički programski jezik

S Vikipedije, slobodne enciklopedije

Probabilistički programski jezik (PPJ) je programski jezik dizajniran za opiše probabilističke modele, a zatim da izvrši zaključak u tim modelima. PPJ je blisko povezani sa grafičkim modelima i Bajesovim mrežama, ali je izraženiji i fleksibilniji.[1] Probabilističko programiranje predstavlja pokušaj da se "[ujedine] opšte namene programa sa probabilističkim modeliranjem."[2]

Probabilističko rezonovanje je temeljna tehnologija mašinskog učenja. Koriste ga kompanije kao što su Gugl, Majkrosoft i Amazon.com. Probabilističko rezonovanje se koristi za predviđanje cena akcija, preporučuje filmove, dijagnostikuje računare, otkriva sajber upade i otkriva slike.[3]

PPJ se često proteže od osnovnog jezika. Izbor osnovnog jezika zavisi od sličnosti modela na ontologiji osnovnog jezička, kao i iz komercijalnih razloga i ličnog izbora. Na primer, Dimple[4] i Chimple[5] se zasnivaju na Javi, Infer.NET se bazira na  .NET okvire,[6] dok je PRISM se proteže od Prolog-a.[7] Međutim, neki PPJ kao što su WinBUGS i Stan nude samostalni jezik, bez očiglednog porekla na drugom jeziku.[8][9]

Nekoliko PPJa su u aktivnom razvoju, uključujući i neke u beta testiranju.

Relacija[uredi | uredi izvor]

Probabilistički relacioni programski jezik (PRPJ) je PPJ specijalno dizajniran da opiše i izvede zaključak sa probabilistički relacionalnih modela (PRM).

PRM je obično razvijen sa setom algoritama za smanjenje, zaključkom o tome i otkriće zainteresovanih distribucija, koje su utisnute u odgovarajući PRPJ.

Probabilističko programiranje[uredi | uredi izvor]

Probabilističko programiranje stvara sisteme koji pomažu u donošenju odluka lične neizvesnosti. Probabilističko rezonovanje kombinuje znanje o situaciji sa [ zakonima verovatnoće]. Donedavno, verovatnoća razmišljanja sistema je ograničenog obima, i nije se uspešno obratila realnim situacijama. Probabilističko programiranje je novi pristup koji čini da se probabilističko rezonovanje sistema lakše izgradi i šire primenjuje.[10]

Aplikacije[uredi | uredi izvor]

U 2015, 50-linija PPJ računarskih vizija programa je korišćeno za generisanje 3D modela ljudskih lica na osnovu 2D slike tih lica. Pristup koristi inverznu grafiku kao osnovu svog uticaja.[3] Implementacija PPJ jezika je (i domaćin jezika Julija jezika) doneta na MIT-u i omogućena "u 50 linija koda koji se koriste da se uzme hiljadu [a njihovi eksperimenti koriste svoje] verovatnoća programski jezik koji se zove slika, koja je produžetak Julia jezika, drugi jezik razvijen na MIT-u ".[11][12] Rad na jeziku slike, prikazan je u 2015 računar viziji i nagrađena je priznanjem obrazac konferenciji "Najbolja papirna diploma".[13]

Lista probibalističkih programskih jezika[uredi | uredi izvor]

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, Java
chimple[5] MATLAB, Java
BLOG[18] Java
PSQL[19] SQL
BUGS[8] R
FACTORIE[20] Skala
PMTK[21] MATLAB MATLAB
Alchemy[22] C++
Dyna[23] Prolog
Figaro[24] Scala
Church[25] Scheme Various: JavaScript, Scheme
ProbLog[26] Prolog
ProBT[27] C++, Pajton
Stan (software)[9] R C++
Hakaru[28] Haskel Haskell
BAli-Phy (software)[29] Haskell C++
ProbCog[30] Java, Python
Gamble[31] Racket
Tuffy[32] Java
PyMC[33] Python Python
Lea[34] Python Python
Picture[3] Julija Julia

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ „Probabilistic programming does in 50 lines of code what used to take thousands”. phys.org. 13. 4. 2015. Pristupljeno 13. 4. 2015. 
  2. ^ „Probabilistic Programming”. probabilistic-programming.org. Arhivirano iz originala 10. 01. 2016. g. Pristupljeno 18. 01. 2016. 
  3. ^ a b v „Short probabilistic programming machine-learning code replaces complex programs for computer-vision tasks”. KurzweilAI. 13. 4. 2015. Pristupljeno 2015.  Proverite vrednost paramet(a)ra za datum: |access-date= (pomoć)
  4. ^ a b „Dimple Home Page”. probprog.org. Arhivirano iz originala 06. 01. 2016. g. Pristupljeno 18. 01. 2016. 
  5. ^ a b „Chimple Home Page”. probprog.org. Arhivirano iz originala 14. 05. 2014. g. Pristupljeno 18. 01. 2016. 
  6. ^ a b „Infer.NET”. microsoft.com. Microsoft. Arhivirano iz originala 06. 12. 2016. g. Pristupljeno 18. 01. 2016. 
  7. ^ a b „PRISM Home Page”. Arhivirano iz originala 01. 03. 2015. g. Pristupljeno 18. 01. 2016. 
  8. ^ a b „The BUGS Project - MRC Biostatistics Unit”. cam.ac.uk. Arhivirano iz originala 14. 03. 2014. g. Pristupljeno 18. 01. 2016. 
  9. ^ a b „Stan”. mc-stan.org. Arhivirano iz originala 03. 09. 2012. g. Pristupljeno 18. 01. 2016. 
  10. ^ Pfeffer, Avrom (2014). Practical Probabilistic Programming. Manning Publications. str. 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. Arhivirano iz originala 25. 01. 2016. g. Pristupljeno 18. 01. 2016. 
  15. ^ „Probabilistic C”. ox.ac.uk. Arhivirano iz originala 04. 01. 2016. g. Pristupljeno 18. 01. 2016. 
  16. ^ „The Anglican Probabilistic Programming System”. ox.ac.uk. 
  17. ^ „IBAL Home Page”. Arhivirano iz originala 26. 12. 2010. g. Pristupljeno 18. 01. 2016. 
  18. ^ „Bayesian Logic (BLOG)”. mit.edu. Arhivirano iz originala 16. 06. 2011. g. Pristupljeno 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”. Arhivirano iz originala 17. 01. 2016. g. Pristupljeno 18. 01. 2016. 
  24. ^ „Charles River Analytics - Probabilistic Modeling Services”. cra.com. 9. 2. 2017. 
  25. ^ „Church”. mit.edu. Arhivirano iz originala 14. 01. 2016. g. Pristupljeno 18. 01. 2016. 
  26. ^ ProbLog Home Page
  27. ^ ProbaYes. „ProbaYes - Ensemble, nous valorisations vos données”. probayes.com. Arhivirano iz originala 05. 03. 2016. g. Pristupljeno 18. 01. 2016. 
  28. ^ „Hakaru Home Page”. indiana.edu. Arhivirano iz originala 01. 02. 2016. g. Pristupljeno 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. Arhivirano iz originala 20. 01. 2016. g. Pristupljeno 18. 01. 2016. 
  34. ^ „Lea Home Page”. bitbucket.org. 

Spoljašnje veze[uredi | uredi izvor]