Perché pesi più piccoli si traducono in modelli più semplici nella regolarizzazione?


27

Ho completato il corso di Machine Learning di Andrew Ng circa un anno fa e sto scrivendo la mia esplorazione di matematica al liceo sul funzionamento della regressione logistica e sulle tecniche per ottimizzare le prestazioni. Una di queste tecniche è, ovviamente, la regolarizzazione.

Lo scopo della regolarizzazione è prevenire il sovradimensionamento estendendo la funzione di costo per includere l'obiettivo della semplicità del modello. Possiamo raggiungere questo obiettivo penalizzando la dimensione dei pesi aggiungendo alla funzione di costo ciascuno dei pesi al quadrato, moltiplicato per alcuni parametri di regolarizzazione.

Ora, l'algoritmo di Machine Learning mirerà a ridurre le dimensioni dei pesi mantenendo l'accuratezza sul set di allenamento. L'idea è che raggiungeremo un punto nel mezzo in cui possiamo produrre un modello che si generalizza sui dati e non cerca di adattarsi a tutto il rumore stocastico essendo meno complesso.

La mia confusione è perché penalizziamo la dimensione dei pesi? Perché pesi più grandi creano modelli più complessi e pesi più piccoli creano modelli più semplici / più lisci? Andrew Ng afferma nella sua conferenza che la spiegazione è difficile da insegnare, ma immagino che sto cercando questa spiegazione ora.

Il prof. Ng ha in effetti fornito un esempio di come la nuova funzione di costo può far sì che i pesi delle caratteristiche (es. X ^ 3 e x ^ 4) tendano verso lo zero in modo da ridurre il grado del modello, ma ciò non crea un completo spiegazione.

La mia intuizione è che pesi più piccoli tenderanno ad essere più "accettabili" nelle funzioni con esponenti maggiori rispetto a quelli con esponenti più piccoli (perché le caratteristiche con pesi piccoli sono come la base della funzione). Pesi più piccoli implicano "contributi" minori alle caratteristiche con ordine elevato. Ma questa intuizione non è molto concreta.


2
sembra una domanda che ha bisogno di una risposta "così mia nonna avrebbe capito".
EngrStudent - Ripristina Monica il

2
@EngrStudent Perché è esattamente così che devo presentarlo nel mio IA di matematica affinché il mio insegnante di matematica del liceo e gli esaminatori di matematica del liceo possano leggere.
MCKapur,

Risposte:


4

Se usi la regolarizzazione non stai solo minimizzando l'errore nel campione ma .OutOfSampleErrorInSampleError+ModelComplexityPenalty

Più precisamente, per un'ipotesi , dove è un parametro, in genere , è il numero di esempi nel set di dati e è una penalità che dipende dai pesi , . Questo è noto come errore aumentato . Ora, puoi minimizzare la funzione sopra solo se i pesi sono piuttosto piccoli.Jaug(h(x),y,λ,Ω)=J(h(x),y)+λ2mΩhHλλ(0,1)mΩwΩ=wTw

Ecco un codice R con cui giocare

w <- c(0.1,0.2,0.3)
out <- t(w) %*% w
print(out)

Quindi, invece di penalizzare l'intero spazio di ipotesi , penalizziamo ogni ipotesi singolarmente. A volte ci riferiamo all'ipotesi con il suo vettore di peso .Hhhw

Per quanto riguarda il motivo per cui i piccoli pesi si accompagnano a una bassa complessità del modello, esaminiamo la seguente ipotesi: . In totale abbiamo ottenuto tre parametri di peso attivo . Ora impostiamo su un valore molto piccolo, . Ciò riduce la complessità del modello a: . Invece di tre parametri di peso attivo, ne restano solo due.w 1 , , w 3 w 3 w 3 = 0 h 1 ( x ) = x 1 × w 1 + x 2 × w 2h1(x)=x1×w1+x2×w2+x3×w3w1,,w3w3w3=0h1(x)=x1×w1+x2×w2


