Ich lernte Gradientenabstieg durch Online-Ressourcen (nämlich maschinelles Lernen bei Courgra). Die angegebene Information besagt jedoch nur, dass der Gradientenabfall wiederholt wird, bis er konvergiert.Gradient-Sink-Konvergenz Wie entscheidet man über die Konvergenz?
Ihre Definition von Konvergenz bestand darin, einen Graphen der Kostenfunktion relativ zur Anzahl der Iterationen zu verwenden und zu beobachten, wann der Graph flacher wird. Daher gehe ich davon aus, dass ich folgendes tun würde:
if (change_in_costfunction > precisionvalue) {
repeat gradient_descent
}
Alternativ ich frage mich, ob eine andere Art und Weise der Konvergenz zu bestimmen, ist der Koeffizient Ansatz zu sehen, es ist wahr Wert:
if (change_in_coefficient_j > precisionvalue) {
repeat gradient_descent_for_j
}
...repeat for all coefficients
So Konvergenz auf basieren die Kostenfunktion oder die Koeffizienten? Und wie bestimmen wir den Präzisionswert? Sollte es ein% des Koeffizienten oder der Gesamtkostenfunktion sein?
Konvergenz ist immer „keine Änderung“ (oder eine zu kleine Änderung) in der Optimierungsvariablen, was sich in den meisten Fällen direkt auf Ihre Kosten auswirken sollte. –