Ich habe Gradientenabstieg durch Online-Ressourcen gelernt (nämlich Machine Learning bei Coursera). Die bereitgestellten Informationen sagten jedoch nur aus, den Gradientenabstieg so lange zu wiederholen, bis er konvergiert.
Ihre Definition von Konvergenz bestand darin, einen Graphen der Kostenfunktion relativ zur Anzahl der Iterationen zu verwenden und zu beobachten, wann sich der Graph abflacht. Deshalb gehe ich davon aus, dass ich folgendes tun würde:
if (Änderung_in_Kostenfunktion > Präzisionswert) {
wiederhole den Gradientenabstieg
}
Alternativ frage ich mich, ob eine andere Möglichkeit, Konvergenz festzustellen, darin besteht, den Koeffizienten seinem wahren Wert anzunähern:
if (Änderung_im_Koeffizienten_j > Präzisionswert) {
wiederhole den Gradientenabstieg_für_j
}
...wiederhole für alle Koeffizienten
Basieren Konvergenz auf der Kostenfunktion oder den Koeffizienten? Und wie bestimmen wir den Präzisionswert? Sollte es sich um einen Prozentsatz des Koeffizienten oder der Gesamtkostenfunktion handeln?