Qualcuno è riuscito a eseguire una regressione ordinaria dei minimi quadrati in Vowpal Wabbit? Sto cercando di confermare che restituirà la stessa risposta come la soluzione esatta, vale a dire quando si sceglie un minimizzare ||y - X a||_2 + ||Ra||_2
(dove R è la regolarizzazione) Voglio ottenere la risposta analitica a = (X^T X + R^T R)^(-1) X^T y
. Fare questo tipo di regressione richiede circa 5 righe in Python numpy.Regressione ordinaria dei minimi quadrati in Wabbit Vowpal
La documentazione di VW suggerisce che è possibile farlo (presumibilmente la funzione di perdita "al quadrato") ma finora non sono stato in grado di farlo arrivare nemmeno vicino alla corrispondenza dei risultati di Python. Becuase quadrato è la funzione di perdita di default, sto semplicemente chiamando:
$ vw-varinfo input.txt
dove input.txt ha linee come
1.4 | 0:3.4 1:-1.2 2:4.0 .... etc
Ho bisogno di alcuni altri parametri della VW chiamare? Non riesco a trovare la documentazione (piuttosto minimale).
Non chiaro quale sia la domanda. Puoi fornire maggiori informazioni per spiegare cosa ti aspetti rispetto a ciò che ottieni? – Spaceghost
Ricorda che vw è un algoritmo online che aggiorna i pesi del modello (coefficienti dell'OLS) solo leggermente per ogni esempio e non torna mai indietro o fuori uso. Se si desidera ottenere prestazioni simili a un algoritmo batch, soprattutto quando il numero di esempi non è molto più grande del numero di funzionalità, sarà probabilmente necessario eseguire più passaggi sull'input fino alla convergenza (ad esempio '-c --passa 100 '). – arielf
"--loss_function classic" darà minimi quadrati di vaniglia. "--loss_function squared" spesso sovraperforma, perché ha "Aggiornamenti con peso di importanza per l'importanza online" (vedi: http://arxiv.org/abs/1011.1576) –