bias-variance-afvejning
Kompromis mellem bias (systematisk fejl) og varians (følsomhed over for træningsdata) i en model, der påvirker dens generaliseringsevne.
Kort fortalt
Jo mere kompleks en model er, desto lavere bias men højere varians; målet er at finde den rette balance for at undgå under- og overtilpasning.
- Kategori
- begreb
- Niveau
- øvet
Betydninger
1- 1
Den grundlæggende afvejning i overvåget læring mellem bias (systematisk fejl ved at antage en for simpel model) og varians (fejl som følge af for stor følsomhed over for små variationer i træningsdata). Øget modelkompleksitet reducerer bias men øger varians, og omvendt.
- I valget mellem en lineær regression og et dybt neuralt netværk skal man overveje bias-variance-afvejningen: lineær regression har høj bias men lav varians, mens et dybt netværk har lav bias men høj varians.
Hvornår bruges det
Bias-variance-afvejningen bruges til at analysere, hvorfor en model fejler, og til at vælge modelkompleksitet, regulering og træningsstrategier. Den er central i valg af modeller som beslutningstræer, neurale netværk og reguleringsmetoder.
Formel
Expected test error = Bias² + Variance + Irreducible errorKodeeksempel
import numpy as np
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
np.random.seed(42)
X = np.linspace(0, 1, 100)
y = np.sin(2 * np.pi * X) + np.random.normal(0, 0.2, 100)
X = X.reshape(-1, 1)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
for degree in [1, 3, 10]:
model = make_pipeline(PolynomialFeatures(degree), LinearRegression())
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f"Degree {degree}: MSE = {mse:.4f}")Simpelt eksempel, der viser hvordan modelkompleksitet (polynomiumsgrad) påvirker testfejlen: lavere grad giver høj bias, højere grad giver høj varians.
Oprindelse
Begrebet stammer fra statistik og maskinlæring, især fra værker af Geman, Bienenstock og Doursat (1992) samt Hastie, Tibshirani og Friedman (2001).
Kilder
2- Geman, S., Bienenstock, E., & Doursat, R. (1992). Neural networks and the bias/variance dilemma. Neural Computation, 4(1), 1-58.
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning (2nd ed.). Springer.