• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  •  Science >> Vetenskap >  >> Matematik
    Probabilistisk programmering gör i 50 rader kod vad som brukade ta tusentals
    Probabilistisk programmering tillåter användare att uttrycka sina modeller på ett mer deklarativt sätt, vilket gör koden mer läsbar och underhållbar. Här är ett exempel:

    ``` python

    importera numpy som np

    importera pymc3 som pm

    Definiera modellen

    modell =pm.Model()

    Definiera variablerna

    x =pm.Normal("x", mu=0, sd=1)

    y =pm.Normal("y", mu=0, sd=1)

    z =pm. Normal("z", mu=x + y, sd=1)

    Definiera observationerna

    observationer =np.array([1, 2, 3])

    Anpassa modellen till observationerna

    trace =model.sample(draws=1000, chains=4)

    Skriv ut resultaten

    print (spåra)

    ```

    Denna kod definierar en enkel probabilistisk modell med tre variabler, `x`, `y` och `z`. Variablerna "x" och "y" definieras som oberoende normalfördelade slumpvariabler, och "z" definieras som summan av "x" och "y". Modellen anpassas sedan till tre observationer med Markov-kedjan Monte Carlo (MCMC) provtagning, och resultaten skrivs ut.

    Den här koden är mycket mer kortfattad än traditionella programmeringsmetoder för statistiska modeller, vilket skulle innebära att manuellt skriva ut sannolikhetsfunktionen och MCMC-samplingsalgoritmen. Probabilistisk programmering gör det lättare att skriva komplexa statistiska modeller och fokusera på modelleringsuppgiften snarare än implementeringsdetaljerna.

    © Vetenskap https://sv.scienceaq.com