Gradient descent: Difference between revisions
Content added Content deleted
m (→{{header|Perl 6}}: more mindless golfing) |
m (→{{header|Perl 6}}: even more) |
||
Line 214: | Line 214: | ||
for @fi.kv -> $i, $j { @x[$i] -= $b * $j } # Calculate next value. |
for @fi.kv -> $i, $j { @x[$i] -= $b * $j } # Calculate next value. |
||
# Calculate next gradient and next value |
|||
@fi = gradG(@x, $h /= 2, g(@x)); |
@fi = gradG(@x, $h /= 2, my $g1 = g(@x)); |
||
$b = $alpha / sqrt($delG = sum(map {$_²}, @fi) ); # Calculate next norm. |
$b = $alpha / sqrt($delG = sum(map {$_²}, @fi) ); # Calculate next norm. |
||
my $g1 = g(@x); # Calculate next value. |
|||
$g1 > $g0 ?? ( $alpha /= 2 ) !! ( $g0 = $g1 ) # Adjust parameter. |
$g1 > $g0 ?? ( $alpha /= 2 ) !! ( $g0 = $g1 ) # Adjust parameter. |