A differenza di altri articoli, ho trovato la voce wikipedia per questo argomento illeggibile per un non -persona matematica (come me).
Ho capito lidea di base, che preferisci modelli con meno regole. Quello che non capisco è come passare da un insieme di regole a un “punteggio di regolarizzazione” che puoi utilizzare per ordinare i modelli dal meno al più sovradimensionato.
Puoi descrivere un semplice metodo di regolarizzazione ?
Mi interessa il contesto dellanalisi dei sistemi di scambio statistico. Sarebbe fantastico se potessi descrivere se / come posso applicare la regolarizzazione per analizzare i seguenti due modelli predittivi:
Modello 1 – prezzo in aumento quando:
- exp_moving_avg ( price, period = 50)> exp_moving_avg (price, period = 200)
Modello 2 – prezzo in aumento quando:
- prezzo [n] < prezzo [n-1] 10 volte di seguito
- exp_moving_avg (prezzo, periodo = 200) in aumento
Ma Sono più interessato ad avere unidea di come fai la regolarizzazione. Quindi, se conosci modelli migliori per spiegarla, fallo.
Commenti
- Un esempio è la regressione della cresta, che è OLS con un limite sulla somma dei coefficienti al quadrato. Ciò introdurrà bias nel modello, ma ridurrà la varianza dei coefficienti, a volte sostanzialmente. LASSO è un altro metodo correlato, ma pone un L1 vincolo sulla dimensione dei coefficienti. Ha il vantaggio di ridurre i coefficienti. Questo è utile per p > n situazioni Regolarizzare, in un certo senso, significa ” rimpicciolire ” il modello per evitare ladattamento eccessivo (e per ridurre la varianza del coefficiente), che di solito migliora le prestazioni predittive del modello ‘.
- @HairyBeast Dovresti metti come risposta il tuo bel commento. Se possibile, prova ad aggiungere un esempio illustrativo in modo che lOP possa capire come si traduce nel problema in questione.
- @HairyBeast, quindi posso dire che la regolarizzazione è solo un metodo per implementare lidea di compromesso bias-varianza ?
- Ho trovato questo video molto utile, in particolare per visualizzare le diverse forme di regolarizzazione LP: youtube. com / watch? v = sO4ZirJh9ds
- La regolarizzazione serve per affrontare loverfit nel modello appreso. Ho provato a spiegare in inglese semplice e visivamente. Di seguito è riportato il link allarticolo medium.com/@vamsi149/…
Risposta
In termini semplici, la regolarizzazione è lottimizzazione o la selezione del livello preferito di complessità del modello in modo che i tuoi modelli siano più bravi a prevedere (generalizzare). Se non lo fai, i tuoi modelli potrebbero essere troppo complessi e sovradimensionati o troppo semplici e insufficienti, in entrambi i casi fornendo previsioni sbagliate.
Se i minimi quadrati adattano un modello complesso a un piccolo insieme di dati di addestramento probabilmente supererai, questa è la situazione più comune. La complessità ottimale del modello dipende dal tipo di processo che stai modellando e dalla qualità dei dati, quindi non esiste una complessità corretta a priori di un modello.
Per regolarizzare hai bisogno di 2 cose:
- Un modo per testare quanto sono bravi i tuoi modelli nella previsione, ad esempio usando la convalida incrociata o un insieme di dati di convalida (tu non posso usare l errore di adattamento per questo).
- Un parametro di ottimizzazione che consente di modificare la complessità o levigatezza del modello o una selezione di modelli di diversa complessità / levigatezza.
Fondamentalmente si regola il parametro di complessità (o si cambia il modello) e si trova il valore che fornisce le migliori previsioni del modello.
Nota che lerrore di regolarizzazione ottimizzato non sarà una stima accurata della previsione complessiva errore quindi dopo la regolarizzazione dovrai finalmente utilizzare un set di dati di convalida aggiuntivo o eseguire alcune analisi statistiche aggiuntive per ottenere un errore di previsione imparziale.
Unalternativa alluso di test di convalida (incrociata) è usare i priori bayesiani o altri metodi per penalizzare la complessità o la non uniformità, ma richiedono una maggiore raffinatezza statistica e conoscenza del problema e delle caratteristiche del modello.
Commenti
- +1 da me. Mi piace che questa risposta parta dallinizio ed è così facile da capire …
- La regolarizzazione è mai davvero usata per ridurre lunderfitting? Nella mia esperienza, la regolarizzazione viene applicata su un modello complesso / sensibile per ridurre la complessità / sensibilità, ma mai su un modello semplice / insensibile per aumentare la complessità / sensibilità.
- Questa risposta è ormai piuttosto vecchia, ma presumo che ciò a cui Toby si riferisse è che la regolarizzazione è un modo di principio per adattare un modello di complessità appropriata data la quantità di dati; è unalternativa sia alla selezione a priori di un modello con troppo pochi parametri (o con quelli sbagliati), sia alla selezione di un modello troppo complesso e overfit.
Risposta
Supponi di eseguire lapprendimento tramite la minimizzazione del rischio empirica.
Più precisamente:
- hai la tua funzione di perdita non negativa $ L (\ text {valore effettivo}, \ text {valore predetto}) $ che caratterizza come cattive le tue previsioni
- vuoi adattare il tuo modello in modo tale che le sue previsioni minimizzino la funzione di media di perdita, calcolata solo sui dati di addestramento (gli unici dati che hai)
Quindi lo scopo del processo di apprendimento è trovare $ \ text {Model} = \ text {argmin} \ sum L (\ text {actual}, \ text {predicted} (\ text {Model})) $ (questo è chiamato minimizzazione empirica del rischio).
Ma se non hai abbastanza dati e il tuo modello è un enorme numero di variabili, è molto probabile trovare un modello del genere che non solo spieghi i modelli ma spiega anche il rumore casuale nei tuoi dati. Questo effetto è chiamato overfitting e porta al degrado della capacità di generalizzazione del tuo modello.
Per evitare loverfitting, un termine di regolarizzazione viene introdotto nella funzione di destinazione: $ \ text {Modello} = \ text {argmin} \ sum L (\ text {actua l}, \ text {predicted} (\ text {Model})) + \ lambda R (\ text {Model}) $
Di solito, questo termine $ R (\ text {Model}) $ impone una pena speciale sui modelli complessi. Ad esempio, su modelli con coefficienti grandi (regolarizzazione L2, $ R $ = somma dei quadrati dei coefficienti) o con coefficienti molto se diversi da zero (regolarizzazione L1, $ R $ = somma dei valori assoluti dei coefficienti). Se stiamo addestrando lalbero decisionale, $ R $ può essere la sua profondità.
Un altro punto di vista è che $ R $ introduce la nostra conoscenza precedente su una forma del modello migliore (“non ha” anche grandi coefficienti “,” è quasi ortogonale a $ \ bar a $ “)
Risposta
In termini semplici, regolarizzazione significa trarre vantaggio dalle soluzioni che ti aspetteresti di ottenere. Come dici tu, ad esempio puoi beneficiare di soluzioni “semplici”, per qualche definizione di semplicità. Se il tuo problema ha regole, una definizione può essere un numero inferiore di regole. Ma questo dipende dal problema.
Stai facendo la domanda giusta, tuttavia. Ad esempio in Support Vector Machines questa “semplicità” deriva dallinterruzione dei legami nella direzione del “margine massimo”. Questo margine è qualcosa che può essere chiaramente definito in termini di problema. Cè unottima derivazione geometrica nell articolo SVM di Wikipedia . Si scopre che il termine di regolarizzazione è , probabilmente almeno, la “salsa segreta” degli SVM.
Come si esegue la regolarizzazione? In generale, ciò viene fornito con il metodo che si utilizza, se si utilizzano gli SVM si sta eseguendo la regolarizzazione L2, se si utilizza LASSO stai “facendo la regolarizzazione L1 (guarda cosa sta dicendo la bestia pelosa). Tuttavia, se stai sviluppando il tuo metodo, devi sapere come dire che è desiderabile soluzioni da quelle non desiderabili e hanno una funzione che quantifica questo. Alla fine avrai un termine di costo e un termine di regolarizzazione e vorrai ottimizzare la somma di entrambi.
Risposta
Le tecniche di regolarizzazione sono tecniche applicate ai modelli di apprendimento automatico che rendono più fluido il confine decisionale / modello adattato. Queste tecniche aiutano a prevenire loverfitting.
Esempi: L1, L2, Dropout, Weight Decay in Neural Networks. Parametro $ C $ in SVM.
Risposta
In parole semplici, la regolarizzazione è una tecnica per evitare ladattamento eccessivo durante laddestramento del machine learning algoritmi. Se disponi di un algoritmo con abbastanza parametri liberi puoi interpolare con grande dettaglio il tuo campione, ma gli esempi che escono dal campione potrebbero non seguire questa interpolazione dei dettagli in quanto ha catturato solo rumore o irregolarità casuali nel campione invece della vera tendenza.
Lover-fitting viene evitato limitando il valore assoluto dei parametri nel modello. Ciò può essere fatto aggiungendo un termine al funzione di costo che impone una penalità in base allentità dei parametri del modello. Se la grandezza è misurata nella norma L1 questa è chiamata “regolarizzazione L1” (e di solito si traduce in modelli sparsi), se è misurata nella norma L2 questa è chiamata “regolarizzazione L2”, e così via.