Hoppa till innehållet
AI-grafen
E· Universitetmatematik· ca 60 min· utvecklande· verifierad 2026-09-20

Integraler i sannolikhet: väntevärde

Kunna beräkna väntevärde och varians för kontinuerliga fördelningar.

Förkunskaper

Intuition

För en diskret fördelning är väntevärdet en summa: E[X] = Σ x·P(x). För en kontinuerlig fördelning blir summan en integral:

E[X]=∫−∞∞x p(x) dx\mathbb E[X] = \int_{-\infty}^{\infty} x\,p(x)\,dx

Samma idé: varje värde vägs med sin sannolikhetstäthet.

Variansen mäter spridningen: Var(X)=E[(X−μ)2]=E[X2]−μ2\text{Var}(X) = \mathbb E[(X-\mu)^2] = \mathbb E[X^2] - \mu^2

Den andra formen är nästan alltid lättare att räkna med.

Formellt

Likformig på [a, b]: p(x)=1/(b−a)p(x) = 1/(b-a), E[X]=a+b2\mathbb E[X] = \frac{a+b}{2}, Var(X)=(b−a)212\text{Var}(X) = \frac{(b-a)^2}{12}.

Exponentiell med parameter λ: p(x)=λe−λxp(x) = \lambda e^{-\lambda x} för x≥0x\ge 0, E[X]=1/λ\mathbb E[X] = 1/\lambda, Var(X)=1/λ2\text{Var}(X) = 1/\lambda^2.

Normal: E[X]=μ\mathbb E[X] = \mu, Var(X)=σ2\text{Var}(X) = \sigma^2.

Linjäritet — den mest använda egenskapen: E[aX+bY]=aE[X]+bE[Y]\mathbb E[aX + bY] = a\mathbb E[X] + b\mathbb E[Y] gäller alltid, även när X och Y är beroende. Variansen är däremot inte linjär: Var(aX)=a2Var(X),Var(X+Y)=Var(X)+Var(Y)+2 Cov(X,Y)\text{Var}(aX) = a^2\text{Var}(X), \qquad \text{Var}(X+Y) = \text{Var}(X)+\text{Var}(Y)+2\,\text{Cov}(X,Y) Den sista termen försvinner bara om X och Y är okorrelerade.

Kopplingen till ML: varje loss-funktion är ett väntevärde över datafördelningen, L(θ)=E(x,y)∼D[ℓ(fθ(x),y)]\mathcal L(\theta) = \mathbb E_{(x,y)\sim D}[\ell(f_\theta(x), y)]. Vi kan inte beräkna integralen — vi skattar den med ett stickprov, vilket är exakt vad en minibatch är. Att E\mathbb E av minibatch-gradienten är den sanna gradienten (obiased) är hela grunden för att SGD fungerar.

Kod

import numpy as np
from scipy import integrate

# Exponentiell med lambda = 2: E[X] = 0,5, Var = 0,25
p = lambda x: 2 * np.exp(-2 * x)
E  = integrate.quad(lambda x: x * p(x), 0, np.inf)[0]
E2 = integrate.quad(lambda x: x**2 * p(x), 0, np.inf)[0]
print(round(E, 4), round(E2 - E**2, 4))      # 0.5 0.25

# Monte Carlo — samma svar utan att lösa integralen
rng = np.random.default_rng(0)
x = rng.exponential(scale=0.5, size=200_000)
print(round(x.mean(), 4), round(x.var(), 4))  # 0.4997 0.2494

# Minibatch-gradienten är en obiased skattning av den sanna
def sann_gradient(data, theta):
    return np.mean([grad(d, theta) for d in data], axis=0)
def minibatch_gradient(data, theta, bs, rng):
    return np.mean([grad(d, theta) for d in rng.choice(data, bs, replace=False)], axis=0)
# E[minibatch_gradient] == sann_gradient  → därför konvergerar SGD

Behärskning innebär

  • Beräknar väntevärde och varians för kontinuerliga fördelningar
  • Kopplar integralen till Monte Carlo-skattning
  • Använder linjäritet

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser