Mi sono insegnato l'apprendimento automatico con alcune risorse online, ma ho una domanda sulla discesa del gradiente che non riuscivo a capire.Discesa gradiente: eseguiamo iterazioni su TUTTO il set di allenamento con ogni passo in GD? oppure Cambiamo GD per ogni set di allenamento?
La formula per discesa del gradiente è data dalla regressione logistica seguenti:
Repeat {
θj = θj−α/m∑(hθ(x)−y)xj
}
Dove θj
è il coefficiente j variabile; α
è il tasso di apprendimento; hθ(x)
è l'ipotesi; y
è il valore reale e xj
è il valore della variabile j. m
è il numero di set di allenamento. hθ(x)
, sono per ogni set di allenamento (vale a dire per che cosa è il segno di somma).
Questo è il posto dove mi confondo.
Non è chiaro per me se la somma rappresenti il mio intero set di allenamento o quante iterazioni ho fatto fino a quel momento.
Ad esempio, immagino di avere 10 esempi di formazione. Se eseguo la discesa del gradiente dopo ogni esempio di allenamento, i miei coefficienti saranno molto diversi allora se eseguirò la discesa del gradiente dopo tutti e 10 gli esempi di allenamento.
Vedere sotto come il primo modo è diversa Il secondo modo:
Primo modo
- Fase 1: Poiché i coefficienti inizializzati a 0, hθ (x) = 0
- Fase 2: Eseguire la discesa del gradiente sul primo esempio di allenamento. termine sommatoria comprende solo esempio 1 formazione
- Fase 3: Ora utilizzare nuovi coefficienti per gli esempi di formazione 1 & 2 ... termine sommatoria comprende primi esempi 2 di formazione
- Fase 4: eseguire di nuovo discesa del gradiente.
- Fase 5: Ora utilizzare nuovi coefficienti per gli esempi di formazione 1,2 & 3 ... termine sommatoria comprende primi esempi 3 di formazione
- continuerà fino a quando la convergenza o tutti esempi di addestramento utilizzati.
Secondo modo
- Fase 1: Poiché i coefficienti inizializzati a 0, hθ (x) = 0 per tutti i 10 esempi di addestramento
- Passo 2: Eseguire 1 fase di discesa del gradiente utilizzando tutti 10 esempi di formazione. I coefficienti saranno diversi dal primo modo perché il termine di sommazione include tutti i 10 esempi di allenamento
- Passaggio 3: utilizzare nuovamente i nuovi coefficienti su tutti e 10 gli esempi di addestramento.termine sommatoria comprende tutti esempi 10 di formazione
- Fase 4: eseguire discesa del gradiente e continuare a usare i coefficienti sulla tutti esempi fino convergenza
Spero che spiega la mia confusione. Qualcuno sa qual è il modo corretto?
Edit: Aggiunta funzione di costo e la funzione di ipotesi
cost function = −1/m∑[ylog(hθ(x))+(1−y)log(1−hθ(x))]
hθ(x) = 1/(1+ e^-z)
and z= θo + θ1X1+θ2X2 +θ3X3...θnXn
Discesa gradiente per quale metodo di apprendimento macchina/funzione di perdita? perceptron? SVM? – carlosdc
@carlosdc Non è SVM quindi presumo che sia perceptron? Scusate ma il corso in cui l'ho imparato da (coursera) non ha mai usato il termine perceptron. Insegnava SVM, ma quello era più avanti nel corso e io non sto usando questa equazione, quindi presumo che questo non sia un SVM. Comunque potrei dire? –
@carlosdc l'equazione che ho fornito è la derivata della funzione di costo ... L'ipotesi è '1/(1+ e^-z)' e 'z = θo + θ1X1 + θ2X2 + θ3X3 ... θnXn' .. . La funzione di costo è: '-1/mΣ [ylog (hθ (x)) + (1-y) log (1-hθ (x))]' –