1
Ovviamente se un peso si riduce a zero, la complessità del modello si riduce poiché è possibile rimuovere un termine e quindi un'operazione computazionale. Ma questo non aiuta a spiegare perché la complessità del modello si riduce quando il valore del peso si avvicina allo zero. Qualcuno può spiegarlo con parole e non formule?
greg7gkb,

6

Non sono sicuro di sapere davvero di cosa sto parlando, ma ci proverò. Non è così tanto avere pesi piccoli che impedisce l'adattamento eccessivo (penso), è più il fatto che la regolarizzazione riduce più fortemente lo spazio del modello. In effetti puoi regolarizzare circa 10000000 se lo desideri prendendo la norma L2 dei tuoi valori X meno un vettore di 10000000s. Ciò ridurrebbe anche l'eccessivo adattamento (ovviamente dovresti avere anche qualche logica dietro a farlo (cioè forse i tuoi valori Y sono 10000000 volte più grandi della somma dei tuoi valori X, ma nessuno lo fa davvero perché puoi semplicemente ridimensionare i dati).

Distorsione e varianza sono entrambe una funzione della complessità del modello. Questo è legato alla teoria del VC, quindi guardalo. Maggiore è lo spazio dei possibili modelli (ovvero valori che tutti i parametri possono assumere in pratica), maggiore è la probabilità che il modello si adatti eccessivamente. Se il tuo modello può fare qualsiasi cosa, dall'essere una linea retta a oscillare in ogni direzione come un'onda sinusoidale che può anche andare su e giù, è molto più probabile che raccolga e modifichi perturbazioni casuali nei tuoi dati che non sono il risultato del segnale sottostante ma il risultato di una fortunata possibilità in quel set di dati (ecco perché ottenere più dati aiuta a sovralimentare ma non sottovalutare).

Quando effettui la regolarizzazione, sostanzialmente riduci lo spazio del modello. Ciò non significa necessariamente che le funzioni più fluide / più piatte abbiano una maggiore propensione e una minore varianza. Pensa a un modello lineare che è sovrapposto a un'onda sinusoidale che è limitata per avere oscillazioni di ampiezza veramente piccole che praticamente non fanno nulla (è fondamentalmente una linea sfocata). Questa funzione è in qualche modo super wiggly ma si adatta solo leggermente più di una regressione lineare. Il motivo per cui le funzioni più fluide / più piatte tendono ad avere una maggiore propensione e una minore varianza è perché noi come data scientist assumiamo che se avessimo uno spazio campione ridotto preferiremmo piuttosto con il rasoio di Occam mantenere i modelli più fluidi e semplici e buttare via i modelli che sono ondulati e oscillanti in tutto il luogo. Ha senso scartare prima i modelli wiggly,

La regolarizzazione, come la regressione della cresta, riduce lo spazio del modello perché rende più costoso essere più lontano da zero (o qualsiasi numero). Pertanto, quando il modello si trova di fronte a una scelta di prendere in considerazione una piccola perturbazione nei dati, molto probabilmente errerà dalla parte di no, perché ciò aumenterà (generalmente) il valore del parametro. Se quella perturbazione è dovuta a una casualità (cioè una delle tue variabili x ha appena avuto una leggera correlazione casuale con le tue variabili y) il modello non lo terrà in considerazione rispetto a una regressione non regolarizzata perché la regressione non regolarizzata non ha costi associati a dimensioni beta in aumento. Tuttavia, se tale perturbazione è dovuta a un segnale reale, la tua regressione regolarizzata probabilmente la mancherà, motivo per cui ha un pregiudizio più elevato (e perché c'è un compromesso di bias di varianza).


Grazie per la tua risposta premurosa! Quindi sì, nel quarto paragrafo affermi "Quindi quando il modello si trova di fronte a una scelta di prendere in considerazione una piccola perturbazione nei tuoi dati, molto probabilmente errerà sul lato di no, perché ciò aumenterà (generalmente) il tuo parametro valore.". Questo è quello che chiedo in particolare perché è così? Grazie!
MCKapur,

Aggiungendo un fattore di penalizzazione rendi meno probabile che il modello abbia beta più alti, quindi lo spazio del tuo modello è più piccolo. L'altra cosa da ricordare è che se il tuo modello è tutto rumore, probabilmente avrà una pendenza zero in quanto non vi è alcuna correlazione (questa era una cosa a cui non ho pensato quando ho fatto il mio argomento wiggly / flat ma penso che l'argomento sia ancora generalmente vero). Quindi se c'è una perterbazione / relazione, è probabile che aumenti la beta. Pertanto la regolarizzazione penalizza questo fatto e impedisce alla regressione di adattare quelle perturbazioni, sia che si tratti di segnale o rumore.
www3

@ ww3 ho capito. Ma perché i beta più grandi producono uno spazio modello più elevato?
MCKapur,

Non sono sicuro se ne hai più bisogno, ma ho pensato di rispondere. Non sono i grandi beta che contano. Ad esempio è possibile eseguire una regressione con Y o 1000 * Y ciascuno avrà la stessa complessità ma i beta saranno 1000 più alti nel secondo caso. La regolarizzazione tipica rende più difficile il raggiungimento di alcune combinazioni beta, come avere un coefficiente pari a 1000 e un altro -1000, e altri più semplici / piatti come tutti gli 0. Ciò significa che se il modello ha alcune stranezze rumorose dai dati, è meno probabile che il modello regolarizzato lo raccolga.
www3,

Per continuare, il modello non ignorerà tutte le stranezze rumorose, ignorerà solo le stranezze che aumentano i valori assoluti dei beta. Ciò significa che le stranezze che riducono i valori dei beta saranno maggiormente enfatizzate. Questo va bene però perché ci sono molte più linee ondulate che puoi disegnare rispetto alle linee rette (cioè confrontare un'equazione quadratica con un'equazione lineare o costante). Pertanto, se ci sono stranezze che influenzano i dati, è molto più probabile che un modello si adatti a un modello più instabile (e quindi più complesso) rispetto a un modello più piatto / più dritto.
www3,

3

Storia:
Mia nonna cammina, ma non si arrampica. Lo fanno alcune nonne. Una nonna era famosa per scalare il Kilimangiaro .

Quel vulcano inattivo è grande. È 16.000 piedi sopra la sua base. (Non odiare le mie unità imperiali.) A volte ha anche dei ghiacciai in cima.

Se sali per un anno senza ghiacciaio e arrivi in ​​cima, è la stessa cima di un ghiacciaio? L'altitudine è diversa. Il percorso che devi seguire è diverso. Che cosa succede se vai in cima quando lo spessore del ghiacciaio è maggiore? Questo lo rende più un risultato? Circa 35.000 persone tentano di scalarlo ogni anno, ma solo circa 16.000 riescono.

Applicazione:
Quindi spiegherei a mia nonna il controllo dei pesi (ovvero minimizzando la complessità del modello), come segue:

Nonna, il tuo cervello è un pensatore straordinario, che tu lo sappia o no. Se ti chiedessi quanti dei 16.000 che pensano di aver raggiunto la cima lo hanno effettivamente fatto, diresti "tutti".

Se metto i sensori nei panni di tutti i 30.000 alpinisti e misuro l'altezza sul livello del mare, alcune di queste persone non sono alte come altre e potrebbero non qualificarsi. Quando lo faccio, vado a un modello costante - sto dicendo che se l'altezza non è uguale a qualche percentile delle altezze massime misurate, allora non è la cima. Alcune persone saltano in cima. Alcune persone attraversano la linea e si siedono.

Potrei aggiungere latitudine e longitudine al sensore e adattare alcune equazioni di ordine superiore e forse potrei adattarmi meglio e coinvolgere più persone, forse anche esattamente il 45% delle persone totali che lo provano.

Quindi supponiamo che il prossimo anno sia un anno "grande ghiacciaio" o un anno senza ghiacciaio perché un vulcano trasforma davvero l' albedo della terra. Se prendo il mio modello complesso ed esigente da quest'anno e lo applico alle persone che saliranno l'anno prossimo, il modello avrà strani risultati. Forse tutti "passeranno" o addirittura saranno troppo alti per passare. Forse nessuno passerà affatto e penserà che nessuno abbia effettivamente completato la scalata. Soprattutto quando il modello è complesso tenderà a non generalizzare bene. Potrebbe adattarsi esattamente ai dati di "formazione" di quest'anno, ma quando arrivano nuovi dati si comporta male.

Discussione:
quando si limita la complessità del modello, in genere è possibile ottenere una migliore generalizzazione senza adattamento eccessivo. Usando modelli più semplici, quelli che sono più costruiti per adattarsi alle variazioni del mondo reale, tendono a dare risultati migliori, a parità di tutto il resto.

Ora hai una topologia di rete fissa, quindi stai dicendo "il mio conteggio dei parametri è fisso" - Non posso avere variazioni nella complessità del modello. Senza senso. Misura l'entropia nei pesi. Quando l'entropia è più alta significa che alcuni coefficienti portano sostanzialmente più "informatività" di altri. Se hai un'entropia molto bassa significa che in generale i coefficienti portano livelli simili di "informatività". L'informatività non è necessariamente una buona cosa. In una democrazia vuoi che tutte le persone siano uguali e cose come George Orwell "più uguali di altre" sono una misura dei fallimenti del sistema. Se non ne hai una grande ragione, vuoi che i pesi siano abbastanza simili tra loro.

Una nota personale: invece di usare il voodoo o l'euristica, preferisco cose come i "criteri di informazione" perché mi permettono di ottenere risultati affidabili e coerenti. AIC , AICc e BIC sono alcuni punti di partenza comuni e utili. Ripetere l'analisi per determinare la stabilità della soluzione o la gamma di risultati dei criteri di informazione è un approccio comune. Si potrebbe guardare a mettere un soffitto sull'entropia nei pesi.


2
Interessantemente diverso. Pedant's corner: hai scritto "Orson Wells". l'ortografia è Welles. Ho il sospetto che intendevi sempre George Orwell ( Animal Farm ).
Nick Cox,

@NickCox - Sono stato molto malato. Il mio cervello non funziona come desideravo. Orwell lo era.
EngrStudent - Ripristina Monica

Voglio capire perché la complessità del modello può variare con un numero fisso di parametri (l'idea del tuo penultimo paragrafo), e non ho fortuna a cercare su Google "entropia di parametro" o "entropia di parametro ols". Hai usato il concetto di entropia perché si adatta bene o è questo il nome attuale e ampiamente noto di una proprietà dei parametri del modello? Grazie in anticipo.
Alvaro Fuentes,

1
@AlvaroFuentes - L'entropia, in questo senso, proviene dalla teoria dell'informazione. Ecco l'articolo di Wikipedia. Pensa ai pesi come a un elenco e puoi calcolare l'entropia del sistema di tutti i pesi, usando un metodo del kernel per approssimare la densità di probabilità. Potresti esaminare l'entropia media per neurone da confrontare tra neuroni su una scala più elevata.
EngrStudent - Ripristina Monica il

0

Una semplice intuizione è la seguente. Ricorda che per la regolarizzazione le funzionalità dovrebbero essere standardizzate per avere ca. la stessa scala.

Diciamo che la funzione di minimizzazione è solo la somma degli errori al quadrato:

SSE

L'aggiunta di più funzionalità probabilmente ridurrà questo , specialmente se la funzionalità è selezionata da un pool rumoroso. La funzionalità per caso riduce l' , portando a un overfitting.S S ESSESSE

Ora considera la regolarizzazione, LASSO in questo caso. Le funzioni da ridurre a icona sono quindi

SSE+λΣ|β|

L'aggiunta di una funzione aggiuntiva ora comporta una penalità aggiuntiva: la somma dei coefficienti assoluti aumenta! La riduzione dell'SSE dovrebbe superare la penalità aggiuntiva aggiunta. Non è più possibile aggiungere funzionalità extra senza costi.

La combinazione della standardizzazione delle caratteristiche e la penalizzazione della somma dei coefficienti assoluti limita lo spazio di ricerca, portando a un minor adattamento.

Ora LASSO:

SSE+λΣ|β|

tende a mettere a zero i coefficienti, mentre la regressione della cresta:

SSE+λΣβ2

tende a ridurre i coefficienti in modo proporzionale. Questo può essere visto come un effetto collaterale del tipo di funzione penalizzante. L'immagine sotto aiuta in questo:

inserisci qui la descrizione dell'immagine

La funzione di penalizzazione regolarizzante in pratica fornisce un "budget" per i parametri, come sopra indicato dalla zona ciano.

Vedi che a sinistra, LASSO, è probabile che la funzione colpisca lo spazio su un asse; impostando uno dei coefficienti su zero e, a seconda del budget, riducendo l'altro. A destra la funzione può colpire gli assi, diffondendo più o meno il budget sui parametri: portando a una riduzione di entrambi i parametri.SSE

Foto tratta da https://onlinecourses.science.psu.edu/stat857/node/158

Riassumendo: la regolarizzazione penalizza l'aggiunta di parametri extra e, a seconda del tipo di regolarizzazione, ridurrà tutti i coefficienti (cresta) o imposterà un numero di coefficienti su 0 mantenendo gli altri coefficienti per quanto consentito dal budget (lazo)


1
Stai solo spiegando la differenza tra la regressione del lazo e della cresta, ma la domanda è sul motivo per cui la regolarizzazione porta a una minore complessità.
Sobi,

Si prega di leggere questa sezione: "L'aggiunta di una funzionalità aggiuntiva ora comporta una penalità aggiuntiva: la somma dei coefficienti assoluti aumenta! La riduzione di SSE dovrebbe superare la penalità aggiuntiva aggiunta. Non è più possibile aggiungere funzionalità extra senza costi".
spdrnl,

Questa spiegazione funziona solo per il regolarizzatore e deve esserci qualcosa di più della semplice scarsità. Ad esempio, per cui tutti i valori dei parametri nel modello appreso sono diversi da zero. Ma ancora controlla la complessità del modello anche in quel regime. Come lo spiegheresti? Allo stesso modo, per la regolarizzazione . λ λ L 2L1λλL2
Sobi,

L'essenza è che il tipo di penalità per l'aggiunta di parametri influenzerà i parametri in diversi modi. In pratica si ottiene un modello con parametri che si adattano ai dati di allenamento in modo meno preciso: quello era una specie di obiettivo.
spdrnl,

0

Aggiungendo il rumore guassiano all'ingresso, il modello di apprendimento si comporterà come un regolarizzatore di penalità L2.

Per capire perché, considera una regressione lineare in cui il rumore iid viene aggiunto alle funzionalità. La perdita sarà ora una funzione degli errori + contributo della norma dei pesi.

vedi derivazione: https://www.youtube.com/watch?v=qw4vtBYhLp0


0

Ricordo che in una classe universitaria il mio insegnante ha detto che penalizzare parametri di grandi dimensioni può ridurre il sovra-adattamento perché impedisce al modello di dare troppo peso alle caratteristiche specifiche dei dati, il che provoca un eccesso di adattamento poiché il modello sta solo ricordando alcune caratteristiche specifiche dei dati e le mette in relazione l'etichetta invece di cercare di imparare le regole generali.

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.