Cosa rende convesso un errore Surface Surface? È determinato dalla matrice di Covarinace o dall'Assia?


17

Attualmente sto imparando le stime dei minimi quadrati (e altri) per la regressione, e da quello che sto leggendo anche in alcune letterature di algoritmi adattativi, spesso volte la frase "... e poiché la superficie dell'errore è convessa ..." appare e qualsiasi profondità sul perché sia ​​convesso per cominciare non è da trovare.

... Quindi cosa lo rende esattamente convesso ?

Trovo questa ripetuta omissione leggermente fastidiosa perché voglio essere in grado di progettare i miei algoritmi adattativi, con le mie funzioni di costo, ma se non posso dire se la mia funzione di costo produce o meno una superficie di errore convessa, non sarò in grado di andare troppo lontano nell'applicare qualcosa come la discesa gradiente perché non ci sarà un minimo globale. Forse voglio diventare creativo - forse non voglio usare i minimi quadrati come criterio di errore, ad esempio.

Scavando più a fondo, (e le mie domande iniziano qui), ho scoperto che per essere in grado di dire se hai una superficie di errore convessa, devi assicurarti che la tua matrice hessiana sia semi-definita positiva. Per le matrici simmetriche, questo test è semplice: assicurati semplicemente che tutti gli autovalori della matrice hessiana siano non negativi. (Se la tua matrice non è simmetrica, puoi renderla simmetrica aggiungendola al suo proprio recepimento ed eseguendo lo stesso test sugli autovalori, in virtù della grammatica , ma qui non è importante).

Cos'è una matrice hessiana? La matrice hessiana codifica tutte le possibili combinazioni dei parziali della tua funzione di costo. Quanti parziali ci sono? Tanto quanto il numero di funzioni nel vettore delle caratteristiche. Come calcolare i parziali? Prendi i derivati ​​parziali "a mano" dalla funzione di costo originale.

Quindi è esattamente quello che ho fatto: presumo che abbiamo una matrice di dati x , indicata dalla matrice , dove, indica il numero di esempi e indica il numero di funzioni per esempio. (che sarà anche il numero di parziali). Suppongo che possiamo dire che abbiamo campioni di tempo e campioni spaziali da sensori, ma l'applicazione fisica non è troppo importante qui.n X m n m nmnXmnmn

Inoltre, abbiamo anche un vettore di dimensioni x . (Questo è il tuo vettore 'etichetta' o la tua 'risposta' corrispondente ad ogni riga di ). Per semplicità, ho assunto per questo esempio particolare. Quindi 2 "esempi" e 2 "caratteristiche".m 1 X m = n = 2ym1Xm=n=2

Quindi ora supponiamo che tu voglia accertare la "linea" o il polinomio di migliore adattamento qui. Ossia, proietti le funzionalità dei tuoi dati di input contro il tuo vettore polinomiale θ tale che la tua funzione di costo sia:

J(θ)=12mi=1m[θ0x0[i]+θ1x1[i]y[i]]2

Ora prendiamo la prima derivata parziale wrt , (caratteristica 0) Quindi:θ0

δJ(θ)δθ0=1mi=1m[θ0x0[i]+θ1x1[i]y[i]]x0[i]

δJ(θ)δθ0=1mi=1m[θ0x02[i]+θ1x1[i]x0[i]y[i]x0[i]]

Ora, calcoliamo tutti i secondi parziali, quindi:

δ2J(θ)δθ02=1mΣio=1mX02[io]

δ2J(θ)δθ0θ1=1mΣio=1mX0[io]X1[io]

δ2J(θ)δθ1θ0=1mΣio=1mX1[io]X0[io]

δ2J(θ)δθ12=1mΣio=1mX12[io]

Sappiamo che l'Assia non è altro che:

H(J(θ))=[δ2J(θ)δθ02δ2J(θ)δθ0θ1δ2J(θ)δθ1θ0δ2J(θ)δθ12]

H(J(θ))=[1mΣio=1mX02[io]1mΣio=1mX0[io]X1[io]1mΣio=1mX1[io]X0[io]1mΣio=1mX12[io]]

Ora, in base al modo in cui ho costruito la matrice di dati , (le mie "caratteristiche" vanno per colonne e i miei esempi vanno per righe), l'Assia sembra essere:X

H(J(θ))=XTX=Σ

... che non è altro che la matrice di covarianza del campione !

Quindi non sono del tutto sicuro di come interpretare - o dovrei dire, non sono del tutto sicuro di quanto dovrei essere generalista. Ma penso di poter dire che:

  • Sempre vero:

    • La matrice hessiana controlla sempre se la superficie di errore / costo è convessa.
    • Se la tua matrice hessiana è pos-semi-def, sei convesso (e puoi usare felicemente algoritmi come la discesa del gradiente per convergere alla soluzione ottimale).
  • Vero solo per LSE:

    • La matrice hessiana per il criterio del costo LSE non è altro che la matrice di covarianza originale. (!).
    • Per me questo significa che, se utilizzo il criterio LSE, i dati stessi determinano se ho o meno una superficie convessa? ... Ciò significherebbe quindi che gli autovettori della mia matrice di covarianza hanno in qualche modo la capacità di "modellare" la superficie dei costi? È sempre vero? O ha funzionato solo per i criteri LSE? Non è giusto che la convessità di una superficie di errore dipenda dai dati.

