Gradient descent: Difference between revisions

Content added Content deleted
mNo edit summary
mNo edit summary
Line 151: Line 151:
my $delG = 0;
my $delG = 0;
for ^N { $delG += @fi[$_]² }
for ^N { $delG += @fi[$_]² }
$delG = $delG.sqrt;
my $b = $alpha / $delG.sqrt;
my $b = $alpha / $delG;


while ( $delG > $tolerance ) { # Iterate until value is <= tolerance.
while ( $delG > $tolerance ) { # Iterate until value is <= tolerance.
Line 164: Line 163:
$delG = 0;
$delG = 0;
for ^N { $delG += @fi[$_]² }
for ^N { $delG += @fi[$_]² }
$delG = $delG.sqrt;
$b = $alpha / $delG.sqrt;
$b = $alpha / $delG;


my $g1 = g(@x); # Calculate next value.
my $g1 = g(@x); # Calculate next value.