Casa Finanza personale Ottimizzazione delle scelte di convalida incrociata in Machine Learning - dummies

Ottimizzazione delle scelte di convalida incrociata in Machine Learning - dummies

Video: Data Analysis in R by Dustin Tran 2025

Video: Data Analysis in R by Dustin Tran 2025
Anonim

Essere in grado di convalidare un'ipotesi di apprendimento automatico consente un'ulteriore ottimizzazione dell'algoritmo scelto. L'algoritmo fornisce la maggior parte delle prestazioni predittive sui dati, data la sua capacità di rilevare i segnali dai dati e adattare la vera forma funzionale della funzione predittiva senza sovralimentazione e generando molta varianza delle stime. Non tutti gli algoritmi di apprendimento automatico sono adatti ai tuoi dati e nessun singolo algoritmo può soddisfare ogni problema. Sta a te trovare quello giusto per un problema specifico.

Una seconda fonte di prestazioni predittive è il dato stesso quando opportunamente trasformato e selezionato per migliorare le capacità di apprendimento dell'algoritmo scelto.

La fonte finale della performance deriva dalla regolazione fine degli hyper-parameters dell'algoritmo, che sono i parametri che decidi prima che l'apprendimento avvenga e che non siano appresi dai dati. Il loro ruolo è nel definire a priori un'ipotesi, mentre altri parametri lo specificano a posteriori, dopo che l'algoritmo interagisce con i dati e, utilizzando un processo di ottimizzazione, trova che alcuni valori di parametro lavorare meglio per ottenere buone previsioni.

Non tutti gli algoritmi di machine learning richiedono molta sintonizzazione iperparametrica, ma alcuni di quelli più complessi lo fanno, e sebbene tali algoritmi funzionino ancora fuori dalla scatola, tirare le leve giuste potrebbe fare una grande differenza nella correttezza delle previsioni. Anche quando gli iperparametri non vengono appresi dai dati, dovresti prendere in considerazione i dati su cui stai lavorando al momento di decidere gli iper-parametri, e dovresti fare la scelta in base alla convalida incrociata e un'attenta valutazione delle possibilità.

Algoritmi complessi di apprendimento automatico, quelli più esposti alla varianza delle stime, presentano molte scelte espresse in un gran numero di parametri. Girare con loro li rende più o meno adatti ai dati da cui stanno imparando. A volte troppa manipolazione iperparametrica può persino far sì che l'algoritmo rilevi segnali falsi dai dati. Ciò rende gli stessi parametri stessi una fonte di varianza non rilevata se si inizia a manipolarli troppo basandosi su qualche riferimento fisso come un set di test o uno schema di convalida incrociata ripetuto.

Sia R che Python offrono funzionalità di slicing che suddividono la matrice di input in parti di treno, test e validazione. In particolare, per procedure di test più complesse, come la convalida incrociata o il bootstrap, il pacchetto Scikit-learn offre un intero modulo e R ha un pacchetto specializzato che offre funzioni per la suddivisione, la pre-elaborazione e il test dei dati.Questo pacchetto si chiama caret.

Le possibili combinazioni di valori che possono formarsi gli iper-parametri rendono difficile decidere dove cercare le ottimizzazioni. Come descritto quando si discute della discesa del gradiente, uno spazio di ottimizzazione può contenere combinazioni di valori che presentano prestazioni migliori o peggiori. Anche dopo aver trovato una buona combinazione, non sei certo che sia l'opzione migliore. (Questo è il problema di rimanere bloccati nei minimi locali quando si riduce al minimo l'errore.)

Come modo pratico per risolvere questo problema, il modo migliore per verificare i parametri iper di un algoritmo applicato a dati specifici è testarli tutti convalida incrociata e scegliere la migliore combinazione. Questo semplice approccio, chiamato grid-search, offre indiscutibili vantaggi, consentendo di campionare la gamma di valori possibili da inserire nell'algoritmo in modo sistematico e individuare quando si verifica il minimo generale.

D'altra parte, la ricerca in rete ha anche gravi inconvenienti perché è intensiva dal punto di vista computazionale (è possibile eseguire facilmente questa attività in parallelo sui moderni computer multicore) e richiede parecchio tempo. Inoltre, i test sistematici e intensivi aumentano la possibilità di incorrere in errori perché alcuni buoni risultati di convalida falsi possono essere causati dal rumore presente nel set di dati.

Sono disponibili alcune alternative alla ricerca della griglia. Invece di testare tutto, puoi provare a esplorare lo spazio di possibili valori iperparametrici guidati da tecniche di ottimizzazione non lineare computazionalmente pesanti e matematicamente complesse (come il metodo Nelder-Mead), usando un approccio Bayesiano (dove il numero di test è ridotto al minimo prendendo vantaggio dei risultati precedenti) o utilizzando la ricerca casuale.

Sorprendentemente, la ricerca casuale funziona incredibilmente bene, è semplice da capire e non si basa solo sulla cieca fortuna, anche se inizialmente potrebbe sembrare. In effetti, il punto principale della tecnica è che se scegli abbastanza test casuali, hai effettivamente abbastanza possibilità di individuare i parametri giusti senza sprecare energia nel testare combinazioni leggermente diverse di combinazioni con prestazioni simili.

