Кейс 5. Обучение модели как минимизация ошибки
Обучение "в лоб": минимизация loss вручную
$x = [1, 2, 3, 4];
$y = [2, 4, 6, 8];
function predict(array $x, float $w): array {
return array_map(fn($xi) => $w * $xi, $x);
}
$bestW = null;
$bestLoss = INF;
for ($w = 0; $w <= 3; $w += 0.01) {
$yHat = predict($x, $w);
$loss = mse($y, $yHat);
if ($loss < $bestLoss) {
$bestLoss = $loss;
$bestW = $w;
}
}
echo "Best w = $bestW, loss = $bestLoss";То же самое, но с библиотекой (Rubix ML)
Last updated