Ho imparato la discesa gradiente attraverso le risorse online (ovvero l'apprendimento automatico presso la coursera). Tuttavia, le informazioni fornite dicono solo di ripetere la discesa del gradiente fino a quando converge.Convergenza di discesa dei gradienti Come decidere la convergenza?
La loro definizione di convergenza era quella di utilizzare un grafico della funzione di costo relativa al numero di iterazioni e osservare quando il grafico si appiattisce. Quindi presumo che avrei fatto il seguente:
if (change_in_costfunction > precisionvalue) {
repeat gradient_descent
}
In alternativa, mi chiedevo se un altro modo per determinare la convergenza è quello di guardare l'approccio coefficiente è vero valore:
if (change_in_coefficient_j > precisionvalue) {
repeat gradient_descent_for_j
}
...repeat for all coefficients
Così è la convergenza basata su la funzione di costo oi coefficienti? E come determiniamo il valore di precisione? Dovrebbe essere un% del coefficiente o della funzione di costo totale?
convergenza è sempre "nessun cambiamento" (o troppo piccolo cambiamento) nelle variabili di ottimizzazione, che dovrebbe riflettere direttamente sul costo nella maggior parte dei casi. –