La seguente rappresentazione grafica spiega perché la ricerca casuale funziona correttamente. Un'esplorazione sistematica, sebbene utile, tende a testare ogni combinazione, che si trasforma in uno spreco di energia se alcuni parametri non influenzano il risultato. Una ricerca casuale verifica in realtà meno combinazioni ma più nel range di ciascun iper-parametro, una strategia che si dimostra vincente se, come spesso accade, alcuni parametri sono più importanti di altri.

Confronto tra la ricerca della griglia e la ricerca casuale.

Affinché la ricerca randomizzata funzioni bene, è necessario eseguire da 15 a un massimo di 60 test. Ha senso ricorrere alla ricerca casuale se una ricerca sulla griglia richiede un numero maggiore di esperimenti.
Ottimizzazione delle scelte di convalida incrociata in Machine Learning - dummies

Scelta dell'editore

Come leggere dal file in PHP per la programmazione HTML5 e CSS3 - manichini

Come leggere dal file in PHP per la programmazione HTML5 e CSS3 - manichini

Se puoi scrivere dati in un file in PHP, sarebbe logico che tu possa leggere da quel file anche per la programmazione HTML5 e CSS3. Il readContact. programma php recupera i dati salvati nel programma precedente e li visualizza sullo schermo. Non è difficile scrivere un programma per leggere ...

Come usare una classe PHP in uno script - dummy

Come usare una classe PHP in uno script - dummy

Il codice classe PHP deve essere inserito lo script che usa la classe. Più comunemente, la classe viene archiviata in un file di inclusione separato ed è inclusa in qualsiasi script che utilizza la classe. Per usare un oggetto, devi prima creare l'oggetto dalla classe. Quindi quell'oggetto può eseguire qualsiasi metodo che ...

Scelta dell'editore

Come usare lo strumento Timbro clone di Photoshop - manichini

Come usare lo strumento Timbro clone di Photoshop - manichini

Puoi usare lo strumento Timbro clone in Photoshop per rimuovere gli angoli e altri difetti copiando una porzione dei pixel circostanti, che dovrebbero avere un colore e una consistenza simili, sopra la parte malata dell'immagine. Per utilizzare lo strumento Timbro clone, attenersi alla seguente procedura: Selezionare lo strumento Timbro clone dallo strumento ...

Come disinstallare e reinstallare Photoshop Lightroom - dummies

Come disinstallare e reinstallare Photoshop Lightroom - dummies

Se si nota un problema con Lightroom la prima volta che si avvia esso, qualcosa potrebbe essere andato storto durante il processo di installazione. Disinstallare e quindi reinstallare potrebbe essere tutto ciò che è necessario per correggere il problema. Il processo è diverso per ogni sistema operativo, quindi ecco i passaggi separati per ciascuno. Su Windows: Chiudi tutto ...

Fotografia For Dummies Cheat Sheet - dummies

Fotografia For Dummies Cheat Sheet - dummies

La fotografia è un hobby divertente e gratificante che può renderti molto popolare tra la gente nelle tue foto - o molto impopolare. Per ottenere il massimo da una fotocamera "inquadra e scatta", digitale o meno, la prima abilità da padroneggiare è bloccare l'attenzione. Puoi perfezionare le tue abilità fotografiche in modo che le tue foto siano ...

Scelta dell'editore

Agire per aumentare le emozioni edificanti - manichini

Agire per aumentare le emozioni edificanti - manichini

Al fine di elevare le tue emozioni, il primo passo è diventare consapevoli di quale emozioni che hai Diventa consapevole di ciò che ti innesca: cosa ti mette in agitazione e ti fa arrabbiare e ciò che ti rende molto eccitato. Un trigger sta guardando alcuni programmi televisivi e consente alle emozioni di questi programmi di permeare ...

Come le aziende ti convincono ad acquistare i loro prodotti - manichini

Come le aziende ti convincono ad acquistare i loro prodotti - manichini

Quasi tutti i media commerciali destinati alle donne ottengono la loro pubblicità entrate dalle industrie del cibo, della bellezza, della dieta e della moda. Solo l'industria della dieta stessa è un'impresa commerciale da 33 miliardi di dollari l'anno. E, naturalmente, queste industrie hanno bisogno di clienti in modo continuativo per continuare a avere successo. È nel loro interesse per ...

Come si forma l'immagine del corpo nella tua gioventù - dummies

Come si forma l'immagine del corpo nella tua gioventù - dummies

In generale, ciò che hai vissuto con la tua famiglia quando stavano crescendo ha avuto un effetto diretto sui pensieri e le sensazioni che hai avuto sul tuo corpo. Ripensa ai tuoi anni più giovani. Quanto attentamente le seguenti affermazioni descrivono la tua famiglia? Nessuno ha esercitato. L'auto è stata utilizzata anche per viaggi brevi. Cibo pesante e da ingrasso ...