Hoppa till innehållet
AI-grafen
D· AI-utvecklarematematik· ca 45 min· grundläggande — ändras sällan· verifierad 2026-09-20

Partiella derivator och gradienten

Kunna beräkna partiella derivator och tolka gradienten som brantaste riktning.

Öva i Mattegrafen ↗ · Matematik 5

Förkunskaper

Intuition

En funktion av flera variabler, f(x, y), är en yta. Lutningen beror på vilket håll du går.

Partiell derivata ∂f/∂x: lutningen om du bara ändrar x och håller y fast. Du deriverar som vanligt och behandlar y som en konstant.

f(x, y) = x² + 3xy + y²

  • ∂f/∂x = 2x + 3y (y konstant)
  • ∂f/∂y = 3x + 2y (x konstant)

Gradienten ∇f = (∂f/∂x, ∂f/∂y) är en vektor som pekar i den riktning där funktionen växer snabbast. Dess längd är hur brant det är.

Därför går gradient descent minus gradienten: brantaste vägen nedåt.

Formellt

∇f(x,y)=(∂f∂x,∂f∂y)\nabla f(x,y) = \left(\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right). I punkten (1,2)(1, 2) för f=x2+3xy+y2f = x^2 + 3xy + y^2: ∇f=(2⋅1+3⋅2,  3⋅1+2⋅2)=(8,7)\nabla f = (2\cdot1 + 3\cdot2,\; 3\cdot1 + 2\cdot2) = (8, 7).

Riktningsderivatan i en enhetsriktning uu är Duf=∇f⋅uD_u f = \nabla f \cdot u — störst när uu pekar åt samma håll som ∇f\nabla f (skalärprodukten maximeras), noll vinkelrätt mot gradienten (då går man längs en nivåkurva).

I en minimipunkt är ∇f=0\nabla f = 0 (alla partiella derivator noll) — nödvändigt men inte tillräckligt: det kan också vara maximum eller sadelpunkt.

För en modell med miljontals parametrar är gradienten en vektor med miljontals komponenter — en per parameter. Backpropagation är metoden att beräkna alla på en genomgång, i stället för en i taget.

Kod

import numpy as np

def f(x, y):
    return x**2 + 3*x*y + y**2

def grad(x, y):
    return np.array([2*x + 3*y, 3*x + 2*y])

print(grad(1, 2))          # [8 7]

# numerisk kontroll (alltid värd att göra)
eps = 1e-6
num = np.array([(f(1+eps, 2) - f(1-eps, 2)) / (2*eps),
                (f(1, 2+eps) - f(1, 2-eps)) / (2*eps)])
print(np.round(num, 4))    # [8. 7.]

Den numeriska gradientkontrollen är standardknepet när man implementerat backprop själv: stämmer de analytiska och numeriska gradienterna är implementationen troligen rätt.

Behärskning innebär

  • Beräknar partiella derivator för en funktion av två variabler
  • Tolkar gradienten som riktningen för brantaste ökning

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

Källor

Alla källor och licenser