📈 optim - Optimizasyon Algoritmaları
Gradient Descent, BFGS, Genetic, Simulated Annealing
49
Fonksiyon
723
Satır
23 KB
Boyut
🚀 Hızlı Başlangıç
içe_aktar optim, math
// Minimize f(x) = (x-3)²
fonksiyon objective(x: kesir) -> kesir yap
dön (x - 3.0) * (x - 3.0)
son
// Gradient descent
değişken sonuç = optim.minimize(objective, 0.0, yap
yöntem: optim.GRADIENT_DESCENT,
öğrenme_oranı: 0.1,
max_iter: 100
son)
yazdır("Minimum: x = " + sonuç.x.yazıya()) // x ≈ 3.0
yazdır("f(x) = " + sonuç.f_min.yazıya()) // f(x) ≈ 0.0
📚 Algoritmalar
- Gradient Descent: GD, SGD, Adam, RMSprop
- Quasi-Newton: BFGS, L-BFGS
- Metaheuristics: Genetic, PSO, Simulated Annealing
- Constrained: Lagrange multipliers, Penalty method
💡 Örnekler
Linear Regression (Gradient Descent)
içe_aktar optim, linalg
// Training data
değişken X = [[1.0], [2.0], [3.0], [4.0], [5.0]]
değişken y = [2.0, 4.0, 6.0, 8.0, 10.0]
// Loss function (MSE)
fonksiyon loss(params: Dizi) -> kesir yap
değişken w = params[0]
değişken b = params[1]
değişken total_loss = 0.0
her i içinde aralık(0, X.uzunluk()) için yap
değişken prediction = w * X[i][0] + b
değişken error = prediction - y[i]
total_loss = total_loss + error * error
son
dön total_loss / X.uzunluk().kesir()
son
// Optimize
değişken sonuç = optim.minimize(loss, [0.0, 0.0], yap
yöntem: optim.ADAM,
öğrenme_oranı: 0.1,
max_iter: 1000
son)
değişken w = sonuç.x[0]
değişken b = sonuç.x[1]
yazdır("y = " + w.yazıya() + "x + " + b.yazıya()) // y ≈ 2x + 0