Gradient descent

Gradient descent er en iterativ optimeringsalgoritme, der minimerer en funktion ved at opdatere parametre i modsat retning af gradienten af funktionen.

Kort fortalt

Gradient descent er en metode, der langsomt justerer parametre for at gøre en fejlfunktion mindre, lidt ligesom at gå ned ad en bakke i tåge.

Kategori
træning
Niveau
øvet
Udtale
/ˈɡreɪdiənt dɪˈsent/

Betydninger

1
  1. 1

    En optimeringsalgoritme, der iterativt opdaterer parametre for at minimere en tabelfunktion, ved at beregne gradienten og flytte parametre i den modsatte retning med en bestemt læringshastighed.

    • Vi anvender gradient descent til at optimere vægtene i vores neurale netværk.Ruder, 2016
    • Stokastisk gradient descent opdaterer vægtene baseret på en enkelt datapunkt ad gangen.Ruder, 2016

Hvornår bruges det

Gradient descent anvendes til at træne maskinlæringsmodeller ved at minimere en tabelfunktion. Det er grundlaget for de fleste neurale netværksoptimeringer og bruges i varianter som stokastisk gradient descent og Adam.

Formel

θ = θ - α ∇J(θ)

Kodeeksempel

import numpy as np

def gradient_descent(X, y, lr=0.01, epochs=100):
    m, n = X.shape
    theta = np.zeros(n)
    for _ in range(epochs):
        grad = (1/m) * X.T @ (X @ theta - y)
        theta -= lr * grad
    return theta

Simpel gradient descent-implementering til lineær regression i Python.

Oprindelse

Ordet 'gradient' kommer fra latin 'gradus' (skridt) og 'descendere' (stige ned), hvilket beskriver algoritmens tilgang til at tage skridt ned ad en funktions hældning.

Afledte ord

3

Kilder

2