Quindi, rimettendolo nel contesto della domanda originale, come si determina se un errore di navigazione (basato su una funzione di costo selezionata) è convesso o no? Questa determinazione si basa sui dati o sull'Assia?

Grazie

TLDR: In che modo, esattamente e praticamente , posso determinare se la mia funzione di costo e / o set di dati produce una superficie di errore convessa o non convessa?

Risposte:


7

Puoi pensare ai minimi quadrati lineari nella singola dimensione. La funzione di costo è simile a . Il primo derivato (giacobino) è quindi , quindi lineare in . La seconda derivata (Assia) è - una costante.un'22un'un'2

Poiché la seconda derivata è positiva, hai a che fare con la funzione di costo convesso. Ciò è equivalente alla matrice positiva dell'Assia definita nel calcolo multivariato.

Hai a che fare solo con due variabili ( , ), quindi l'Assia è particolarmente semplice.θ1θ2

In pratica, tuttavia, ci sono spesso molte variabili coinvolte, quindi non è pratico costruire e ispezionare l'Assia.

Il metodo più efficiente consiste nel lavorare direttamente sulla matrice giacobina nel problema dei minimi quadrati:J

JX=B

J può essere carente di rango, singolare o quasi singolare. In tali casi, la superficie quadratica della funzione di costo è quasi piatta e / o selvaggiamente allungata in una certa direzione. Puoi anche scoprire che la tua matrice è teoricamente risolvibile, ma la soluzione è numericamente instabile. Un metodo di precondizionamento può essere utilizzato per far fronte a tali casi.

Alcuni algoritmi semplice eseguire una decomposizione di Cholesky di . Se l'algoritmo fallisce, significa che è singolare (o mal condizionato).JJ

Numericamente più stabile, ma più costosa è una decomposizione QR , che esiste anche solo se è regolare.J

Infine, il metodo all'avanguardia è una decomposizione del valore singolare (SVD) , che è la più costosa, può essere eseguita su ogni matrice, rivela il rango numerico di e consente di trattare separatamente i casi di carenza del rango.J

Ho scritto un articolo sulle soluzioni dei minimi quadrati lineari e non lineari che tratta in dettaglio questi argomenti:

Minimi quadrati lineari e non lineari con Math.NET

Ci sono anche riferimenti a grandi libri che trattano argomenti avanzati relativi ai minimi quadrati (covarianza nei parametri / punti dati, precondizionamento, ridimensionamento, regressione della distanza ortogonale - minimi quadrati totali, determinazione della precisione e dell'accuratezza dello stimatore dei minimi quadrati ecc. ).

Ho realizzato un progetto di esempio per l'articolo, che è open source:

LeastSquaresDemo - binario

LeastSquaresDemo - source (C #)


Grazie Libor: 1) Tangenziale ma, choleskey è come una radice quadrata a matrice sembra, sì? 2) Non sono sicuro di aver capito il tuo punto su come l'Assia ti dice della convessità in ogni punto sulla superficie dell'errore - stai dicendo in generale? Perché dalla derivazione LSE sopra, l'Assia non dipende affatto dai parametri , e solo dai dati. Forse intendi in generale? 3) Finalmente in totale, come determinare se una superficie di errore è convessa - basta attenersi per assicurarsi che l'Assia sia SPD? Ma hai detto che potrebbe dipendere da ... quindi come si può sapere con certezza? Grazie! θθ
Spacey,

2) Sì, intendo in generale. Nei minimi quadrati lineari, l'intera superficie dell'errore ha un'assia costante. Prendere la seconda derviativa del quadratico è costante, lo stesso vale per l'Assia. 3) Dipende dal condizionamento della matrice dei dati. Se l'Hessian è spd, c'è una singola soluzione chiusa e la superficie dell'errore è convessa in tutte le direzioni. Altrimenti la matrice di dati è mal condizionata o singolare. Non ho mai usato Assia per sondare ciò, piuttosto ispezionando i valori singolari della matrice di dati o controllando se ha una decomposizione di Cholesky. Entrambi i modi ti diranno se esiste una soluzione.
Libor,

Libor - 1) Se puoi, aggiungi come hai usato la matrice di dati SVD di o come hai usato la decomposizione di Choleskey per verificare che tu abbia una singola soluzione chiusa, sembrano essere molto utili e un buon punto, e Sarei curioso di imparare come usare quelli. 2) Ultima cosa, solo per assicurarsi che ho capito su dell'Assia: Così la tela di iuta è, in generale, una funzione di , e / o . Se è SPD, abbiamo una superficie convessa. (Se l'Assia ha in esso, tuttavia, dovremmo valutarlo ovunque sembra). Grazie ancora. XθXθ
Spacey,

Mohammad: 1) Ho riscritto la risposta e aggiunto collegamenti al mio articolo su Least-Squares (potrebbero esserci degli errori, non l'ho ancora pubblicato ufficialmente) incluso il progetto di esempio funzionante. Spero che ti possa aiutare a capire il problema in modo più approfondito ... 2) Nei minimi quadrati lineari, l'Assia è costante e dipende solo dai punti dati. In generale, dipende anche dai parametri del modello, ma questo è solo il caso dei minimi quadrati non lineari.
Libor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.