Middle+
Ako riešime problém lineárnej regresie, ak nepoužívame explicitnú formulu?
sobes.tech AI
Odpoveď od AI
Ak ne používate explicitnú vzorovú rovnicu na riešenie problému lineárnej regresie (napríklad normálnu rovnicu), zvyčajne sa používajú číselné metódy optimalizácie, ako je gradientný zostup.
Myšlienka je iteratívne aktualizovať parametre modelu (váhy), minimalizovaním funkcie straty (napríklad strednej štvorcovej chyby). Pri každom kroku sa vypočíta gradient funkcie straty vzhľadom na parametre a parametre sa upravujú smerom k zníženiu chyby.
Príklad v Pythone s použitím gradientného zostupu:
import numpy as np
# X - matica vlastností, y - cieľová premenná
# Pridáme stĺpec jednotiek pre voľný člen
X_b = np.c_[np.ones((len(X), 1)), X]
# Inicializácia váh
theta = np.random.randn(X_b.shape[1], 1)
learning_rate = 0.01
n_iterations = 1000
m = len(X_b)
for iteration in range(n_iterations):
gradients = 2/m * X_b.T.dot(X_b.dot(theta) - y)
theta = theta - learning_rate * gradients
print("Optimálne parametre:", theta)
Týmto spôsobom, bez explicitnej vzorovej rovnice, používame iteratívny prístup na približovanie k optimálnym parametrom.