Apprendimento automatico e Reti Neurali - pagina 15

 

Lezione 9. Comprensione dei dati sperimentali



9. Comprensione dei dati sperimentali

In questa conferenza, il professor Eric Grimson discute il processo di comprensione dei dati sperimentali, dalla raccolta dei dati all'utilizzo di modelli per fare previsioni. Usa l'esempio di una molla per dimostrare l'importanza della precisione della misurazione quando si prevedono relazioni lineari ed esplora diversi metodi per misurare la bontà dell'adattamento. Grimson introduce il concetto di regressione lineare e adattamenti polinomiali, sottolineando che un valore elevato di r-quadrato non significa necessariamente che un polinomio di ordine superiore sia la scelta migliore. Grimson utilizza il codice per ottimizzare su uno spazio a 16 dimensioni, lasciando la scelta se utilizzare o meno questo adattamento polinomiale per la lezione successiva.

  • 00:00:00 In questa sezione della conferenza, il professor Eric Grimson discute l'importanza di comprendere i dati sperimentali nel mondo odierno ad alta intensità di dati. Sottolinea che se sei uno scienziato, un ingegnere, uno scienziato sociale o in qualsiasi altra professione che si occupa di dati, hai bisogno di un software in grado di manipolare i dati per estrarre informazioni utili. Parla anche del processo di conduzione di un esperimento, acquisizione di dati e utilizzo di modelli per fare previsioni sui dati. Usando l'esempio di una molla, spiega come raccogliere dati su di essa, modellarla e scrivere software che possa aiutare ad analizzare i dati.

  • 00:05:00 In questa sezione viene introdotto il concetto di legge dell'elasticità di Hooke. La legge afferma che la forza richiesta per comprimere o allungare una molla è linearmente correlata alla distanza in cui viene compressa o allungata. Il segno negativo indica che la forza è esercitata nella direzione opposta alla compressione o all'allungamento. La legge di Hooke vale per un'ampia gamma di molle, ma ha un limite a quanto una molla può essere allungata prima che la legge si rompa. Viene fornito l'esempio del calcolo della forza richiesta per comprimere una molla di un centimetro utilizzando la legge di Hooke e la costante elastica.

  • 00:10:00 In questa sezione, il relatore spiega il processo di determinazione della costante elastica attraverso misurazioni di diverse masse su una molla. Idealmente, una singola misurazione sarebbe sufficiente, ma poiché le masse possono essere inaffidabili e le molle possono contenere materiali imperfetti, sono necessarie più prove per produrre una serie di misurazioni con una relazione lineare che può essere tracciata per estrarre la costante della molla. L'oratore dimostra l'utilizzo di una funzione di matrice per ridimensionare tutti i valori in modo uniforme prima di rappresentare graficamente i punti dati. La relazione lineare ideale consentirebbe ai ricercatori di calibrare i microscopi a forza atomica e misurare la forza nelle strutture biologiche.

  • 00:15:00 In questa sezione, il relatore discute come adattare una linea ai dati sperimentali e misurare la distanza tra la linea ei punti misurati. Spiegano che è necessaria una funzione obiettivo per determinare quanto sia buono un adattamento della linea, il che viene fatto trovando la linea che minimizza la funzione obiettivo. L'oratore considera anche vari modi per misurare la distanza, come lo spostamento lungo l'asse x, lo spostamento verticale o la distanza dal punto più vicino sulla linea. Alla fine scelgono lo spostamento verticale in quanto misura il valore dipendente previsto dato un nuovo valore indipendente.

  • 00:20:00 In questa sezione, Eric Grimson spiega come misurare la precisione di una linea prevista utilizzando il metodo dei minimi quadrati. Il metodo prevede di trovare la differenza tra i valori y previsti e quelli osservati, elevarli al quadrato per eliminare il segno e quindi sommare queste differenze al quadrato per tutti i valori osservati. Questa somma fornisce una misura di come la linea si adatta ai valori osservati. Minimizzando la somma al quadrato della differenza, si può trovare la retta più adatta. Inoltre, Grimson discute come trovare la curva più adatta assumendo che il modello della curva prevista sia un polinomio e utilizzando la tecnica di regressione lineare per trovare il polinomio di grado uno o due che meglio si adatta ai dati.

  • 00:25:00 In questa sezione viene introdotto il concetto di regressione lineare come metodo per trovare il punto più basso su una superficie che può essere rappresentato da tutte le possibili linee in uno spazio bidimensionale. La regressione lineare viene utilizzata per trovare la linea di adattamento migliore partendo da un certo punto e camminando in discesa lungo il gradiente per una certa distanza, misurando il nuovo gradiente e ripetendo fino a raggiungere il punto più basso. L'algoritmo per farlo è molto simile al metodo di Newton. La sezione illustra anche come utilizzare polyFit, una funzione PyLab incorporata, per trovare i coefficienti di un polinomio con un dato grado che fornisce il miglior adattamento dei minimi quadrati.

  • 00:30:00 In questa sezione, il presentatore mostra come usare Python per adattare una linea ai dati e come cambiare l'ordine del polinomio utilizzato. Spiegano che maggiore è l'ordine del polinomio utilizzato, più vicino sarà l'adattamento ai dati. Il presentatore fornisce un esempio visivo di una serie di dati in cui l'adattamento di una linea non funziona e l'adattamento di una linea quadratica è un adattamento migliore. Spiegano anche come utilizzare la funzione polyval per adattare qualsiasi ordine polinomiale e restituire un array di valori previsti, dimostrando la natura astratta del codice.

  • 00:35:00 In questa sezione, il relatore discute come misurare la bontà di adattamento dei dati sperimentali. Per confrontare modelli diversi, suggerisce di misurare l'errore quadratico medio, poiché questo approccio è utile per confrontare due modelli. Tuttavia, questo metodo ha un problema perché non fornisce un modo definitivo per sapere se un adattamento è veramente migliore di un altro adattamento. Per risolvere questo problema, il relatore consiglia di utilizzare il coefficiente di determinazione (r-quadrato), che è indipendente dalla scala e può indicare quanto un adattamento è vicino all'essere perfetto. Fornisce una formula per il calcolo di r-quadrato che comporta la misurazione della differenza tra i valori osservati e previsti e l'errore medio.

  • 00:40:00 In questa sezione, il relatore spiega come calcolare la varianza e il valore r-quadrato per valutare l'accuratezza di un modello. La varianza può essere ottenuta dividendo la somma dei quadrati degli errori per il numero di campioni. Il valore r-quadrato indica quanta variabilità nei dati è rappresentata dal modello e varia tra zero e uno. Un r-quadrato di uno significa che il modello spiega tutta la variabilità, mentre un r-quadrato di zero significa che non c'è relazione tra il modello ei dati. Il relatore introduce quindi due funzioni, genFits e testFits, che generano e testano modelli con diversi gradi di complessità e restituiscono i corrispondenti valori di r-quadrato. Queste funzioni possono aiutare a determinare la soluzione migliore per un set di dati.

  • 00:45:00 In questa sezione, l'istruttore esegue il codice con un adattamento polinomiale quadratico, quartico, dell'ottavo e del sedicesimo ordine per determinare l'adattamento migliore per i dati. Spiegano che l'utilizzo del tipo di codice PyLab consente loro di ottimizzare su uno spazio di 16 dimensioni e utilizzare la regressione lineare per trovare la soluzione migliore. Sebbene il polinomio di 16° ordine faccia un lavoro eccellente e abbia un valore di r^2 di quasi il 97%, l'istruttore avverte che un valore elevato di r^2 non significa necessariamente che l'utilizzo di un polinomio di 16° ordine sia la scelta migliore. Lasciano la decisione se usarlo o meno fino alla lezione successiva.
9. Understanding Experimental Data
9. Understanding Experimental Data
  • 2017.05.19
  • www.youtube.com
MIT 6.0002 Introduction to Computational Thinking and Data Science, Fall 2016View the complete course: http://ocw.mit.edu/6-0002F16Instructor: Eric GrimsonPr...
 

Lezione 10. Comprensione dei dati sperimentali (continua)



10. Comprensione dei dati sperimentali (continua)

In questa sezione del video, il presentatore sottolinea l'importanza di trovare il modello giusto per adattare i dati sperimentali, evitando anche l'overfitting. Vengono discussi diversi metodi, come l'utilizzo della convalida incrociata per determinare il giusto equilibrio tra complessità del modello ed efficacia nella previsione di nuovi dati. Il relatore fornisce esempi di adattamento di modelli di ordini diversi a dati sperimentali e dimostra gli effetti dell'overfitting aggiungendo rumore ai set di dati. Il valore R-quadrato viene anche introdotto come strumento per determinare quanto bene un modello si adatta ai dati. Nel complesso, viene evidenziata l'importanza di bilanciare la complessità del modello e l'efficacia nella previsione di nuovi dati.

  • 00:00:00 In questa sezione, l'istruttore ricorda agli studenti che in precedenza stavano discutendo il concetto di adattare i modelli ai dati sperimentali per comprendere i dati. L'obiettivo è disporre di un modello che spieghi i fenomeni alla base dei dati e possa fare previsioni sul comportamento in nuovi contesti. Tuttavia, poiché i dati sono sempre rumorosi, è necessario tenere conto dell'incertezza sperimentale durante l'adattamento del modello. L'istruttore riassume l'uso di espressioni polinomiali, in particolare la regressione lineare, per trovare coefficienti che minimizzino le differenze tra i dati osservati e previsti.

  • 00:05:00 In questa sezione, il concetto di regressione lineare viene esplorato in dettaglio. L'idea alla base della regressione lineare è quella di rappresentare tutte le linee possibili in uno spazio che ha un accesso con valori a e l'altro accesso con valori B, dove il valore o l'altezza della superficie è il valore di quella funzione obiettivo in ogni punto. L'idea è di iniziare da un certo punto su quella superficie e camminare in discesa fino a raggiungere il fondo, dove ci sarà sempre un punto in basso, e una volta raggiunto quel punto, i valori a e B daranno la linea migliore. La sezione si conclude con una discussione sulla determinazione del coefficiente R al quadrato, che è un valore indipendente dalla scala compreso tra 0 e 1 che misura quanto bene un modello si adatta ai dati.

  • 00:10:00 In questa sezione, il relatore discute l'importanza del valore R-quadrato nell'adattare i modelli ai dati sperimentali. Il valore R-quadrato indica quanto bene il modello si adatta ai dati, con un valore di 1 che indica un adattamento perfetto e un valore vicino a 0 che indica un adattamento scarso. Sebbene un modello di ordine superiore possa adattarsi meglio ai dati, non è necessariamente il modello migliore da utilizzare per spiegare i fenomeni o fare previsioni. L'oratore spiega anche come ha generato i dati per il suo esempio utilizzando una funzione parabolica con rumore aggiunto.

  • 00:15:00 riassumere. In questa sezione, il relatore discute come testare l'efficacia di un modello utilizzando la convalida o la convalida incrociata. Generano dati da un arco parabolico con rumore aggiunto e modelli di adattamento per i gradi 2, 4, 8 e 16 utilizzando due diversi set di dati. Il modello che meglio si adatta è ancora l'ordine 16, ma il puzzle è perché un polinomio di 16° ordine è l'adattamento migliore quando i dati sono stati generati da un polinomio di grado 2. Il relatore spiega che un piccolo errore di addestramento è necessario ma non sufficiente per un grande modello e che è necessaria la convalida o la convalida incrociata per vedere come si comporta bene il modello su dati diversi generati dallo stesso processo.

  • 00:20:00 In questa sezione, il relatore discute l'uso di dati sperimentali e come adattare un modello ad essi. Esplorano anche l'importanza di testare i modelli su set di dati diversi, nonché il potenziale di overfitting quando si utilizzano troppi gradi di libertà in un modello. Attraverso il loro esempio, mostrano che i modelli di ordine basso (ad esempio ordine 2 o 4) possono effettivamente essere più efficaci per prevedere il comportamento rispetto ai modelli di ordine elevato (ad esempio ordine 16) e che è importante testare i modelli su più set di dati per garantire che non sono troppo complessi.

  • 00:25:00 In questa sezione, il relatore mette in guardia sui pericoli dell'overfitting dei dati, in cui un modello è progettato per adattarsi ai dati di addestramento così perfettamente da non potersi adattare a nuovi set di dati. Spiega come utilizzare la convalida per rilevare l'overfitting e perché in alcuni casi non sono necessari ordini più elevati di variabili di input. Dimostra un esempio di adattamento di un modello quadratico a una linea e mostra che il sistema dice di no al coefficiente di termine più alto perché inizierà ad adattare il rumore, portando a un adattamento meno efficace. L'esempio del relatore adatta una quadratica a una linea e mostra come il modello funzioni perfettamente finché non viene aggiunto un punto che porta il sistema ad adattare perfettamente il rumore, prevedendo quindi in modo efficace nuovi valori.

  • 00:30:00 In questa sezione, il relatore introduce il concetto di overfitting e ne dimostra gli effetti aggiungendo una piccola quantità di rumore a un set di dati e adattando sia un modello quadratico che un modello di primo grado. È dimostrato che il modello quadratico non funziona bene con il rumore aggiunto, mentre il modello di primo grado è più resistente ad esso. Il relatore sottolinea che trovare il giusto equilibrio tra un modello eccessivamente complesso e un modello non sufficientemente complesso è fondamentale per prevedere con precisione i risultati. La sezione si conclude con un metodo suggerito per trovare il modello giusto.

  • 00:35:00 In questa sezione, il video illustra come determinare il modello migliore per un determinato set di dati, in particolare nei casi in cui non esiste una teoria che guidi la scelta. Un approccio consiste nell'aumentare l'ordine del modello finché non esegue un buon lavoro nella previsione di nuovi dati ma non si adatta eccessivamente ai dati di addestramento originali. Ad esempio, il video esamina come la legge di Hooke si applica all'allungamento di una molla e mostra che sono necessari diversi modelli lineari per diversi segmenti di dati, evidenziando l'importanza di segmentare i dati in modo appropriato. La validazione incrociata, inclusa la validazione leave one out e la validazione K-fold, può anche aiutare a guidare la scelta della complessità del modello quando si ha a che fare con set di dati più grandi.

  • 00:40:00 In questa sezione, il relatore spiega come utilizzare la convalida incrociata per determinare il modello migliore per prevedere l'alta temperatura media giornaliera negli Stati Uniti per un periodo di 55 anni. Usano il campionamento casuale ripetuto per prelevare campioni casuali dal set di dati, addestrare un modello sul set di addestramento e testarlo sul set di test. Calcolano anche le medie annuali per l'alta temperatura per tracciarla e creare modelli con dimensioni lineari, quadratiche, cubiche e quartiche, dove si allenano su metà dei dati, testano l'altra metà e registrano il coefficiente di determinazione per ottenere Una media. Riportano i valori medi per ogni dimensionalità.

  • 00:45:00 In questa sezione, il relatore mostra come suddividere casualmente il set di dati in set di addestramento e test utilizzando un metodo di campionamento a punti casuali. Quindi esegue un ciclo in cui imposta diversi set di addestramento e test e quindi adatta ogni dimensione utilizzando un adattamento polinomiale. Il modello può quindi essere utilizzato per prevedere i valori del set di test e confrontarli con i valori effettivi, calcolando il valore R-quadrato e aggiungendolo. Conclude che l'esecuzione di più prove è necessaria per ottenere statistiche su tali prove e statistiche all'interno ogni prova. Ciò consente loro di selezionare il modello più semplice possibile che tenga conto dei dati.

  • 00:50:00 In questa sezione, il relatore discute la complessità dei modelli che possono prevedere efficacemente nuovi dati basati su dati sperimentali. Questa complessità può derivare dalla teoria o dalla convalida incrociata per determinare il modello più semplice che fa ancora un buon lavoro nel prevedere il comportamento dei dati.
10. Understanding Experimental Data (cont.)
10. Understanding Experimental Data (cont.)
  • 2017.05.19
  • www.youtube.com
MIT 6.0002 Introduction to Computational Thinking and Data Science, Fall 2016View the complete course: http://ocw.mit.edu/6-0002F16Instructor: Eric GrimsonPr...
 

Lezione 11. Introduzione al Machine Learning



11. Introduzione all'apprendimento automatico

Il video discute il concetto di apprendimento automatico, come funziona e due modi comuni per farlo: apprendimento supervisionato e non supervisionato. Prosegue poi mostrando un esempio di apprendimento supervisionato: addestramento di una macchina per prevedere la posizione di nuovi giocatori di calcio in base alla loro altezza e peso.

  • 00:00:00 Questo riepilogo di 1 paragrafo ha lo scopo di fornire una panoramica generale del video, Machine Learning. Inizia introducendo l'idea di machine learning e le sue varie applicazioni, prima di discutere i due principali metodi di machine learning: classificazione e clustering. Il video passa quindi a introdurre le basi della regressione lineare, prima di discutere in modo più dettagliato l'argomento dell'apprendimento automatico. L'ultima sezione del video si concentra sull'introduzione dei concetti di machine learning agli studenti in modo più conciso.

  • 00:05:00 L'apprendimento automatico è il processo di apprendimento del computer senza essere esplicitamente programmato. In questa lezione, discutiamo alcuni dei diversi tipi di algoritmi di apprendimento automatico e come funzionano. Evidenziamo anche alcuni esempi di dove viene attualmente utilizzato l'apprendimento automatico.

  • 00:10:00 Questo video discute l'idea dell'apprendimento automatico, come funziona e due modi comuni per farlo: apprendimento supervisionato e non supervisionato. Prosegue poi mostrando un esempio di apprendimento supervisionato: addestramento di una macchina per prevedere la posizione di nuovi giocatori di calcio in base alla loro altezza e peso.

  • 00:15:00 In questo video viene mostrato un algoritmo di apprendimento automatico che può essere utilizzato per creare cluster di dati basati sulla distanza. L'algoritmo funziona selezionando due esempi come esemplari, raggruppando tutti gli altri esempi semplicemente dicendo di inserirlo nel gruppo a cui è più vicino a quell'esempio e quindi trovando l'elemento mediano di quel gruppo.

  • 00:20:00 L'apprendimento automatico è un processo di apprendimento su come identificare i modelli nei dati. Il processo inizia addestrando un modello di machine learning su dati etichettati e quindi utilizzando quel modello per identificare i modelli nei dati senza etichetta. Esistono due modi principali per eseguire questa operazione: utilizzare dati etichettati e utilizzare dati non etichettati. Nel primo caso, il modello di machine learning è in grado di identificare modelli nei dati che corrispondono alle etichette che gli sono state assegnate. Nel secondo caso, il modello di machine learning è in grado di identificare modelli nei dati che corrispondono alle funzionalità selezionate dall'utente.

  • 00:25:00 Questo video discute il concetto di ingegneria delle caratteristiche, che è il processo per determinare quali caratteristiche misurare e come pesarle per creare un modello il più preciso possibile. L'esempio utilizzato riguarda l'etichettatura dei rettili e, sebbene sia facile etichettare un singolo esempio, diventa più difficile con l'aumentare del numero di esempi. Il video passa quindi a discutere il concetto di selezione delle caratteristiche, che è il processo di scelta delle caratteristiche da mantenere e quali scartare per creare un modello il più accurato possibile. Il video termina con un esempio di etichettatura dei polli, che non si adatta al modello per i rettili, ma si adatta al modello per il pollo.

  • 00:30:00 Il video fornisce un'introduzione all'apprendimento automatico e ai suoi principi. Copre l'importanza di progettare un sistema che non etichetti mai erroneamente alcun dato come qualcosa che non è, usando l'esempio di un gioco in cui due giocatori stanno cercando di determinare la differenza tra loro. Introduce la metrica di Minkowski, che è un modo per misurare la distanza tra i vettori.

  • 00:35:00 Questo video introduce la distanza euclidea, una misura di distanza standard nel piano, e la distanza di Manhattan, una metrica utilizzata per confrontare le distanze tra oggetti con caratteristiche diverse. La distanza euclidea si basa sulla radice quadrata di due, mentre la distanza di Manhattan si basa sulla distanza tra i punti su una griglia. In alcuni casi, come quando si confronta il numero di zampe di diverse creature, la differenza nelle caratteristiche tra gli oggetti può essere più importante della distanza tra gli oggetti stessi. L'ingegneria delle funzionalità, ovvero la scelta delle funzionalità da misurare e il modo in cui ponderarle, è importante nell'apprendimento automatico.

  • 00:40:00 Questo video illustra l'importanza delle scale e come possono influenzare il funzionamento di un algoritmo di machine learning. Discute come i pesi possono essere usati in modi diversi e come misurare la distanza tra gli esempi. Discute anche come raggruppare i dati utilizzando una serie di metodi e come scegliere il giusto numero di cluster.

  • 00:45:00 Questo video introduce il concetto di machine learning e mostra come adattare una curva ai dati per separare due gruppi. Fornisce inoltre un esempio di come valutare un modello di machine learning.

  • 00:50:00 Questo video discute il compromesso tra sensibilità (quante cose sono state etichettate correttamente) e specificità (con quanta precisione le etichette hanno identificato gli elementi desiderati). Il professor Guttag dimostra una tecnica chiamata ROC (Receiver Operator Curves), che aiuta a rendere questo compromesso più facile da capire.
11. Introduction to Machine Learning
11. Introduction to Machine Learning
  • 2017.05.19
  • www.youtube.com
MIT 6.0002 Introduction to Computational Thinking and Data Science, Fall 2016View the complete course: http://ocw.mit.edu/6-0002F16Instructor: Eric GrimsonIn...
 

Lezione 12. Raggruppamento




12. Raggruppamento

Questo video esamina il concetto di raggruppare i punti dati in gruppi. Spiega come eseguire il clustering utilizzando l'algoritmo k-mean e come ottimizzare l'algoritmo per la velocità. Discute anche come utilizzare il clustering per diagnosticare i problemi con i dati.

  • 00:00:00 L'obiettivo di questo video è rivedere i concetti di variabilità e raggruppamento. Il video spiega che la variabilità è la somma della distanza tra la media di un cluster e ciascun esempio nel cluster e che il clustering è il problema di ottimizzazione del raggruppamento di un insieme di esempi in un singolo cluster.

  • 00:05:00 Il clustering gerarchico è un metodo per raggruppare gli elementi in un set di dati. L'algoritmo inizia assegnando ciascun elemento al proprio cluster, quindi trova i due cluster più simili. Se sono rimasti meno di cinque cluster, l'algoritmo unisce i due cluster più vicini in un unico cluster.

  • 00:10:00 Il video discute diverse metriche di clustering e spiega come ognuna influisce sui risultati finali del clustering. Ad esempio, il collegamento singolo viene utilizzato per unire città più vicine tra loro, mentre il collegamento completo viene utilizzato per unire città più lontane l'una dall'altra.

  • 00:15:00 Il video spiega come funziona il clustering e l'algoritmo più comunemente usato è k-mean. È veloce ed efficiente, ma può essere ottimizzato per renderlo ancora più veloce.

  • 00:20:00 In questo video, l'autore spiega come raggruppare oggetti selezionando casualmente K centroidi e assegnando punti a quei centroidi. L'autore discute anche il potenziale svantaggio di scegliere K in modo errato. Infine, l'autore consiglia di utilizzare un buon algoritmo k-means per trovare il miglior K.

  • 00:25:00 In questo video, l'autore illustra come eseguire il clustering gerarchico e le k-medie su un sottoinsieme di dati. Discute anche i punti deboli dell'algoritmo e come risolverli.

  • 00:30:00 Questo video spiega come raggruppare i dati utilizzando l'algoritmo k-means. I dati sono divisi in cluster e vengono calcolati i centroidi di ciascun cluster.

  • 00:35:00 In questa lezione, il professore spiega come raggruppare i dati utilizzando il ridimensionamento e la varianza. Mostra come ridimensionare un vettore di caratteristiche e come calcolare la media e la deviazione standard dei dati in scala.

  • 00:40:00 Questo video spiega come raggruppare i dati utilizzando diversi metodi, tra cui Z scaling, interpolazione e k-medie. I risultati mostrano che i dati non sono ben raggruppati e che non vi è alcuna differenza statisticamente significativa tra i due cluster.

  • 00:45:00 Il video illustra come utilizzare il clustering per diagnosticare problemi con i dati. In particolare, dimostra come il clustering può essere utilizzato per trovare gruppi di pazienti con caratteristiche simili, come quelli che potrebbero essere positivi. Il video prosegue poi mostrando come il clustering può essere utilizzato per trovare diversi valori di K, che aumenta il numero di cluster trovati.

  • 00:50:00 In questo video, i data scientist discutono del clustering. Spiegano che il clustering è il processo di raggruppamento dei dati in gruppi simili. Discutono di come è possibile utilizzare parametri diversi per creare cluster diversi e di come il data scientist deve pensare ai dati per creare i cluster migliori.
12. Clustering
12. Clustering
  • 2017.05.19
  • www.youtube.com
MIT 6.0002 Introduction to Computational Thinking and Data Science, Fall 2016View the complete course: http://ocw.mit.edu/6-0002F16Instructor: John GuttagPro...
 

Lezione 13. Classificazione



13. Classificazione

Questo video copre diversi metodi di classificazione tra cui il vicino più vicino, i vicini K più vicini (KNN) e la regressione logistica. Il presentatore dimostra KNN utilizzando esempi di classificazione degli animali e riconoscimento della grafia e spiega come evita dati rumorosi per fornire risultati più affidabili. Introducono il set di dati Titanic e spiegano l'importanza di trovare il giusto equilibrio quando si utilizzano metriche come la sensibilità e la specificità per valutare le prestazioni di un modello di classificazione. Inoltre, il video illustra due metodi di test, il sottocampionamento casuale ripetuto e senza esclusione, e come applicarli alla classificazione KNN. Infine, il relatore spiega perché la regressione logistica è preferita alla regressione lineare per i problemi di classificazione, evidenziando la sua capacità di assegnare pesi diversi a variabili diverse e fornire approfondimenti sulle variabili attraverso i pesi delle caratteristiche.

  • 00:00:00 In questa sezione, l'istruttore inizia introducendo il concetto di classificazione nell'apprendimento supervisionato, che è l'atto di prevedere un valore discreto, spesso indicato come "etichetta", associato a un vettore di caratteristiche. Ciò può includere la previsione se qualcuno avrà una reazione avversa a un farmaco o il suo voto in un corso. L'istruttore fornisce quindi un esempio utilizzando una matrice di distanza e una rappresentazione binaria degli animali per classificarli come rettili o meno. L'approccio più semplice alla classificazione, noto come il vicino più vicino, prevede il ricordo dei dati di addestramento e la selezione dell'etichetta associata all'esempio più vicino quando si prevede l'etichetta di un nuovo esempio.

  • 00:05:00 In questa sezione, il relatore spiega il metodo di classificazione K dei vicini più vicini (KNN), che evita dati rumorosi ed è più affidabile del semplice metodo del vicino più vicino. Dimostra KNN usando esempi come la classificazione degli animali e il riconoscimento della grafia. Il metodo KNN prende il "voto" di più vicini più vicini, di solito un numero dispari, anziché solo quello più vicino, e questo riduce l'influenza dei valori anomali. Il relatore conclude che, sebbene non infallibile, KNN è un metodo di classificazione tipicamente più affidabile per i dati con rumore.

  • 00:10:00 In questa sezione, il video discute l'algoritmo K-nearest neighbors e alcune delle sue limitazioni. Sebbene K-nearest neighbors sia efficiente e di facile comprensione, richiede l'archiviazione di tutti gli esempi di addestramento, che possono richiedere un uso intensivo della memoria e la previsione delle classificazioni può richiedere molto tempo a causa della necessità di confrontare gli esempi. Inoltre, se K è troppo grande, l'algoritmo può essere dominato dalla dimensione della classe, portando a errori di classificazione. Il video suggerisce di utilizzare la convalida incrociata per scegliere il miglior valore per K e spiega che è importante scegliere K in modo tale che ci sia un chiaro vincitore nel processo di voto.

  • 00:15:00 In questa sezione, il presentatore introduce un nuovo esempio di classificazione: prevedere quali passeggeri sarebbero sopravvissuti al disastro del Titanic utilizzando l'apprendimento automatico. Il set di dati include informazioni sulla classe, l'età, il sesso dei passeggeri e se sono sopravvissuti o meno. Per valutare il modello di machine learning, il relatore spiega perché l'accuratezza da sola non è una buona metrica quando c'è uno squilibrio di classe e introduce altre metriche come la sensibilità, la specificità, il valore predittivo positivo e il valore predittivo negativo. Spiega anche l'importanza di scegliere il giusto equilibrio e come queste misure forniscano intuizioni diverse.

  • 00:20:00 In questa sezione, il relatore discute l'importanza della sensibilità e della specificità nei classificatori e come testare un classificatore. La sensibilità e la specificità devono essere bilanciate a seconda dell'applicazione del classificatore. Ad esempio, un test sul cancro richiederebbe maggiore sensibilità, mentre un test per la chirurgia a cuore aperto richiederebbe maggiore specificità. Il relatore spiega quindi due metodi per testare un classificatore: leave-one-out (usato per set di dati più piccoli) e sottocampionamento casuale ripetuto (usato per set di dati più grandi). Quest'ultimo prevede la suddivisione casuale dei dati in set per l'addestramento e il test e viene introdotto un parametro chiamato metodo di apprendimento automatico per confrontare diversi metodi come kN e regressione logistica. Viene mostrato il codice per questi test e il relatore sottolinea l'importanza di testare un classificatore per convalidarne le prestazioni.

  • 00:25:00 In questa sezione, l'istruttore discute due metodi di test, tralasciarne uno e campionamento casuale ripetuto, e mostra come applicarli alla classificazione KNN. L'istruttore spiega anche come utilizzare l'astrazione lambda, un trucco di programmazione comune in matematica, per trasformare una funzione di quattro argomenti in una funzione di due argomenti. I risultati della classificazione KNN utilizzando entrambi i metodi di prova sono mostrati e non sono significativamente diversi, indicando che l'accuratezza dei criteri di valutazione è coerente. Anche la classificazione KNN ha funzionato meglio della previsione casuale.

  • 00:30:00 In questa sezione, il relatore discute la regressione logistica, che è un metodo comune utilizzato nell'apprendimento automatico. A differenza della regressione lineare, progettata per prevedere un numero reale, la regressione logistica prevede una probabilità di un determinato evento. Questo metodo trova i pesi per ogni caratteristica, calcola per ogni caratteristica un peso che viene utilizzato per fare previsioni e utilizza un processo di ottimizzazione per calcolare questi pesi dai dati di addestramento. La regressione logistica utilizza la funzione log, da cui il suo nome, e SK impara il modello lineare è una libreria Python utilizzata per implementarla.

  • 00:35:00 In questa sezione, il relatore spiega come costruire un modello di regressione logistica utilizzando i dati di addestramento e testarlo utilizzando una serie di vettori di caratteristiche. Il modello di regressione logistica viene creato utilizzando la libreria SKLearn e, una volta calcolati i pesi delle variabili, il modello può essere utilizzato per prevedere le probabilità di etichette diverse in base a un determinato vettore di caratteristiche. Il relatore introduce anche la comprensione dell'elenco, un modo versatile ed efficiente per creare nuovi elenchi da quelli esistenti, che può essere particolarmente utile quando si creano insiemi di vettori di funzionalità di test.

  • 00:40:00 In questa sezione, l'oratore discute la comprensione delle liste in Python e la sua convenienza per certi compiti, ma mette in guardia contro il suo uso improprio. Andando avanti, il relatore spiega il loro processo nell'applicare la regressione logistica come modello e come lo costruiscono e lo testano utilizzando i dati di addestramento e test. Quindi definiscono LR, o regressione logistica, e mostrano come il modello può essere applicato con le etichette "sopravvissuto" e "non sopravvissuto". Il relatore osserva che la regressione logistica è più veloce di KNN, poiché una volta ottenuti i pesi, la valutazione del modello è un processo rapido.

  • 00:45:00 In questa sezione, l'istruttore spiega perché la regressione logistica è preferita alla regressione lineare per i problemi di classificazione. In primo luogo, la regressione logistica è considerata più sottile e può assegnare pesi diversi a variabili diverse per prestazioni migliori. In secondo luogo, fornisce approfondimenti sulle variabili attraverso i pesi delle caratteristiche che possono essere stampati come output. Osservando i pesi, si può dare un senso alle variabili utilizzate per la classificazione. Ad esempio, nel modello presentato, i passeggeri di cabina di prima classe hanno avuto un effetto positivo sulla sopravvivenza, mentre l'età e l'essere un maschio hanno avuto effetti negativi. L'istruttore consiglia inoltre di essere cauti nell'interpretazione dei pesi delle caratteristiche poiché le variabili possono essere correlate.
13. Classification
13. Classification
  • 2017.05.19
  • www.youtube.com
MIT 6.0002 Introduction to Computational Thinking and Data Science, Fall 2016View the complete course: http://ocw.mit.edu/6-0002F16Instructor: John GuttagPro...
 

Lezione 14. Classificazione e peccati statistici



14. Classificazione e peccati statistici

Questo video di YouTube discute varie classificazioni e peccati statistici che possono portare a conclusioni errate. Un punto chiave è l'importanza di comprendere le intuizioni che si possono ottenere dallo studio dei modelli di apprendimento automatico, poiché l'interpretazione dei pesi delle variabili nella regressione logistica può essere fuorviante, soprattutto quando le funzionalità sono correlate. Il video sottolinea inoltre l'importanza di valutare le prestazioni dei classificatori utilizzando l'area sotto la curva delle caratteristiche operative del ricevitore (AUROC) ed evitando la tentazione di abusare dei numeri. Inoltre, viene evidenziata l'importanza di esaminare i dati ed evitare il campionamento non rappresentativo, poiché questi possono portare a peccati statistici come Garbage In, Garbage Out (GIGO) e bias di sopravvivenza.

  • 00:00:00 In questa sezione del video, l'istruttore discute l'importanza di studiare i modelli di apprendimento automatico per ottenere informazioni sui sistemi e sui processi che hanno generato i dati. Lo dimostra esaminando i pesi di diverse variabili in un modello di regressione logistica, che è stato utilizzato per prevedere i tassi di sopravvivenza per il set di dati del Titanic. Osservando i pesi relativi delle diverse variabili, l'istruttore conclude che essere un passeggero maschio in terza classe era associato a una probabilità molto più elevata di non sopravvivere al naufragio. Mette in guardia contro l'affidarsi esclusivamente ai modelli di apprendimento automatico per fare previsioni senza comprendere le intuizioni che si possono ottenere studiandole.

  • 00:05:00 In questa sezione, il relatore spiega i problemi con l'interpretazione dei pesi nella regressione logistica, in particolare quando le caratteristiche sono correlate. Esistono due modi per utilizzare la regressione logistica, L1 e L2, con L2 come impostazione predefinita in Python. L1 è progettato per trovare pesi e portarli a zero, rendendolo utile per evitare l'overfitting in problemi ad alta dimensione. Tuttavia, L1 porterà a zero una variabile anche se è importante ma correlata con un'altra variabile che ha più peso. D'altra parte, L2 distribuisce il peso su tutte le variabili, facendo sembrare che nessuna di esse sia molto importante, specialmente quando sono correlate. Per illustrare ciò, il relatore ha fornito un esempio delle classi di cabina sul Titanic e ha discusso di come l'eliminazione di una variabile potrebbe cambiare l'interpretazione dei risultati.

  • 00:10:00 In questa sezione, il video esplora il problema della sovrainterpretazione dei pesi quando si tratta di caratteristiche correlate. Analizzando alcuni esempi, il video sottolinea che interpretare il segno dei pesi può essere utile mentre interpretare i pesi stessi può essere fuorviante. Il video affronta quindi il parametro P della regressione logistica e spiega come diversi valori di P possono influire sull'accuratezza e sulla sensibilità delle previsioni. Il video si conclude evidenziando che anche se l'accuratezza sembra essere buona, potrebbero esserci problemi di sensibilità, indicando la necessità di analizzare i risultati in modo completo prima di trarre conclusioni significative.

  • 00:15:00 In questa sezione, il relatore parla della caratteristica operativa del ricevitore (ROC) e di come sia una curva che ci consente di esaminare tutti i possibili tagli di un modello per vedere la forma dei risultati, dove l'asse y presenta sensibilità e l'asse x mostra 1 meno specificità. Menzionano l'importanza dell'area sotto la curva (AUC) e come aiuta a comprendere meglio le prestazioni di un modello. L'oratore avverte di evitare gli angoli della curva che sono altamente sensibili/non specifici o molto specifici/insensibili quando si sceglie un limite per un modello, per evitare che il modello prenda decisioni sbagliate ed errori inutili.

  • 00:20:00 In questa sezione, il relatore discute il concetto di valutazione delle prestazioni dei classificatori utilizzando l'area sotto la curva operativa del ricevitore (AUROC). Spiegano come la curva mostra l'efficacia del classificatore rispetto a un classificatore casuale e che più la curva è vicina a uno, migliori sono le prestazioni del classificatore. Il relatore osserva inoltre che determinare la significatività statistica del punteggio AUROC può essere una sfida e dipende da molteplici fattori, tra cui il numero di punti dati e l'applicazione a portata di mano. In definitiva, l'utilità del punteggio AUROC è ciò che conta e dovrebbe aiutare a prendere decisioni pratiche.

  • 00:25:00 In questa sezione, il relatore discute il concetto di curva AUROC (Area Under the Receiver Operating Characteristic) e spiega come viene comunemente usata rispetto alla specificità. Spiegano che il trucco di calcolare l'area sotto la curva è aiutato dall'uso della curva concava che ottengono dalla misurazione della specificità, e questo aiuta a rendere le statistiche facili da visualizzare e confrontare. Tuttavia, avvertono che questo strumento può essere utilizzato per scopi fuorvianti e gli statistici dovrebbero capire come evitare la tentazione di abusare dei numeri. Sottolineano che i numeri stessi non mentono, ma i bugiardi usano i numeri per creare false impressioni. L'oratore offre una serie di coppie XY in cui spiegano che sebbene statisticamente le coppie sembrino uguali, possono essere molto diverse se rappresentate graficamente.

  • 00:30:00 In questa sezione, il relatore discute l'importanza di non confondere le statistiche con i dati effettivi e sottolinea il valore della visualizzazione dei dati attraverso diagrammi e grafici. Tuttavia, avverte anche che le immagini fuorvianti possono essere create intenzionalmente o meno e sottolinea la necessità di esaminare attentamente le etichette e comprendere il contesto di un grafico prima di trarre conclusioni. Il relatore presenta due esempi di grafici visivamente fuorvianti, uno che prevede un confronto di genere tra i voti e l'altro un confronto tra il numero di persone assistite e con un lavoro a tempo pieno.

  • 00:35:00 In questa sezione, l'oratore discute il peccato statistico comune di Garbage In, Garbage Out (GIGO). Forniscono un esempio degli anni Quaranta dell'Ottocento in cui i dati del censimento venivano utilizzati per affermare che la schiavitù era un bene per gli schiavi, affermando che gli schiavi liberati avevano maggiori probabilità di essere pazzi rispetto agli schiavi ridotti in schiavitù. John Quincy Adams ha esposto gli errori in questa affermazione e ha sostenuto che erano state fatte dichiarazioni atroci. L'oratore sottolinea che l'accuratezza dei dati è fondamentale e, anche se ci sono errori, devono essere imparziali, indipendenti e distribuiti in modo identico per evitare spazzatura in entrata e in uscita.

  • 00:40:00 In questa sezione, l'oratore mette in guardia contro l'analisi di dati errati che può essere peggio di nessuna analisi. Spesso le persone effettuano analisi statistiche errate con dati errati, portando a conclusioni rischiose. L'oratore porta l'esempio dell'analisi imperfetta dei dati del censimento del XIX secolo da parte degli abolizionisti. L'analisi di errori non casuali nei dati ha portato a conclusioni non accurate. L'oratore poi cita come il pregiudizio dei sopravvissuti abbia indotto gli alleati a concludere la cosa sbagliata sui loro aerei durante la seconda guerra mondiale. Hanno analizzato gli aerei che sono tornati dai bombardamenti e i punti rinforzati che hanno subito fori di proiettile dalla contraerea, invece degli aerei che sono stati abbattuti. Il relatore spiega che le tecniche statistiche si basano sul presupposto che, campionando casualmente un sottoinsieme della popolazione, si possano fare affermazioni matematiche sull'intera popolazione. Quando si utilizza il campionamento casuale, è possibile trarre conclusioni significative.

  • 00:45:00 In questa sezione, il relatore discute il campionamento non rappresentativo, noto anche come campionamento di convenienza, e il suo impatto sull'analisi statistica. Spiega come i campioni di convenienza di solito non siano casuali e quindi soffrano di pregiudizi sui sopravvissuti, che possono distorcere i risultati dei sondaggi di opinione e delle valutazioni dei corsi, tra le altre cose. Inoltre, osserva come il calcolo dell'errore standard, che presuppone campioni casuali e indipendenti, non possa trarre conclusioni affidabili da campioni di convenienza, citando i sondaggi politici come esempio dell'inaffidabilità dell'analisi statistica. Il punto chiave è l'importanza di capire come i dati sono stati raccolti e analizzati e se le ipotesi alla base dell'analisi sono vere, in modo da evitare di cadere preda di errori statistici.
14. Classification and Statistical Sins
14. Classification and Statistical Sins
  • 2017.05.19
  • www.youtube.com
MIT 6.0002 Introduction to Computational Thinking and Data Science, Fall 2016View the complete course: http://ocw.mit.edu/6-0002F16Instructor: John GuttagPro...
 

MIT 6.0002 Introduzione al pensiero computazionale e alla scienza dei dati, autunno 2016. Lezione 15. Statistical Sins and Wrap Up



15. Peccati statistici e conclusione

In questo video, John Guttag discute i tre principali tipi di errori statistici e fornisce un esempio di come ciascuno di essi possa portare a false conclusioni. Esorta gli studenti a essere consapevoli del tipo di dati che stanno guardando e ad utilizzare un intervallo appropriato per assicurarsi che le loro conclusioni siano accurate.

  • 00:00:00 John Guttag discute i tre tipi principali di peccati statistici: commettere i peccati dell'asse y di iniziare da 0, troncando i dati per farli sembrare corretti e confondere le fluttuazioni con le tendenze. Fornisce anche un esempio di un argomento meno controverso, febbre e influenza, dove è chiaro che la temperatura non cambia quando si prende l'influenza. Guttag esorta gli studenti a essere consapevoli del tipo di dati che stanno guardando e ad utilizzare un intervallo appropriato per assicurarsi che le loro conclusioni siano accurate.

  • 00:05:00 In questo video, statistico e professore discutono dei pericoli dei dati del cherry picking, che possono portare a conclusioni errate. Suggerisce che, per trarre conclusioni valide, gli scienziati dovrebbero esaminare i dati in un periodo di tempo appropriato.

  • 00:10:00 L'oratore sottolinea che i numeri da soli non significano sempre molto e che il contesto è importante quando si considerano le statistiche. Discute due esempi di statistiche in cui il contesto è importante: l'influenza suina e l'influenza stagionale. Osserva inoltre che quando si parla di variazione percentuale, è importante conoscere il denominatore.

  • 00:15:00 Questo video discute le insidie dell'uso delle percentuali per calcolare le cose, come i cluster di cancro. Mostra come le simulazioni matematiche possono fornire un quadro più accurato di quanto sia probabile qualcosa e come gli avvocati potrebbero utilizzare queste informazioni nei loro casi legali.

  • 00:20:00 Questo video spiega come l'analisi statistica può aiutare a rispondere a domande sul fatto che una determinata regione abbia o meno un numero elevato di casi di cancro. Il video mostra anche come l'avvocato in questione abbia effettuato un'analisi statistica impropria, che ha portato a conclusioni errate.

  • 00:25:00 In questo video, l'istruttore copre vari errori statistici, tra cui l'errore del tiratore scelto del Texas e il controllo di ipotesi multiple. Avverte che lo scetticismo e la negazione sono diversi e che quando si traggono conclusioni dai dati, bisogna stare attenti a non commettere errori.

  • 00:30:00 La conclusione principale di questo video è che la programmazione riguarda la risoluzione di problemi utilizzando librerie e algoritmi. Il video sottolinea anche l'importanza di pensare in termini di probabilità e l'uso della casualità nella risoluzione dei problemi.

  • 00:35:00 In questo video, il professore discute i diversi modelli statistici che gli studenti possono utilizzare per analizzare i dati. Sottolinea l'importanza di comprendere l'affidabilità dei risultati e fornisce suggerimenti su come presentare i dati in modo efficace.

  • 00:40:00 Questo video fornisce una breve storia dell'informatica e introduce il concetto di UROP (tirocinio di ricerca). Spiega che, sebbene l'informatica possa non essere la specializzazione più popolare nel campus, è un campo molto utile da perseguire. Infine, il video fornisce alcuni consigli finali su come avere successo nella vita.
15. Statistical Sins and Wrap Up
15. Statistical Sins and Wrap Up
  • 2017.05.19
  • www.youtube.com
MIT 6.0002 Introduction to Computational Thinking and Data Science, Fall 2016View the complete course: http://ocw.mit.edu/6-0002F16Instructor: John GuttagPro...
 

Corso accelerato di deep learning per principianti


Corso accelerato di deep learning per principianti

Questo video offre un corso accelerato sull'apprendimento approfondito, incentrato sugli algoritmi di apprendimento supervisionato e non supervisionato. Copre i concetti chiave di ciascun approccio, inclusi modello, stato, ricompensa, politica e valore. Il principale svantaggio dei modelli di deep learning è che possono essere adattati eccessivamente ai dati di addestramento, con conseguente scarsa generalizzazione. Vengono discusse le tecniche per combattere l'overfitting, tra cui l'abbandono e l'aumento del set di dati. Questo corso introduttivo sul deep learning fornisce una panoramica generale dell'argomento, evidenziando l'importanza delle reti neurali e del Dropout. Spiega anche come ridurre l'overfitting comprendendo le basi del deep learning.

  • 00:00:00 In questo video, Jason guida gli spettatori attraverso un corso accelerato di deep learning, spiegando cos'è il deep learning e la sua importanza. Continua spiegando come funziona il deep learning, concentrandosi sui suoi principali vantaggi rispetto all'apprendimento automatico tradizionale: che può apprendere funzionalità e attività direttamente dai dati, senza bisogno di competenze di dominio o intervento umano. Infine, Jason copre alcuni dei recenti successi del deep learning, inclusa la sua capacità di superare gli umani in una varietà di compiti.

  • 00:05:00 I modelli di deep learning richiedono molta potenza di calcolo e dati e non erano disponibili alcuni decenni fa. In terzo luogo, questi modelli sono ottimizzati con la crescente popolarità di software open source come TensorFlow e PyTorch. Le reti neurali costituiscono la base del deep learning, un sottocampo dell'apprendimento automatico in cui gli algoritmi sono ispirati alla struttura del cervello umano. Proprio come i neuroni costituiscono il cervello, anche i mattoni fondamentali di una rete neurale sono i neuroni. Le reti neurali acquisiscono i dati e si addestrano a riconoscere i modelli in questi dati e prevedono gli output per un nuovo set di dati simili. Nell'ultimo passaggio prima della propagazione, una nuova rete emette una previsione. Se la previsione è corretta, la rete utilizza una funzione di perdita per quantificare la deviazione dall'output previsto. Se la previsione è errata, la rete utilizza la propagazione all'indietro per regolare i pesi e le distorsioni.

  • 00:10:00 Questo video spiega come funziona il deep learning, a partire dall'inizializzazione della rete. Nella prima iterazione, alla rete viene fornito un insieme di dati di input. La rete viene quindi addestrata per fare previsioni utilizzando una funzione di perdita. La propagazione all'indietro viene quindi utilizzata per regolare i pesi e le distorsioni nella rete. La nuova rete viene quindi addestrata utilizzando la discesa del gradiente fino a quando non è in grado di effettuare previsioni per l'intero set di dati. Ci sono alcuni inconvenienti in questo approccio, incluso il fatto che gli aggiustamenti apportati ai pesi e alle distorsioni non dipendono dai dati di input.

  • 00:15:00 Le tre funzioni di attivazione più comuni utilizzate nel deep learning sono sigmoid, tanh e relu. Queste funzioni presentano diversi vantaggi e svantaggi, ma alla fine producono tutte una rete neurale non lineare. L'algoritmo di discesa del gradiente è in grado di gestire bene la scarsità di attivazione, ma può soffrire del "problema del valore morente".

  • 00:20:00 Il deep learning è un campo del machine learning che si occupa dell'addestramento di reti neurali artificiali. Il corso intensivo inizia discutendo cos'è una funzione di attivazione e prosegue spiegando perché le funzioni di attivazione non lineare vengono utilizzate nell'apprendimento approfondito. Successivamente, il corso intensivo discute le funzioni di perdita e come vengono utilizzate per addestrare la rete. Infine, il corso accelerato parla degli ottimizzatori e di come vengono utilizzati per rendere la rete il più precisa possibile.

  • 00:25:00 La discesa del gradiente è un algoritmo utilizzato per ottimizzare una data funzione di perdita. Inizia in un punto casuale e diminuisce la pendenza della funzione di perdita fino a raggiungere un minimo o un massimo. È un popolare ottimizzatore ed è veloce, robusto e flessibile. La discesa del gradiente è iterativa e utilizza i gradienti passati per calcolare il passaggio successivo.

  • 00:30:00 In questo video, l'autore ha delineato la differenza tra i parametri del modello (variabili interne all'interno di un modello di machine learning) e gli iperparametri (variabili esterne che non sono all'interno del modello e i cui valori non possono essere stimati dai dati). Gli iperparametri sono spesso indicati come "parametri che possono creare confusione" e di solito vengono impostati manualmente dal professionista. La discesa del gradiente e la retropropagazione sono due processi iterativi comuni utilizzati nell'apprendimento profondo. L'autore osserva che non esiste una "risposta giusta" quando si tratta del numero di epoche necessarie per addestrare un modello di deep learning, poiché set di dati diversi richiedono un numero diverso di iterazioni. Infine, l'autore offre alcuni suggerimenti su come utilizzare il deep learning in modo efficace.

  • 00:35:00 Questo video fornisce un corso accelerato sull'apprendimento approfondito, incentrato sull'apprendimento supervisionato. I concetti principali trattati includono algoritmi di apprendimento supervisionato e i loro scopi, nonché regressione lineare e non lineare.

  • 00:40:00 L'obiettivo principale dell'apprendimento non supervisionato è trovare modelli e relazioni nei dati che un osservatore umano potrebbe non cogliere. L'apprendimento non supervisionato può essere suddiviso in due tipi: raggruppamento e associazione. Il clustering è l'applicazione più semplice e comune dell'apprendimento non supervisionato ed è il processo di raggruppamento dei dati in diversi cluster. Le classi contengono punti dati il più possibile simili tra loro e il più dissimili possibile dai punti dati in altri cluster. Il clustering aiuta a trovare modelli sottostanti all'interno dei dati che potrebbero non essere visibili attraverso un osservatore umano. Il clustering gerarchico trova i cluster in base a un sistema di gerarchie e ogni punto dati può appartenere a più cluster. Il clustering gerarchico può essere organizzato come un diagramma ad albero. Alcuni degli algoritmi di clustering più comunemente usati sono il k-means, l'aspettativa e l'analisi gerarchica dei cluster dell'aca. L'associazione d'altra parte tenta di trovare relazioni tra entità diverse. Il classico esempio di regole associative è l'analisi del paniere di mercato. L'apprendimento non supervisionato trova applicazioni quasi ovunque, incluso airbnb, che aiuta gli host a trovare soggiorni ed esperienze e mette in contatto persone in tutto il mondo. Questa applicazione utilizza algoritmi di apprendimento senza supervisione in cui un potenziale cliente interroga i propri requisiti e airbnb apprende questi modelli e consiglia

  • 00:45:00 Il corso intensivo di deep learning per principianti copre i concetti chiave dell'apprendimento per rinforzo, inclusi modello, stato, ricompensa, politica e valore. Il principale svantaggio dei modelli di deep learning è che possono essere adattati eccessivamente ai dati di addestramento, con conseguente scarsa generalizzazione. Vengono discusse le tecniche per combattere l'overfitting, tra cui l'abbandono e l'aumento del set di dati.

  • 00:50:00 Una rete neurale è un algoritmo di apprendimento automatico composto da un numero di nodi di elaborazione interconnessi, o neuroni. Ogni neurone riceve input dai neuroni vicini e può produrre un output. Le reti neurali vengono utilizzate per modellare funzioni complesse e possono essere addestrate utilizzando una serie di architetture diverse.

  • 00:55:00 In questo video, il Crash Course introduce il concetto di memoria sequenziale, che le reti neurali tradizionali faticano a modellare. Le reti neurali ricorrenti (RNn) sono un tipo di nuova architettura di rete che utilizza un ciclo di feedback nel livello nascosto, che consente loro di modellare sequenze di dati con lunghezza di input variabile.
  • 01:00:00 Il video illustra come funzionano le reti neurali ricorrenti e come il problema della memoria a breve termine può essere risolto utilizzando due varianti della rete: reti neurali ricorrenti chiuse e reti neurali ricorrenti con memoria a breve termine.

  • 01:05:00 Le cinque fasi del deep learning sono la raccolta dei dati, la pre-elaborazione dei dati, la modellazione, la convalida e il rilevamento degli errori. La qualità dei dati è importante e dati errati implicano un modello errato. Non esiste una taglia unica quando si tratta di dati, ma la regola generale è che la quantità di dati necessari per un modello con buone prestazioni dovrebbe essere 10 volte il numero di parametri in quel modello.

  • 01:10:00 Il video discute l'importanza della formazione su un set di dati affidabile e l'importanza dei set di convalida. Continua spiegando il rapporto di suddivisione della convalida del test di addestramento e fornisce esempi su come eseguire la convalida incrociata.

  • 01:15:00 Il deep learning è un processo complesso che richiede un'attenta preparazione dei dati prima del training di un modello. Un passo in questo processo di preparazione riguarda i dati mancanti. Ci sono un paio di modi per farlo, ed entrambi hanno vantaggi e svantaggi. La prima opzione consiste nell'eliminare i campioni con valori mancanti, ma ciò può essere rischioso perché potrebbe eliminare informazioni rilevanti. La seconda opzione consiste nell'imputare i valori mancanti, ma ciò può richiedere molto tempo e potrebbe non essere adeguato in tutti i casi. Il ridimensionamento delle funzionalità è un altro passaggio importante nella preparazione dei dati per il deep learning e aiuta a normalizzare i dati, standardizzarli e ridurre gli effetti dei valori anomali. Dopo che i dati sono stati preparati, vengono inseriti in una rete per addestrare il modello. Il modello viene quindi valutato utilizzando un set di convalida. Se il modello è buono, può essere ulteriormente ottimizzato. Ricorda che la preparazione dei dati è un processo complesso e che richiede tempo, quindi assicurati di guardare prima il video se non sei sicuro di qualcosa.

  • 01:20:00 Il deep learning può essere molto efficace, ma può anche essere soggetto a overfitting. Esistono diversi modi per evitare l'overfitting, tra cui ottenere più dati, ridurre le dimensioni del modello e implementare la regolarizzazione del peso.

  • 01:25:00 Questo corso introduttivo sul deep learning fornisce una panoramica generale sull'argomento, evidenziando l'importanza delle reti neurali e del Dropout. Spiega anche come ridurre l'overfitting comprendendo le basi del deep learning.
Deep Learning Crash Course for Beginners
Deep Learning Crash Course for Beginners
  • 2020.07.30
  • www.youtube.com
Learn the fundamental concepts and terminology of Deep Learning, a sub-branch of Machine Learning. This course is designed for absolute beginners with no exp...
 

Come funzionano le reti neurali profonde - Corso completo per principianti



Come funzionano le reti neurali profonde - Corso completo per principianti

00:00:00 - 01:00:00 Il video "How Deep Neural Networks Work - Full Course for Beginners" offre una spiegazione completa del funzionamento delle reti neurali, dalle equazioni di regressione lineare di base alle complesse reti neurali convoluzionali utilizzate nel riconoscimento delle immagini. L'istruttore utilizza esempi e ausili visivi per spiegare il funzionamento delle reti neurali, incluso il modo in cui gli strati di nodi eseguono somme ponderate e schiacciamenti per produrre output, il processo di backpropagation per regolare i pesi e ridurre al minimo gli errori e il concetto di reti neurali convoluzionali per riconoscere i modelli nelle immagini. Il video copre anche argomenti come funzioni logistiche, perceptron multistrato e l'uso di più funzioni di output per creare classificatori.

01:00:00 - 02:00:00 Il corso su come funzionano le reti neurali profonde per principianti copre diversi argomenti relativi al funzionamento delle reti neurali. L'istruttore del corso discute la convoluzione, il raggruppamento e la normalizzazione e come sono impilati insieme per formare una rete neurale profonda. La backpropagation è anche spiegata come un processo utilizzato per regolare i pesi della rete per la riduzione degli errori. Il corso copre anche l'uso di vettori, gating, funzioni di schiacciamento e reti neurali ricorrenti nella traduzione da sequenza a sequenza. L'istruttore fornisce esempi di come le reti LSTM prevedono la parola successiva in una frase e come sono utili nei sistemi robotici identificando i modelli nel tempo. Infine, il video spiega come le reti neurali vengono addestrate utilizzando la discesa del gradiente con backpropagation per regolare i pesi e ridurre l'errore.

02:00:00 - 03:00:00 Il video "How Deep Neural Networks Work - Full Course for Beginners" discute le prestazioni delle reti neurali in vari scenari, confrontandole con l'intelligenza a livello umano. Il docente introduce una definizione scientifica di intelligenza come la capacità di fare bene molte cose e confronta le prestazioni e la generalità delle macchine e degli esseri umani su scala logaritmica. Il video copre argomenti come i limiti delle reti neurali convoluzionali nella classificazione delle immagini, il successo del deep learning nei giochi da tavolo e nella traduzione delle lingue, i limiti di generalità dei consiglieri e delle auto a guida autonoma e la crescente complessità dei robot umanoidi. Il video evidenzia l'impressionante aumento di intelligenza, generalità e prestazioni di AlphaZero e sostiene la necessità di concentrarsi sull'interazione fisica per creare algoritmi in grado di soddisfare una serie più generale di attività, avvicinandoci all'intelligenza a livello umano. Infine, l'istruttore spiega il processo di convoluzione, raggruppamento e normalizzazione nelle reti neurali convoluzionali per riconoscere schemi e fare previsioni accurate.

03:00:00 - 03:50:00 Questo video su come funzionano le reti neurali profonde guida un principiante attraverso il processo di categorizzazione delle immagini costruendo neuroni e strati che riconoscono i modelli nei valori di luminosità delle immagini. Il video copre il processo di ottimizzazione utilizzando la discesa del gradiente e diversi metodi di ottimizzazione come algoritmi genetici e ricottura simulata. L'istruttore spiega come ridurre al minimo l'errore e regolare i pesi attraverso la backpropagation e come ottimizzare gli iperparametri nelle reti neurali convoluzionali. Sebbene siano disponibili molti strumenti per la creazione di reti neurali, rimane importante una conoscenza approfondita della preparazione dei dati, dell'interpretazione e della scelta degli iperparametri.

Parte 1

  • 00:00:00 In questa sezione, l'istruttore fornisce un esempio di come funzionerebbe una rete neurale se gli fosse assegnato un compito per determinare automaticamente se un'immagine in bianco e nero di quattro pixel è un'immagine solida completamente bianca o completamente scura, una linea verticale, una linea diagonale o una linea orizzontale. Spiega che è complicato farlo con semplici regole sulla luminosità dei pixel, e invece una rete neurale inizierebbe prendendo tutti gli input e assegnando un numero a ciascun pixel a seconda della loro luminosità, con più uno che è tutto il molto bianco e meno uno completamente nero. Le connessioni pesate dei neuroni di input vengono quindi sommate e i valori vengono schiacciati per garantire che il valore del neurone non esca mai dall'intervallo da più uno a meno uno, utile per mantenere i calcoli nella rete neurale limitati e stabili.

  • 00:05:00 In questa sezione, il video spiega come funzionano le reti neurali profonde e come funziona ogni livello. I neuroni in uno strato eseguono una somma ponderata e schiacciano il risultato, che poi diventa l'input per lo strato successivo. Man mano che gli strati diventano più profondi, i campi ricettivi diventano più complessi e coprono tutti i pixel. Il video introduce anche il concetto di unità lineari rettificate, che sostituiscono la funzione squash e hanno ottime proprietà di stabilità per le reti neurali. Infine, dopo aver creato tutti i livelli necessari, viene creato il livello di output, che fornisce i risultati della rete neurale.

  • 00:10:00 In questa sezione, l'istruttore spiega come le reti neurali vengono addestrate per regolare i loro pesi per ridurre al minimo l'errore tra le loro previsioni di output e la verità effettiva. Ciò si ottiene calcolando la pendenza, o la variazione di errore rispetto a una variazione di peso, e regolando i pesi nella direzione che diminuisce l'errore. Questo è un processo computazionalmente costoso perché richiede la moltiplicazione di tutti i pesi e i valori dei neuroni in ogni strato per ogni regolazione del peso. Tuttavia, esiste un'intuizione che consente di calcolare direttamente la pendenza senza tornare indietro attraverso la rete neurale, rendendo il processo di allenamento più efficiente.

  • 00:15:00 In questa sezione, l'istruttore spiega come funzionano le reti neurali profonde e come usano il calcolo per calcolare la pendenza per regolare i pesi e ridurre gli errori. Attraverso un semplice esempio di una rete neurale con un peso, dimostra il concetto di concatenamento, in cui la pendenza di ogni minuscolo gradino viene moltiplicata per ottenere la pendenza dell'intera catena. Afferma che esistono molti tipi di propagazione all'indietro che richiedono l'esecuzione di operazioni diverse su ciascun neurone, ma alla fine l'obiettivo è calcolare la pendenza per regolare i pesi e ridurre gli errori in modo efficiente.

  • 00:20:00 In questa sezione, l'istruttore ha discusso come retropropagare gli elementi di una rete neurale come la funzione sigmoidea e l'unità lineare rettificata per calcolare l'effetto della regolazione di un dato peso sull'errore. Per addestrare una rete, si inizia con una rete completamente connessa, si assegnano valori casuali a tutti i suoi pesi e si calcola l'errore utilizzando la backpropagation per regolare leggermente quei pesi. L'input noto con la risposta determina la correttezza dei pesi e il processo si ripete con più input fino a quando i pesi gravitano verso un punto basso dove si comportano molto più vicino alla verità sulla maggior parte delle immagini. Le reti neurali tendono a stimare tali relazioni tra variabili di input e output, apprendono continuamente e valutano relazioni non lineari tra dati.

  • 00:25:00 In questa sezione, il video spiega come un'equazione di regressione lineare può essere rappresentata come una rete. Questo ci aiuta a capire meglio come funzionano le reti neurali. La rete è composta da nodi e archi, con i nodi di input x sub 0 e x sub 1 e il nodo di output come v sub 0. I pesi, rappresentati da w sub 0 0 e w sub 1, sono gli archi che collegano i nodi di ingresso e di uscita. Questo è chiamato un grafico aciclico diretto, il che significa che i bordi vanno solo in una direzione e non c'è modo di formare un anello. L'aggiunta di più nodi di input può rendere l'equazione più dimensionale, ma rimane comunque un'equazione lineare, con i pesi che determinano la relazione tra gli input e l'output.

  • 00:30:00 In questa sezione, il video discute il concetto di rete lineare a due strati e come l'aggiunta di più strati può aumentarne la complessità. La rete a due strati è composta da strati identici che funzionano allo stesso modo. Per rendere il modello più flessibile, è necessario aggiungere la non linearità. Una funzione non lineare comune da aggiungere è la funzione logistica, nota anche come funzione sigmoidea, che ha la forma di una S. L'aggiunta di più livelli e non linearità alla rete crea un modello più complesso che può fornire risultati più sofisticati.

  • 00:35:00 In questa sezione, apprendiamo le funzioni logistiche e il loro ruolo nella regressione logistica, che viene utilizzata come classificatore. La regressione logistica trova la relazione tra un input e un output continui e categorici, in cui le osservazioni di una categoria sono trattate come zeri e le osservazioni dell'altra categoria sono trattate come unità, e viene trovata una funzione logistica che meglio si adatta a tutte quelle osservazioni. Aggiungendo più input, la regressione logistica può funzionare con molte variabili di input e queste diventano classificatori lineari indipendentemente dal numero di dimensioni. Impariamo anche la tangente iperbolica, che è una funzione non lineare correlata alla funzione logistica. Queste funzioni non lineari ci aiutano a uscire dal regno delle reti lineari e ci offrono una varietà di comportamenti più ampia di quella che abbiamo mai visto nelle reti a strato singolo. Impilando i livelli con più nodi nascosti, possiamo creare curve più complesse con ondulazioni, picchi e avvallamenti.

  • 00:40:00 In questa sezione, il video descrive come le curve create da una rete a due strati possono essere matematicamente identiche a quelle create utilizzando una rete a molti strati. Anche se la rete a molti livelli può creare curve più complesse utilizzando meno nodi, la rete a due livelli può comunque creare curve ricche utilizzando un numero sufficiente di nodi nascosti. Il video spiega quindi come queste curve possono essere utilizzate per creare un classificatore e mostra che i classificatori non lineari, a differenza di quelli lineari, possono creare regioni di classificazione interlacciate. Il video si conclude mostrando il diagramma di rete completo di un percettrone multistrato e un diagramma generico per una rete a tre strati a ingresso singolo e uscita singola, che può essere completamente definita specificando il numero di ingressi, uscite, livelli e nodi nascosti.

  • 00:45:00 In questa sezione del video, il presentatore discute l'utilizzo di una rete neurale a due output per creare un classificatore che suddivide lo spazio di input in regioni in base al punto in cui le due funzioni di output si incrociano. Questo approccio può essere esteso con tre o più funzioni di output, consentendo di apprendere più categorie e di suddividere gli spazi di input in modi più complessi rispetto a quanto può fare un classificatore lineare. Tuttavia, la categoria vincente potrebbe non essere significativamente migliore della seconda classificata. Nonostante i suoi limiti, questo metodo dimostra il potere delle reti neurali di creare diversi limiti di categoria, favorendo al contempo l'uniformità grazie alle funzioni di attivazione utilizzate.

  • 00:50:00 In questa sezione, il video discute le reti neurali convoluzionali (CNN) e la loro capacità di apprendere e riconoscere schemi nelle immagini, come volti, automobili e persino videogiochi. Il video spiega che le CNN non sono magiche ma basate su principi fondamentali applicati in modo intelligente. Il video utilizza un semplice esempio giocattolo di una CNN che decide se un'immagine di input è una X o una O per illustrare come funzionano le CNN. La parte difficile delle CNN è che sono possibili molte variazioni durante l'identificazione dell'immagine. Il video spiega come una CNN può gestire la varianza e identificare l'immagine scomponendo l'immagine in schemi più piccoli e utilizzando filtri per identificare tali schemi.

  • 00:55:00 In questa sezione, il corso spiega come le reti neurali convoluzionali possono abbinare parti di un'immagine per determinare se due parti sono uguali. Suddividendo le immagini in parti o caratteristiche più piccole, la rete neurale convoluzionale può identificare se le caratteristiche corrispondono tra loro. La matematica alla base della corrispondenza di queste caratteristiche è chiamata filtraggio e comporta l'allineamento di una caratteristica con una patch di un'immagine e quindi la moltiplicazione di un pixel per un altro pixel e la divisione per il numero totale di pixel. L'applicazione ripetuta di questa caratteristica attraverso l'immagine produce una mappa di dove si verifica questa caratteristica, consentendo alla rete neurale di identificare quali parti dell'immagine corrispondono.


Parte 2

  • 01:00:00 In questa sezione, l'istruttore del corso spiega i tre trucchi principali utilizzati nelle reti neurali profonde. Il primo trucco è il livello di convoluzione, in cui un'immagine viene convoluta con una serie di filtri per produrre una pila di immagini filtrate. Il secondo trucco è il raggruppamento, che viene utilizzato per ridurre lo stack di immagini prendendo una dimensione della finestra e un valore di stride per ottenere un'immagine più piccola che rappresenta il valore massimo nella finestra. Infine, il terzo trucco è la normalizzazione, che viene utilizzata per evitare che la matematica esploda e comporta la modifica a zero di tutti i valori negativi nell'immagine. Questi trucchi sono impilati insieme per formare una rete neurale profonda e il loro output forma una matrice di pixel che può essere ulteriormente manipolata.

  • 01:05:00 In questa sezione, il video spiega come le reti neurali possono utilizzare una tecnica di impilamento profondo di strati convoluzionali e di raggruppamento che filtrano e riducono l'immagine a ogni iterazione. Il livello finale completamente connesso collega ogni elenco di immagini filtrate e ridotte a una serie di voti, che diventano la risposta finale. Per ottenere questi pesi, le reti neurali si basano sulla propagazione all'indietro per adattarsi in base al segnale di errore finale dal livello di output. Questo processo è noto come discesa del gradiente.

  • 01:10:00 In questa sezione del corso per principianti su come funzionano le reti neurali profonde, l'istruttore spiega il processo di discesa del gradiente, che consente di regolare i pesi della rete neurale per ridurre al minimo l'errore. Regolando i pesi su e giù, la rete trova la direzione in discesa e si assesta al minimo dove l'errore è minimo. Gli iperparametri sono manopole che il progettista può girare e includono decisioni come il numero di funzionalità utilizzate, la dimensione della finestra e il passo nei livelli di pooling e il numero di neuroni nascosti in livelli completamente connessi. Inoltre, l'istruttore spiega che la rete neurale può essere applicata a dati bidimensionali o anche tridimensionali o quadridimensionali, purché i dati seguano uno schema in cui le cose più vicine tra loro sono più strettamente correlate. Ciò consente di utilizzare la rete in campi come l'analisi del suono e del testo.

  • 01:15:00 In questa sezione vengono discussi i limiti delle reti neurali convoluzionali (CNN), poiché sono progettate per acquisire modelli spaziali locali e, pertanto, potrebbero non essere adatte a dati che non possono essere rappresentati come immagini. Le CNN sono altamente efficienti nel trovare modelli e classificare le immagini, ma se i dati sono altrettanto utili dopo aver scambiato una qualsiasi delle colonne l'una con l'altra, allora le CNN potrebbero non essere adatte. D'altra parte, le reti neurali ricorrenti (RNN), in particolare la memoria a lungo termine (LSTM), sono utili per la traduzione da sequenza a sequenza, con applicazioni come la sintesi vocale in testo o una lingua in un'altra. Viene fornito un esempio di come funzionano gli LSTM per prevedere cosa c'è per cena, in cui il processo di voto è semplificato attraverso l'osservazione dei cicli della cena.

  • 01:20:00 In questa sezione, l'istruttore spiega il concetto di vettori, che è solo un elenco di numeri e come può essere utile nell'apprendimento automatico. I vettori sono espressi sotto forma di un elenco di tutti i possibili valori e a ciascuno viene assegnato un numero. L'istruttore spiega come la codifica one-hot viene spesso utilizzata nelle dichiarazioni di codifica. La rete neurale è progettata collegando ciascun elemento nel vettore di input a ciascun elemento nel vettore di output. L'esempio utilizzato è prevedere cosa c'è per cena utilizzando i dati passati tenendo conto delle nostre informazioni effettive di ieri e di quale fosse la nostra previsione di ieri. L'istruttore in seguito spiega che le reti neurali ricorrenti possono essere utili per prevedere ciò che verrà dopo in una serie, come nell'apprendimento delle lingue.

  • 01:25:00 In questa sezione viene spiegato l'uso di una funzione di schiacciamento per evitare cicli di feedback. La rete neurale ricorrente prevede voti per un nome, un punto o una "sega" in base alle parole utilizzate in precedenza. Tuttavia, questo sistema è soggetto a errori e limitazioni perché può ricordare solo un passaggio temporale. Per ovviare a questi, una funzione di memoria viene aggiunta alla rete attraverso simboli aggiuntivi tra cui una funzione di schiacciamento con un fondo piatto, una "x" in un cerchio e una croce in un cerchio per l'addizione e la moltiplicazione degli elementi. Ciò consente alla rete di ricordare ciò che è accaduto molti passaggi fa e di eseguire la moltiplicazione degli elementi, abilitando funzionalità nuove e migliorate.

  • 01:30:00 In questa sezione, il video introduce il gating, che consente di controllare ciò che viene attraversato e ciò che viene bloccato in una rete neurale. Il concetto è dimostrato utilizzando tubi con diversi livelli di flusso d'acqua e rubinetti, che possono essere chiusi a zero o aperti a uno. L'introduzione della funzione logistica, che schiaccia i valori tra zero e uno, fornisce un modo per avere sempre un valore compreso in questo intervallo. Il video dimostra quindi come il gating può essere utilizzato per trattenere e rilasciare selettivamente ricordi e previsioni utilizzando una serie di porte, ciascuna controllata dalla propria rete neurale e dalla propria funzione di schiacciamento. Infine, viene introdotto un meccanismo di attenzione per accantonare input irrilevanti per evitare che offuschi le previsioni e la memoria andando avanti.

  • 01:35:00 In questa sezione, l'istruttore fornisce un esempio di come una rete LSTM addestrata può generare previsioni per la parola successiva in una frase. Supponendo che l'LSTM sia stato addestrato su esempi di libri per bambini, la frase di esempio è "Jane saw Spot". La parola "Doug" è la parola più recente e l'LSTM prevede "Doug", "Jane" e "Spot" come opzioni praticabili. L'LSTM passa quindi queste previsioni attraverso quattro diverse reti neurali che imparano a fare previsioni e l'LSTM prevede che "saw" sia la parola successiva più probabile. L'esempio mostra come un LSTM può generare previsioni basate sulle parole e sulle previsioni precedenti ed evitare di commettere determinati errori utilizzando la memoria e le porte di selezione.

  • 01:40:00 In questa sezione, l'istruttore spiega come le reti neurali LSTM sono in grado di guardare indietro a molti passaggi temporali per identificare modelli nei dati, rendendoli efficaci in applicazioni pratiche come la traduzione linguistica e il software di sintesi vocale. Discute anche di come le reti LSTM siano particolarmente utili nella robotica, dove le azioni intraprese da un agente possono influenzare ciò che viene rilevato e ciò che dovrebbe essere fatto molti passaggi temporali dopo. Sebbene le reti LSTM possano sembrare complesse se espresse matematicamente, l'istruttore incoraggia gli spettatori a concentrarsi sui principi di base, paragonando il deep learning a un jet da combattimento altamente specializzato rispetto a un aeroplano più semplice.

  • 01:45:00 In questa sezione del video, l'istruttore spiega la struttura di base e la funzione dei neuroni in una rete neurale. I dendriti dei neuroni agiscono come sensori e raccolgono l'attività elettrica, che viene poi accumulata nel soma e inviata attraverso l'assone come segnale. La forza del segnale che passa attraverso una sinapsi, dove l'assone di un neurone tocca il dendrite di un altro, è rappresentata dalla dimensione di un cerchio, dove un cerchio più grande indica una connessione più forte. Assegnando numeri e pesi a queste connessioni, una rete neurale complessa può essere semplificata in un diagramma cerchio-bastone in cui ogni bastoncino rappresenta un peso. Questo diagramma viene utilizzato per rappresentare combinazioni di ingressi e uscite, con ogni connessione che ha il proprio peso.

  • 01:50:00 In questa sezione, il video spiega che le reti neurali funzionano combinando i neuroni di input e le loro connessioni ai neuroni di output. Attraverso un semplice esempio di pixel di input combinati per creare un'immagine di output, il video mostra come i neuroni di input rappresentano singoli elementi, come pixel o parole, e possono essere combinati per rappresentare concetti più complessi. Il video discute anche del processo di apprendimento nelle reti neurali, in cui i pesi di connessione iniziali vengono assegnati in modo casuale e quindi aggiornati in base ai modelli di input-output osservati, consentendo alla rete di migliorare nel tempo.

  • 01:55:00 In questa sezione, il video spiega come le reti neurali vengono addestrate utilizzando la discesa del gradiente con backpropagation. L'obiettivo è regolare i pesi dei neuroni al fine di ridurre l'errore tra l'output effettivo e l'output previsto. Facendo piccoli passi incrementali, i pesi vengono regolati fino a ridurre al minimo l'errore. Questo processo viene ripetuto per ogni punto dati e, se sono presenti più livelli, l'output di un livello viene utilizzato come input per il livello successivo. Questa è chiamata una rete neurale profonda. Più strati ci sono, più complesse sono le caratteristiche che possono essere apprese, rendendo possibile identificare immagini o anche frasi in linguaggio naturale.


Parte 3

  • 02:00:00 In questa sezione del video, l'istruttore spiega come funzionano le reti neurali profonde in diversi scenari. Quando ci si allena su immagini di volti o automobili, la rete neurale impara a riconoscere i componenti di base di questi oggetti come occhi, nasi e ruote. Più profonda diventa la rete, più complesso diventa il riconoscimento, che alla fine porta a immagini identificabili come volti, ragni e orsacchiotti. Inoltre, le reti neurali profonde possono essere utilizzate per apprendere e raggruppare artisti musicali simili. L'istruttore spiega anche come le reti neurali profonde possono essere abbinate all'apprendimento per rinforzo per imparare a giocare ai giochi Atari meglio degli umani e come si può insegnare ai robot a cucinare utilizzando rappresentazioni video. Infine, l'istruttore chiarisce che l'apprendimento profondo è utile per apprendere i modelli, ma non è magico.

  • 02:05:00 In questa sezione viene introdotta una definizione funzionale di intelligenza come capacità di fare molte cose e farle bene. Questa definizione consente una discussione scientifica sull'intelligenza delle macchine e ci consente di confrontare l'intelligenza relativa di diversi agenti. Usando l'equazione "l'intelligenza è uguale alla performance moltiplicata per la generalità", possiamo rappresentarla su una scala logaritmica per rappresentare il livello umano di performance e generalità. Le macchine possono superare le prestazioni umane in alcune aree a causa dei limiti umani, come l'attenzione limitata e i pregiudizi cognitivi.

  • 02:10:00 In questa sezione, il video illustra come l'intelligenza viene confrontata su un grafico con la generalità su un asse e le prestazioni sull'altro. I computer che giocano a scacchi sono stati i primi agenti a esibirsi a un livello sovrumano, con Deep Blue di IBM che ha battuto Gary Kasparov nel 1989. L'attuale programma di scacchi all'avanguardia, Stockfish, ha un punteggio ELO di 3447, che lo rende molto migliore di qualsiasi giocatore umano. Tuttavia, vale la pena notare che Stockfish è specificamente programmato per gli scacchi e manca di generalità, a differenza degli umani. Il video confronta Stockfish con il gioco da tavolo Go, considerato ancora più complesso, e dimostra l'importanza della generalità nell'intelligenza.

  • 02:15:00 In questa sezione, la trascrizione discute di come il gioco del Go, nonostante abbia esponenzialmente più possibili configurazioni di scacchiera rispetto agli scacchi, sia stato battuto dal programma AlphaGo, che ha utilizzato una tecnica chiamata reti neurali convoluzionali per apprendere configurazioni comuni e apprendimento per rinforzo su una libreria di giochi umani per scoprire quali mosse erano buone. Allo stesso modo, nel campo della classificazione delle immagini, è stato creato un database chiamato ImageNet in cui le macchine sono state in grado di classificare le immagini meglio degli umani con un tasso di errore inferiore al cinque percento. Con le macchine che battono regolarmente gli umani in questo compito, i progressi compiuti nell'apprendimento automatico sono impressionanti.

  • 02:20:00 In questa sezione, il docente discute i limiti delle reti neurali convoluzionali (CNN) nella classificazione delle immagini. Sebbene le CNN siano progettate per trovare schemi in matrici bidimensionali di dati, come i pixel su una scacchiera, è stato dimostrato che si rompono facilmente al di fuori dell'insieme di immagini su cui sono addestrate. La fragilità delle CNN è dimostrata quando le immagini sono distorte, un singolo pixel viene modificato o vengono aggiunti adesivi per ingannare la CNN e indurre la CNN a classificare erroneamente l'immagine. Il docente spiega che la generalità della classificazione delle immagini non è dove vorremmo che fosse, anche se funziona meglio degli umani sul set di dati ImageNet. La conferenza menziona anche che l'algoritmo di deep q learning di DeepMind ha impressionato il mondo raggiungendo il livello di esperto umano in 29 dei 49 classici giochi Atari.

  • 02:25:00 In questa sezione, l'istruttore discute le prestazioni delle reti neurali profonde nei videogiochi e nella traduzione delle lingue. Dopo aver utilizzato le reti neurali convoluzionali per apprendere i modelli di pixel per giocare ai videogiochi utilizzando l'apprendimento per rinforzo, l'algoritmo non è stato in grado di eguagliare le prestazioni umane su 20 giochi che richiedevano una pianificazione a lungo termine. Ciò suggerisce che l'algoritmo non è riuscito a pensare in anticipo a diversi passaggi per effettuare le connessioni richieste. D'altra parte, la traduzione linguistica utilizza la memoria a lungo termine (LSTM) per tradurre oltre 100 lingue in un'unica rappresentazione intermedia. Tuttavia, vale la pena notare che la traduzione ha limiti di accuratezza e problemi di efficienza a causa dell'esteso calcolo coinvolto. Pertanto, mentre la traduzione automatica ha la portata, non è all'altezza delle prestazioni umane.

  • 02:30:00 In questa sezione, l'oratore discute le prestazioni dei suggeritori e osserva che sono relativamente a posto rispetto agli umani. Tuttavia, le loro prestazioni non sono perfette, poiché l'algoritmo non si adatta al fatto che le preferenze di una persona possono cambiare e non considerano il modo in cui i vari prodotti sono correlati. In termini di generalità, la conoscenza del mondo richiesta per far funzionare bene i raccomandatori è piuttosto profonda, facendoli colpire in termini di prestazioni. Passando ai robot, il relatore osserva che le auto a guida autonoma hanno prestazioni impressionanti poiché i loro tassi di incidenti sono inferiori a quelli umani, nonostante il loro compito sia più complicato. Tuttavia, le auto a guida autonoma sono meno generali di quanto possa sembrare, con il trucco più grande che consiste nel ridurre la difficoltà del compito, il che riduce la necessaria generalità della soluzione.

  • 02:35:00 In questa sezione, il relatore spiega che le auto a guida autonoma non sono così generiche come sembrano in quanto sono progettate su misura in base a un set specifico di sensori, selezione di algoritmi e condizioni ambientali. La sfida per le auto a guida autonoma è comprendere tutte le condizioni da cui opereranno. A partire da ora, le auto a guida autonoma hanno prestazioni inferiori rispetto ai conducenti umani, principalmente a causa della loro interazione fisica e dell'interazione con altre auto e persone. Successivamente, l'oratore discute di robot umanoidi e di come la maggior parte delle attività siano codificate e piuttosto fragili. Sebbene la loro applicazione generale stia aumentando con la complessità dei sistemi, le prestazioni rimangono ancora ridicolmente basse rispetto a un agente umano. La tendenza generale rispetto alle prestazioni è discussa in dettaglio, portando al punto di vista del relatore riguardo alle capacità del programma AlphaZero come visto in DeepMind.

  • 02:40:00 In questa sezione, il video spiega come AlphaZero, un programma di intelligenza artificiale, è stato in grado di battere alcuni dei migliori giochi da tavolo del mondo senza essere sottoposto ad alcuna regola. AlphaZero è stato creato per apprendere i modelli visivi di un gioco attraverso prove ed errori. Sono stati creati due bambini AlphaZero che si giocavano a vicenda, ma solo uno poteva imparare e l'altro no. Quello che ha imparato è riuscito ad evolversi e diventare un giocatore intermedio dopo aver giocato e clonato se stesso con uno che impara e l'altro no. Questo approccio ha fatto sì che AlphaZero battesse gli umani in sole quattro ore e battesse il miglior computer precedente dopo otto. Anche il gioco AI è andato avanti e ha battuto il miglior programma di gioco di scacchi e il miglior programma di gioco di Shogi, mostrando quindi il significativo aumento di intelligenza, generalità e prestazioni di AlphaZero. Il video evidenzia anche come le ipotesi limitino la generalità e consentano le prestazioni nei sistemi di intelligenza artificiale.

  • 02:45:00 In questa sezione, il relatore spiega alcune ipotesi comuni fatte dagli algoritmi utilizzati nell'intelligenza artificiale, comprese le reti neurali convoluzionali, e perché queste ipotesi sono insufficienti per raggiungere l'intelligenza a livello umano. I presupposti includono stazionarietà, indipendenza, ergodicità e gli effetti delle azioni che si manifestano rapidamente. Sebbene queste ipotesi funzionino bene per l'analisi di matrici bidimensionali di informazioni o dati che non cambiano molto, non reggono nelle interazioni fisiche con il mondo, rendendole inadatte alla robotica umanoide o a qualsiasi robot fisicamente interattivo. Il relatore propone di concentrarsi sull'interazione fisica per creare algoritmi in grado di soddisfare una serie più generale di attività e avvicinarci di un passo all'intelligenza a livello umano. La sezione introduce anche le reti neurali convoluzionali e la loro capacità di apprendere gli elementi costitutivi delle immagini.

  • 02:50:00 In questa sezione, l'istruttore fornisce un esempio di una rete neurale convoluzionale in grado di classificare se un'immagine è di una X o di una O, che tiene conto delle diverse dimensioni, rotazioni e pesi delle immagini. Per identificare caratteristiche specifiche dell'immagine, la rete abbina parti dell'immagine a determinate caratteristiche e le sposta finché l'immagine complessiva non viene considerata una buona corrispondenza. Il processo prevede il filtraggio, in cui la caratteristica è allineata con l'immagine, moltiplicata pixel per pixel e quindi divisa per il numero totale di pixel. Questo metodo consente alla rete di riconoscere modelli di immagini e fare previsioni accurate.

  • 02:55:00 In questa sezione, l'istruttore spiega come opera la convoluzione nelle reti neurali convoluzionali. La convoluzione sta prendendo una caratteristica e controllando ogni possibile patch su un'immagine per vedere quanto bene corrisponde. I confronti possono essere eseguiti su ogni posizione nell'immagine risultando in una mappa immagine filtrata di dove la caratteristica corrisponde all'immagine. L'istruttore descrive come il raggruppamento riduce le immagini filtrate a versioni più piccole dell'immagine originale. In questo passaggio, viene selezionata una finestra di pixel e vengono scelti i valori massimizzati, risultando in un'immagine più piccola che mantiene ancora il segnale originale. Infine, è necessaria la normalizzazione per evitare numeri negativi e mantenere valori gestibili nella rete.


Parte 4

  • 03:00:00 In questa sezione del video, l'istruttore spiega il processo di come la rete neurale convoluzionale progredisce attraverso i livelli successivi, a partire dalla funzione di unità lineare rettificata che converte tutto ciò che è negativo in zero. Poiché l'output di un livello assomiglia all'input del livello successivo, l'output finale è una pila di immagini che è stata trasformata mediante strati di convoluzione, rettifica e raggruppamento, che produce una pila di immagini filtrate senza valori negativi che è stata dimensioni ridotte. Inoltre, l'istruttore afferma che i valori dei pixel finali che tendono ad essere forti quando la risposta giusta è x o o danno un voto forte rispettivamente per le categorie x o o e i voti ponderati totali vengono utilizzati per classificare l'input come un x o o da un livello completamente connesso che prende un elenco di valori di funzionalità e diventa un elenco di voti per ogni categoria di output.

  • 03:05:00 In questa sezione, il relatore spiega come vengono utilizzate le reti neurali per classificare le immagini. Le immagini vengono suddivise nei loro pixel componenti, che vengono poi trasformati in un elenco di valori di luminosità. Ogni valore corrisponde a un diverso livello di luminosità, che va da -1 per il nero a +1 per il bianco. Questo elenco di valori di luminosità viene utilizzato per costruire un neurone, che riceve l'input da quattro dei pixel ed esegue una somma ponderata. Il neurone applica quindi una funzione di "schiacciamento" per garantire che il risultato sia compreso tra -1 e +1. Questo processo di utilizzo dei neuroni per classificare le immagini può essere ripetuto più volte per creare uno strato, che è vagamente ispirato agli strati biologici presenti nella corteccia umana.

  • 03:10:00 In questa sezione, l'istruttore spiega come i campi ricettivi nelle reti neurali diventano più complessi negli strati superiori. Collegando il livello di input a più livelli nascosti di neuroni, ogni neurone combina gli input del livello precedente con pesi specifici. Quando viene utilizzata un'unità lineare rettificata invece di una somma ponderata, il neurone emette il valore originale se è positivo e 0 se è negativo. Attraverso questo processo, la rete impara a riconoscere modelli che assomigliano agli output desiderati, risultando in uno strato di output finale che classifica l'input. L'istruttore utilizza un esempio di un'immagine con una barra orizzontale per dimostrare come la rete elabora l'immagine attraverso ogni livello.

  • 03:15:00 In questa sezione, il video spiega il processo di ottimizzazione e come i modelli di reti neurali profonde apprendono adattandosi attraverso l'ottimizzazione di pesi e filtri. Il processo di ottimizzazione è illustrato con un esempio di ottimizzazione della temperatura del tè per massimizzare il piacere. Il processo prevede la ricerca del punto minimo della funzione matematica, che può essere eseguita mediante la discesa del gradiente, un processo di iterazioni e regolazione leggermente dell'input fino a raggiungere il valore minimo. Il video rileva inoltre che i pesi e i filtri vengono appresi attraverso una serie di esempi nel tempo, e questo è l'apprendimento automatico.

  • 03:20:00 In questa sezione, il relatore discute altri metodi per ottimizzare i modelli oltre alla discesa del gradiente. Un metodo popolare consiste nell'utilizzare la curvatura per trovare i parametri ottimali preparando il tè a temperature variabili e osservando la pendenza della curva. Tuttavia, questo metodo può fallire se la curva non si comporta bene e i gradienti possono rimanere bloccati nei minimi locali. Per evitare di rimanere bloccati nei minimi locali, è possibile utilizzare altri metodi come algoritmi genetici e ricottura simulata, che sono più efficienti in termini di campionamento rispetto all'esplorazione esaustiva, ma non così veloci come la discesa del gradiente. L'oratore confronta questi metodi con diversi tipi di veicoli, con la discesa del gradiente che è un'auto da corsa di formula uno, gli algoritmi genetici e la ricottura simulata sono un camioncino a quattro ruote motrici e l'esplorazione esaustiva è come viaggiare a piedi.

  • 03:25:00 In questa sezione, il relatore fornisce un esempio di come utilizzare l'ottimizzazione numerica per rispondere a una domanda in modo meno sbagliato. L'esempio prevede l'ipotesi del numero di M&M in una borsa e l'oratore spiega come convertire l'ipotesi in una funzione di costo utilizzando una misurazione della deviazione, che può essere elevata al quadrato per penalizzare più severamente le ipotesi più lontane. La funzione di perdita calcola quanto è sbagliata l'ipotesi quando una misurazione della deviazione è al quadrato e può aiutare a esplorare in modo esaustivo l'ipotesi all'interno di un intervallo e trovare visivamente il valore più basso. In alternativa, è possibile trovare una pendenza rispetto alle ipotesi prendendo la derivata della funzione di perdita, ponendola uguale a 0 e risolvendo l'equazione.

  • 03:30:00 In questa sezione, il relatore discute l'ottimizzazione e come viene utilizzata nelle reti neurali per trovare i pesi e le caratteristiche migliori. La discesa del gradiente viene utilizzata per regolare tutti i pesi in ogni strato per ridurre l'errore. Tuttavia, il calcolo della pendenza richiede molti passaggi attraverso la rete per determinare quale direzione è in discesa. La retropropagazione viene quindi introdotta come un modo per trovare una soluzione analitica al problema della pendenza, consentendo un processo di ottimizzazione più efficiente. Il relatore spiega anche l'uso di una funzione di costo, in particolare la deviazione al quadrato, che consente di calcolare la somma delle deviazioni, portando a trovare l'ipotesi migliore.

  • 03:35:00 In questa sezione, l'istruttore spiega come il calcolo della pendenza o della derivata della funzione di errore può aiutare a regolare i pesi per una rete neurale. Fornisce l'esempio di una semplice rete neurale con un input, un output e uno strato nascosto con un neurone, mostrando come la pendenza della funzione di errore può essere trovata con un semplice calcolo. Il processo di abbattimento dei cambiamenti di pesi ed errori per trovare la pendenza è chiamato concatenamento, che rende possibile regolare i pesi trovati più in profondità nella rete neurale. Questo processo è chiamato backpropagation, in cui i valori alla fine della rete devono essere utilizzati per calcolare le derivate dei pesi per la propagazione dell'errore attraverso le profondità della rete.

  • 03:40:00 In questa sezione del video, l'istruttore spiega la fase di propagazione all'indietro nell'addestramento delle reti neurali. Sottolinea l'importanza che ogni elemento in una rete neurale rimanga differenziabile in modo che la regola della catena possa essere utilizzata per calcolare l'anello della catena quando si trovano i derivati. L'istruttore dimostra come la regola della catena può essere utilizzata per un livello completamente connesso e spiega anche come può essere applicata a livelli convoluzionali e di raggruppamento. Viene anche discusso il processo di regolazione dei pesi in una rete neurale su migliaia di iterazioni ripetitive per ottenere risposte efficienti.

  • 03:45:00 In questa sezione, l'istruttore spiega come ottimizzare gli iperparametri di una rete neurale convoluzionale (CNN). Questi parametri, come il numero, le dimensioni e il passo delle caratteristiche, le finestre di pooling e il numero di neuroni nascosti, sono il livello successivo e controllano come tutto accade al di sotto. L'istruttore sottolinea che ci sono alcune ricette in cui i ricercatori si sono imbattuti che sembrano funzionare bene, ma ci sono molte combinazioni di questi iperparametri che non sono state ancora provate, il che significa che c'è sempre la possibilità che alcune combinazioni funzionino molto meglio rispetto a quanto visto finora. Inoltre, si noti che le CNN non sono utili solo per le immagini, ma per qualsiasi dato bidimensionale o tridimensionale in cui le cose che sono più vicine tra loro sono più strettamente correlate delle cose lontane. Tuttavia, le capacità di riconoscimento dei modelli delle CNN sono limitate solo ai modelli spaziali e quindi sono meno utili in situazioni in cui l'organizzazione spaziale dei dati non è importante.

  • 03:50:00 In questa sezione, il relatore spiega che sebbene creare le proprie reti neurali convoluzionali da zero sia un ottimo esercizio, ci sono già molti strumenti maturi disponibili per l'uso. Il risultato di questa sezione è che quando si lavora con le reti neurali, è importante prendere molte decisioni sottili su come preparare i dati, interpretare i risultati e scegliere gli iperparametri. Capire cosa si sta facendo con i dati e il significato dietro di essi aiuterà a ottenere il massimo dagli strumenti disponibili.
How Deep Neural Networks Work - Full Course for Beginners
How Deep Neural Networks Work - Full Course for Beginners
  • 2019.04.16
  • www.youtube.com
Even if you are completely new to neural networks, this course will get you comfortable with the concepts and math behind them.Neural networks are at the cor...
 

Corso di Machine Learning per principianti (parti 1-4)


Corso di apprendimento automatico per principianti

00:00:00 - 01:00:00 In questo video di YouTube su un corso per principianti sull'apprendimento automatico, l'istruttore spiega le basi degli algoritmi di apprendimento automatico e le loro applicazioni nel mondo reale, coprendo sia gli aspetti teorici che quelli pratici. Il corso porta gli studenti dalle basi dell'apprendimento automatico ad algoritmi come la regressione lineare, la regressione logistica, l'analisi dei componenti principali e l'apprendimento senza supervisione. Il video discute anche di set di dati di overfitting, underfitting e addestramento/test. L'istruttore sottolinea l'importanza di comprendere come sviluppare funzioni che consentano agli algoritmi di apprendimento automatico di analizzare i dati per creare previsioni. Infine introduce il Gradient Descent Algorithm per l'ottimizzazione delle funzioni di costo utilizzate per valutare le prestazioni.

01:00:00 - 02:00:00 Questo corso di machine learning per principianti copre una gamma di argomenti essenziali nell'apprendimento automatico per i nuovi studenti. L'istruttore spiega la vettorizzazione della derivata parziale di theta nella regressione lineare, l'equazione normale, le ipotesi di regressione lineare e la differenza tra caratteristiche indipendenti e dipendenti. Il corso include anche attività di regressione logistica e classificazione, insegnando l'ipotesi per la regressione logistica, la funzione di costo e la discesa del gradiente, nonché il codice di vettorizzazione per la funzione di costo e la discesa del gradiente. Inoltre, il corso introduce le librerie Python, le tecniche di analisi dei dati, la costruzione di modelli e il controllo dell'accuratezza utilizzando la regressione lineare. L'istruttore copre anche le tecniche di regolarizzazione e la loro importanza nell'apprendimento automatico per evitare l'overfitting. Il corso copre la regressione di cresta e lazo, che penalizza i pesi delle caratteristiche meno importanti, avvicinandoli allo zero o eliminandoli del tutto

. 02:00:00 - 03:00:00 Il "Machine Learning Course for Beginners" copre vari argomenti come le tecniche di regolarizzazione, le macchine vettoriali di supporto (SVM), la classificazione non lineare e l'esplorazione dei dati. Il corso fornisce un'introduzione agli SVM e spiega come costruiscono iperpiani con margini massimi per fare previsioni durante la classificazione dei punti dati. Viene trattato anche il concetto di classificazione hard margin e soft margin in SVM insieme alle loro differenze. Il corso include anche un progetto di previsione del prezzo delle azioni utilizzando le librerie Python ed esplora metriche di valutazione come l'errore quadratico medio, l'errore quadratico medio radice e il quadrato R2 per il modello di regressione lineare. Anche i modelli lineari regolarizzati come Ridge e Lasso vengono spiegati in dettaglio, insieme alla dimostrazione della creazione di una semplice app utilizzando Flask.

03:00:00 - 04:00:00 Il video "Machine Learning Course for Beginners" copre vari argomenti relativi all'apprendimento automatico, come la configurazione di un server e di un sito Web utilizzando Flask, l'analisi dei componenti principali (PCA), il commercio di bias e varianza -off, modelli di regressione e istruzioni if-else nidificate. Gli istruttori sottolineano l'importanza di comprendere i concetti di apprendimento automatico e pre-elaborazione dei dati per dati di testo e immagini in scenari del mondo reale e forniscono esempi pratici su come lavorare sui dati Iris e creare semplici alberi decisionali. Il video copre anche argomenti come trasformazioni lineari, autovettori e autovalori e spiega come PCA può ridurre le dimensioni dei dati preservando le informazioni. Nel complesso, il video fornisce un'introduzione completa ai principianti per conoscere l'apprendimento automatico e le sue applicazioni.

04:00:00 - 05:00:00 Questo video offre un'introduzione a livello principiante agli alberi decisionali, inclusa la terminologia di base, come costruire alberi decisionali utilizzando misure di selezione degli attributi come entropia, guadagno di informazioni e impurità di Gini e come gli alberi decisionali può essere utilizzato sia per problemi di classificazione che di regressione. Il video sottolinea anche l'importanza degli iperparametri e la comprensione degli alberi decisionali come concetto cruciale nell'apprendimento automatico. La sezione successiva discute l'apprendimento dell'ensemble e le sue tre tecniche: bagging, boosting e stacking, che sono comunemente usate nelle competizioni Kaggle.

05:00:00 - 06:00:00 Questo video di YouTube spiega varie tecniche di ensemble learning per migliorare la precisione del modello di machine learning. Una delle tecniche più diffuse è il bagging o l'aggregazione bootstrap, in cui più modelli vengono addestrati su sottoinsiemi di dati di addestramento e combinati per prestazioni migliori con il campionamento delle righe utilizzato per l'addestramento. Il video copre anche foreste casuali che utilizzano alberi decisionali, bagging e campionamento di colonne per creare potenti modelli. Inoltre, il video copre il potenziamento, che viene utilizzato per ridurre i bias e migliorare l'accuratezza del modello, fatto combinando in modo additivo studenti deboli in un modello forte. L'istruttore fornisce una panoramica di vari tipi di potenziamento come Gradient Boosting e Adaptive Boosting, solo per citarne alcuni. Il video si conclude fornendo un set di problemi su GitHub che gli spettatori possono provare e incoraggia gli spettatori a iscriversi al proprio canale per ricevere più contenuti gratuiti.

06:00:00 - 07:00:00 Il video "Machine Learning Course for Beginners" copre diversi argomenti relativi al potenziamento, come l'idea alla base del potenziamento, diverse tecniche di potenziamento (ad esempio, potenziamento del gradiente, potenziamento adattivo e potenziamento estremo ), l'algoritmo per addestrare un modello utilizzando il potenziamento e come il potenziamento può essere utilizzato per ridurre la distorsione elevata nei modelli di machine learning. Inoltre, il video discute l'implementazione di algoritmi di potenziamento in Python utilizzando librerie come scikit-learn e mlx10. Il video tocca anche il concetto di impilamento, un metodo per combinare più modelli per creare un nuovo modello con prestazioni migliori. L'istruttore dimostra come creare un modello di classificazione in pila utilizzando la regressione logistica, i vicini k-più vicini, Bayes ingenuo gaussiano e modelli di foresta casuale in Python utilizzando la libreria sklearn.

07:00:00 - 08:00:00 L'istruttore copre vari argomenti in questo video, a partire dall'apprendimento dell'ensemble e dall'impilamento dei classificatori. Quindi, l'attenzione si sposta sull'apprendimento non supervisionato e sulle sue applicazioni nel clustering di punti dati. Il relatore spiega diversi tipi di algoritmi di clustering, inclusi quelli basati sul centro e sulla densità, e fornisce una panoramica delle tecniche di valutazione come l'indice di Dunn e l'indice di Davies-Bouldin per valutare la qualità del modello di clustering. Infine, il relatore approfondisce il clustering k-mean, inclusa l'inizializzazione, i centroidi, gli iperparametri e le limitazioni, fornendo al contempo una visualizzazione dell'algoritmo con due centroidi. Nel complesso, il video copre una gamma di concetti e tecniche di apprendimento automatico, fornendo un'introduzione completa all'argomento.

08:00:00 - 09:00:00 Questo video di YouTube intitolato "Machine Learning Course for Beginners" copre vari argomenti relativi al machine learning. Una sezione si concentra sul clustering k-means e spiega l'algoritmo in dettaglio, coprendo l'inizializzazione dei centroidi, l'assegnazione dei cluster e l'aggiornamento dei cluster fino alla convergenza. Il video introduce anche K-means++ e il metodo del gomito come soluzioni ai problemi affrontati nell'inizializzazione casuale. Inoltre, un'altra sezione approfondisce il clustering gerarchico, spiegando la creazione di una gerarchia di cluster utilizzando metodi di clustering agglomerativi e divisivi. Il video si conclude discutendo il progetto del modello di previsione dell'insufficienza cardiaca, che mira a costruire un sistema di intelligenza artificiale sanitaria che aiuterà con la diagnosi precoce dei problemi di salute per salvare vite umane.

09:00:00 - 09:50:00 Il video "Machine Learning Course for Beginners" copre vari argomenti relativi all'apprendimento automatico, come dati sbilanciati, correlazione, ingegneria delle caratteristiche, creazione e valutazione di modelli e classificazione del testo utilizzando tecniche di PNL. L'istruttore sottolinea l'importanza di dati equilibrati e di visualizzare i dati per comprenderli meglio. Il presentatore segue un processo dettagliato per creare un sistema di rilevamento di spam e ham, analizzando e comprendendo i dati e implementando tecniche di PNL per classificare i messaggi come spam o ham. Il corso offre una panoramica dei concetti essenziali su cui possono basarsi gli appassionati di machine learning principianti.


Parte 1

  • 00:00:00 In questa sezione, Ayush, data scientist e ingegnere di machine learning, presenta il suo corso di machine learning che copre sia gli aspetti teorici che pratici degli algoritmi di machine learning e dei progetti di intelligenza artificiale del mondo reale. Ayush descrive il suo background, inclusa la sua esperienza di lavoro su varie applicazioni di intelligenza artificiale come la visione artificiale e l'elaborazione del linguaggio naturale, e il suo canale YouTube dove offre corsi end-to-end su machine learning e deep learning. Spiega il programma del corso, che inizia con le basi dell'apprendimento automatico e progredisce fino alla comprensione di algoritmi come la regressione lineare, la regressione logistica, l'analisi dei componenti principali e l'apprendimento non supervisionato. Ayush sottolinea l'importanza di comprendere l'overfitting e l'underfitting prima di concludere la sezione.

  • 00:05:00 In questa sezione, l'istruttore fornisce una semplice spiegazione di cos'è l'apprendimento automatico. In sostanza, comporta l'utilizzo di algoritmi per analizzare i dati e fare previsioni intelligenti basate su tali dati senza una programmazione esplicita. L'obiettivo è creare una funzione che associ le variabili di input alle variabili di output, come prevedere il prezzo di una casa in base alle sue dimensioni, al numero di camere da letto, ecc. L'istruttore fornisce anche una definizione più formale di machine learning, che coinvolge un computer programma migliorando le sue prestazioni su un compito con l'esperienza. Nel complesso, l'istruttore sottolinea l'importanza di capire come creare queste funzioni per utilizzare con successo l'apprendimento automatico.

  • 00:10:00 In questa sezione del video, l'istruttore discute varie applicazioni dell'apprendimento automatico, come auto a guida autonoma, previsione del prezzo delle azioni e diagnosi medica. Spiega anche il flusso di lavoro di base di come funziona l'apprendimento automatico, iniziando con lo studio di un problema e l'analisi dei dati, quindi addestrando l'algoritmo e valutandone le prestazioni. L'istruttore fornisce anche una panoramica dei principali tipi di sistemi di apprendimento automatico, inclusi l'apprendimento supervisionato, non supervisionato e di rinforzo. Fornisce un esempio di apprendimento supervisionato utilizzando la previsione del prezzo della casa, in cui la dimensione della casa viene utilizzata come caratteristica per prevedere il prezzo della casa.

  • 00:15:00 In questa sezione, il relatore discute l'apprendimento supervisionato ei suoi due tipi di problemi: regressione e classificazione. Il relatore fornisce anche esempi, come la previsione dei prezzi delle case per la regressione e la classificazione delle immagini per la classificazione. Il relatore spiega che l'apprendimento supervisionato coinvolge dati etichettati, in cui la variabile di output è nota, e c'è una relazione tra le variabili di input e output. L'oratore menziona anche brevemente l'apprendimento senza supervisione, in cui i dati non sono etichettati e il modello deve riconoscere i modelli in base ai dati disponibili.

  • 00:20:00 In questa sezione, il relatore discute la differenza tra problemi di classificazione e regressione nell'apprendimento automatico. Se l'output di un problema è in valore continuo, è considerato un problema di regressione. Se l'output è in gradi, si tratta di un problema di classificazione. Viene evidenziata l'importanza di dividere i dati in insiemi di addestramento e test, con l'80% utilizzato per l'addestramento e il 20% per testare il modello. Il relatore spiega anche i problemi di overfitting e underfitting, in cui i modelli si comportano male sia sui dati di addestramento che di test o si comportano bene durante l'addestramento ma falliscono nei test. La sezione si conclude con alcune notazioni che verranno utilizzate durante il corso.

  • 00:25:00 In questa sezione, l'istruttore discute l'apprendimento supervisionato e non supervisionato nell'apprendimento automatico. Nell'apprendimento supervisionato, viene creata una funzione f(x) che associa le variabili di input alle variabili di output, utilizzando sia i dati di input che quelli di output per fare previsioni. L'istruttore fornisce un esempio di un set di dati che utilizza caratteristiche come prospettive, temperatura, umidità e vento per prevedere se un giocatore giocherà o meno a tennis, con la variabile target se giocherà o meno. Le funzionalità di input sono indipendenti, mentre la variabile di destinazione dipende da tali funzionalità. Nel complesso, l'apprendimento supervisionato implica un set di dati etichettato in cui esiste una relazione tra i dati di input e quelli di output.

  • 00:30:00 In questa sezione, l'istruttore spiega la differenza tra caratteristiche indipendenti e dipendenti nell'apprendimento supervisionato, così come la differenza tra regressione e classificazione. Ad esempio, prevedere i prezzi delle azioni o dei prezzi delle case sarebbe una regressione, mentre identificare se una persona ha il diabete sarebbe una classificazione. L'istruttore introduce quindi l'apprendimento senza supervisione e spiega che coinvolge solo un insieme di caratteristiche indipendenti senza alcuna caratteristica dipendente. Un esempio di ciò è la segmentazione del mercato senza conoscere le etichette dei dati. L'istruttore osserva che la sezione successiva coprirà l'apprendimento senza supervisione in modo più approfondito.

  • 00:35:00 In questa sezione impareremo a conoscere la regressione lineare, un tipo di algoritmo di apprendimento supervisionato che viene utilizzato quando i dati di output sono continui. L'obiettivo è creare una funzione che associ la variabile di input alla variabile di output. La regressione lineare comporta l'adattamento di una linea retta a dati sparsi per fare previsioni, ad esempio prevedere il prezzo di una casa in base alle sue dimensioni. La linea rappresenta un'ipotesi e più è vicina ai dati, migliori sono le previsioni. Questa sezione fornisce una panoramica della regressione lineare e prepara gli studenti alla sezione successiva sugli algoritmi di apprendimento e a un progetto sulla previsione delle sorgenti termali di Boston.

  • 00:40:00 In questa sezione, l'istruttore spiega come funziona la funzione di ipotesi nella regressione lineare. L'ipotesi è costruita utilizzando il peso di ogni caratteristica, rappresentata da theta. Il termine bias, x0, determina l'intercetta y o dove la linea attraverserà l'asse y. I pesi delle caratteristiche vengono appresi dalla macchina e i pesi migliori producono la previsione migliore. L'istruttore sottolinea che l'apprendimento automatico si basa su parametri di apprendimento, in particolare sul peso delle funzionalità. La funzione ipotesi associa le variabili di input a una variabile di output, che può essere utilizzata per la previsione.

  • 00:45:00 In questa sezione, l'istruttore spiega la funzione di ipotesi per la regressione lineare utilizzando i pesi delle caratteristiche e il termine bias, e come può essere espressa in forma vettoriale. Ha dimostrato che in Python può essere scritto in una sola riga di codice. Quindi introduce la funzione di costo utilizzata per valutare le prestazioni del modello e come viene utilizzata per calcolare la distanza tra i punti dati effettivi e previsti. Un grafico a dispersione viene utilizzato come esempio per illustrare il concetto di funzione di costo.

  • 00:50:00 In questa sezione del video, il relatore spiega il concetto di funzione di costo nell'apprendimento automatico. La funzione di costo comporta il calcolo della differenza tra i valori previsti e quelli effettivi per tutti i punti dati, che sono chiamati residui. Prendendo la distanza tra i valori previsti e quelli effettivi e elevandoli al quadrato, viene prodotta una funzione di costo. L'obiettivo è minimizzare la funzione di costo, che determina l'efficacia del modello. Il relatore introduce anche l'algoritmo di discesa del gradiente come metodo di ottimizzazione per trovare il miglior theta, che fornirà il modello ottimale.

  • 00:55:00 In questa sezione, l'istruttore spiega il concetto alla base della discesa del gradiente, un metodo utilizzato per minimizzare la funzione di costo nell'apprendimento automatico. L'istruttore utilizza una semplice analogia per dimostrare come la discesa del gradiente modifichi il valore di theta per minimizzare la funzione di costo. Successivamente, l'istruttore spiega la derivazione matematica di questo processo, prendendo derivate parziali per aggiornare il valore theta. Infine, l'istruttore introduce l'algoritmo di discesa del gradiente, delineando i passaggi per aggiornare theta utilizzando il tasso di apprendimento e le derivate parziali della funzione di costo. L'istruttore discute anche come ottimizzare il tasso di apprendimento e i vantaggi della vettorizzazione del processo.

Parte 2

  • 01:00:00 In questa sezione, l'istruttore spiega come vettorizzare la derivata parziale di theta nella regressione lineare. Invece di prendere separatamente la derivata parziale di theta zero e theta uno, puoi inserirla in un vettore congiunto theta ed estrarre la derivata parziale di qualunque cosa tu voglia calcolare. Con questa vettorizzazione, puoi scrivere l'equazione derivata in una forma vettorizzata, che può essere utilizzata per la potenza di calcolo. L'istruttore evidenzia anche l'equazione normale, che ti dà theta ottimale in una sola equazione. Spiegano i presupposti della regressione lineare e la differenza tra caratteristiche indipendenti e dipendenti. Infine, menzionano altri algoritmi di ottimizzazione che possono essere utilizzati nei livelli avanzati, come la discesa del gradiente stocastico, l'algoritmo di ottimizzazione di Adam e RMS Prop.

  • 01:05:00 In questa sezione, l'istruttore spiega brevemente il concetto di regressione polinomiale e come può essere utilizzato per trasformare i dati non lineari in una forma lineare adatta alla regressione lineare. L'istruttore menziona anche i prossimi argomenti del corso, tra cui la regressione logistica e le attività di classificazione. Viene spiegata la differenza tra regressione lineare e regressione logistica e l'ipotesi per la regressione logistica è presentata come simile a quella della regressione lineare, ma utilizzata per classificare i dati.

  • 01:10:00 In questa sezione del video, l'istruttore spiega l'ipotesi di regressione logistica, che include una funzione sigmoidea per ottenere l'output tra 0 e 1. L'output viene quindi confrontato con una soglia (0,5 o 0,7) per prevedere se l'immagine è un gatto o no. La funzione di costo o perdita viene anche spiegata come un modo per valutare l'accuratezza del modello. L'istruttore fornisce la formula per la funzione di costo per un esempio di addestramento.

  • 01:15:00 In questa sezione, il relatore discute la funzione di costo della perdita di registro e la sua formula nell'apprendimento automatico. La formula prende il valore di verità fondamentale e il valore previsto dal modello e calcola il logaritmo di quest'ultimo, moltiplicato per il valore di verità fondamentale (y_i). L'oratore spiega che se entrambi i valori sono uguali, il costo sarà approssimativamente zero, e se sono diversi, il costo sarà molto alto. L'autore passa quindi a discutere l'algoritmo di discesa del gradiente, che utilizza la funzione di costo per regolare i parametri e aggiorna il valore theta per avvicinarsi all'ottimo globale. La derivata parziale della funzione di costo viene utilizzata per aggiornare il valore theta.

  • 01:20:00 In questa sezione, il relatore discute la vettorizzazione nell'apprendimento automatico e fornisce un codice vettorizzato per la funzione di costo e la discesa del gradiente nella regressione logistica. Spiegano che vettorializzare significa fare tutti i calcoli contemporaneamente per risparmiare tempo. Il relatore sottolinea l'importanza di comprendere la regressione logistica come algoritmo di classificazione, inclusa l'ipotesi, la funzione di costo e la discesa del gradiente per trovare il miglior theta ottimale. Menzionano anche che la sezione successiva riguarderà il rilevamento del cancro al seno e supporterà le macchine vettoriali. Il relatore incoraggia il pubblico a seguire il proprio Jupyter Notebook, che include il caricamento dei dati, la progettazione delle funzionalità, la visualizzazione dei dati e la selezione delle funzionalità.

  • 01:25:00 In questa sezione, l'istruttore introduce le librerie Python che verranno utilizzate nel progetto che include numpy, pandas, plotly, seaborn e matplotlib. Il progetto prevede la previsione dei prezzi delle case a Boston utilizzando l'apprendimento automatico e i dati vengono caricati dalla libreria scikit-learn. La variabile target è y, che è il prezzo di vendita, mentre x sono le caratteristiche indipendenti utilizzate per prevedere il modello. I dati vengono quindi convertiti in un frame di dati e l'istruttore mostra come accedere alle informazioni sui dati, incluso il numero di righe e colonne, valori non nulli e tipi di dati utilizzando varie funzioni panda. La funzione describe viene utilizzata anche per mostrare la media, la deviazione standard, il minimo, il massimo e i percentili di ciascuna colonna.

  • 01:30:00 In questa sezione del video, il relatore discute le tecniche di analisi dei dati per ottenere informazioni su un problema di apprendimento supervisionato che coinvolge una variabile obiettivo, un prezzo di vendita e variabili di funzionalità. Dimostrano come utilizzare strumenti di visualizzazione come grafici di distribuzione, grafici a coppie e grafici qq. Spiegano anche come identificare e gestire i valori anomali, calcolare l'asimmetria e applicare trasformazioni ai dati. Inoltre, introducono il concetto di correlazione tra caratteristiche e come può essere utilizzato per selezionare caratteristiche altamente correlate per il problema.

  • 01:35:00 In questa sezione del video, l'istruttore illustra la creazione di modelli e il controllo dell'accuratezza utilizzando la regressione lineare. L'obiettivo è evitare l'overfitting, ovvero quando un modello apprende troppo dai dati di addestramento e si comporta male con i nuovi dati. L'istruttore spiega come la regolarizzazione può ridurre l'overfitting riducendo le caratteristiche o applicando una penalità alla complessità del modello. La sezione successiva tratterà i modelli lineari regolarizzati, inclusa la regressione Lasso e Ridge. L'istruttore incoraggia gli spettatori a cercare soluzioni online quando incontrano problemi e offre un repository Github per ulteriori progetti.

  • 01:40:00 In questa sezione, il relatore discute le tecniche di regolarizzazione nell'apprendimento automatico, in particolare la regressione cresta e lazo. La regressione della cresta penalizza i pesi delle caratteristiche delle caratteristiche meno importanti, rendendole sempre più vicine allo zero. La regressione lazo fa un ulteriore passo avanti ed elimina le caratteristiche meno importanti rendendo i pesi dei parametri uguali a zero. Il termine di regolarizzazione viene aggiunto alla fine della funzione di costo, con la regressione della cresta utilizzando la norma L2 e la regressione lazo utilizzando la norma L1. L'oratore sottolinea inoltre che theta zero, che è il termine bias, non dovrebbe essere penalizzato.

  • 01:45:00 In questa sezione, l'istruttore introduce l'argomento della regolarizzazione, che è considerato uno degli argomenti più importanti nell'apprendimento automatico. L'istruttore spiega che la regolarizzazione aiuta a ridurre l'overfitting, che si verifica quando un modello si comporta molto bene sul set di addestramento ma non riesce a generalizzare bene sul set di test. L'idea principale alla base della regolarizzazione è eliminare le caratteristiche meno importanti o che contengono meno informazioni rendendo i rispettivi iperparametri o theta uguali a zero. L'istruttore utilizza l'esempio della previsione dei prezzi delle case per mostrare come la regolarizzazione può aiutare a eliminare le caratteristiche meno utili.

  • 01:50:00 In questa sezione del video, l'istruttore spiega il concetto di ponderazione delle funzionalità e apprendimento nell'apprendimento automatico. Utilizzando un esempio di previsione del prezzo della casa, l'istruttore mostra come diverse caratteristiche come le dimensioni della casa, il numero di ventilatori, il numero di camere da letto e i condizionatori d'aria possono avere pesi diversi che possono essere appresi e ottimizzati nel tempo. I pesi possono essere regolati modificando i parametri rispetto alla derivata parziale della funzione di costo, e questo può essere migliorato attraverso tecniche di regolarizzazione come la regressione della cresta.

  • 01:55:00 In questa sezione, il video discute la regolarizzazione nell'apprendimento automatico, in particolare la regressione cresta e lazo. Entrambi i tipi di regressione penalizzano il valore theta, ma la regressione ridge utilizza la norma L2 mentre la regressione lazo utilizza la norma L1. Il termine alfa controlla quanto è rigoroso il modello sulle caratteristiche, con valori più alti che lo rendono più rigoroso. Entrambi i tipi non penalizzano il termine bias theta 0 e la norma L1 nella regressione lazo aiuta a rendere i pesi delle caratteristiche meno importanti più vicini allo zero, rendendo il modello meno incline all'overfitting.

Parte 3

  • 02:00:00 In questa sezione, il video spiega la norma l1 e l2 nella regolarizzazione e i loro casi d'uso specifici. La norma L1 è molto rigida in quanto rende direttamente qualsiasi caratteristica non importante theta zero mentre L2 è più flessibile. Il video poi accenna brevemente alla rete elastica, una combinazione di entrambe le norme. Andando avanti, il video introduce in dettaglio la Support Vector Machine (SVM), che è un algoritmo di apprendimento supervisionato utilizzato sia per le attività di classificazione che di regressione. SVM costruisce un iperpiano con margini paralleli per massimizzare il margine classificando nuovi punti come gatto o non gatto in un sistema di riconoscimento gatto e non gatto. Il video delinea anche gli argomenti che saranno trattati nelle prossime sezioni riguardanti SVM.

  • 02:05:00 In questa sezione, l'istruttore spiega la Support Vector Machine (SVM) e come costruisce due iperpiani paralleli per separare i punti dati con un margine massimo. SVM mira a massimizzare questo margine mantenendo il punto dati più vicino lontano dall'iperpiano. I punti dati più vicini sono chiamati vettori di supporto, che supportano gli iperpiani paralleli per separare i dati. L'istruttore fornisce un esempio dell'utilizzo di SVM per il rilevamento del cancro e spiega la differenza tra classificazione hard margin e soft margin. La classificazione del margine rigido non consente a nessun punto dati di violare il margine, il che può portare all'overfitting, mentre la classificazione del margine soft consente alcune violazioni per impedire l'overfitting.

  • 02:10:00 In questa sezione è stato introdotto il concetto di hard margin e soft margin nelle SVM. Il margine rigido non consente ad alcun punto dati di entrare nel margine, mentre il margine morbido consente ad alcuni punti dati di violare il margine per evitare l'overfitting. La larghezza del margine è regolata dal parametro c, dove una c molto grande rende il margine molto piccolo, e ac di 1 rende il margine molto grande. È stata anche discussa la costruzione dell'iperpiano in SVM, che è definito dall'equazione w trasposizione x meno b uguale a z, dove w è il vettore dei parametri di peso e b è il termine di polarizzazione. Sono stati definiti i vincoli per le previsioni del margine fisso, in cui qualsiasi cosa al di sopra o al di sopra del margine è considerata come uno e qualsiasi cosa al di sotto è considerata come zero.

  • 02:15:00 In questa sezione, il video illustra come funzionano le Support Vector Machines (SVM) e fornisce una spiegazione matematica di SVM. Il margine dell'iperpiano è scritto come 2 sopra la norma di w, e per massimizzare questo margine, dobbiamo minimizzare la norma di w. SVM cerca di massimizzare il margine per fare previsioni. Il video spiega che possiamo scrivere una funzione obiettivo espressa come la distanza tra due iperpiani, che è uguale a due sopra la norma di w, a condizione che l'etichetta effettiva dei dati sia maggiore o uguale a 1. Il video affronta anche un funzione di perdita, scritta come perdita cerniera o margine morbido, e spiega come funziona per ottenere buone previsioni in modo semplice. Il concetto di SVM lineare è trattato anche prima di una discussione sulla classificazione non lineare.

  • 02:20:00 In questa sezione, il video discute il concetto di classificazione non lineare e il trucco del kernel che può aiutare a raggiungere la specifica non lineare. Il trucco del kernel trasforma i dati da uno spazio unidimensionale a uno spazio dimensionale superiore mappando i dati di input alla funzione phi di x. La funzione del kernel RBF è uno dei famosi kernel che trasforma i dati in uno spazio ad alta dimensione. Il video parla anche del problema primale che aiuta a formalizzare la funzione obiettivo introducendo una nuova variabile chiamata zeta. La variabile zeta viene introdotta per ogni membro i di uno a tutto l'arrotondamento a n.

  • 02:25:00 In questa sezione, il relatore introduce il concetto di perdita di cerniera e come può essere utilizzato per formulare una funzione di costo per problemi di apprendimento automatico. Spiegano come utilizzare la discesa sub gradiente per aggiornare i parametri della funzione di costo e come funziona il problema primario, sottolineando che si tratta di un approccio all'apprendimento automatico adatto ai principianti. Il relatore discute anche la minimizzazione del rischio empirico e supporta la regressione vettoriale, fornendo equazioni per questi concetti. Incoraggiano gli spettatori a commentare se hanno domande e concludono menzionando che la sezione successiva si concentrerà sulla creazione di un predittore del prezzo delle azioni come progetto di apprendimento automatico end-to-end.

  • 02:30:00 In questa sezione, il relatore dimostra come costruire un predittore del prezzo delle azioni utilizzando le librerie di Python come NumPy, Pandas, Matplotlib, Seaborn e YFinance. Il codice scarica i dati da Yahoo Finance e accetta un input per inserire il codice dell'azione da scaricare. I dati vengono regolati con la regolazione automatica e viene mostrata la forma dei dati, rivelando un totale di 1256 esempi di addestramento e cinque colonne. L'oratore spiega che questo è il punto di partenza per costruire un predittore del prezzo delle azioni.

  • 02:35:00 In questa sezione del video, il relatore esplora l'esplorazione e l'analisi dei dati per la previsione del prezzo delle azioni. L'oratore inizia osservando statistiche come media, deviazione standard, massimo e minimo dei dati. Avvertono che la previsione del prezzo delle azioni è altamente non lineare e dovrebbe essere utilizzata solo a scopo didattico. L'oratore procede ad analizzare la variabile target, "vicino", per dimostrare la non linearità e come non si possa fare affidamento su di essa per prevedere con precisione l'output. L'oratore passa quindi a tracciare la distribuzione di "aperto" e "chiuso" per avere un'idea migliore di come procedere con i dati e applicare l'ingegneria delle funzionalità. Infine, il relatore conclude riassumendo i loro risultati e delineando ciò che hanno capito sui dati.

  • 02:40:00 In questa sezione, il relatore discute vari algoritmi di apprendimento automatico che sono stati trattati finora nel corso, tra cui regressione lineare, regressione logistica, modelli lineari regolarizzati, macchine vettoriali di supporto e analisi dei componenti principali. L'oratore spiega che mentre la regressione lineare è spesso considerata un cattivo algoritmo, può essere potente in alcuni casi, ad esempio per prevedere i prezzi delle azioni non lineari. Viene sottolineata l'importanza di suddividere i dati in insiemi di addestramento e test e il relatore dimostra come utilizzare la funzione train_test_split per ottenere questo risultato. L'algoritmo di regressione lineare viene quindi istanziato e addestrato sul set di addestramento e utilizzato per prevedere il set di test. Gli output previsti vengono mostrati e confrontati con gli output effettivi del set di test.

  • 02:45:00 In questa sezione, il relatore parla del calcolo delle matrici per valutare le prestazioni dei modelli di regressione lineare. Discutono dell'utilizzo dell'errore quadratico medio (MSE), dell'errore quadratico medio (RMSE) e del quadrato R2 per valutare l'efficacia del modello. L'oratore fornisce la funzione di supporto per calcolare queste matrici e la usano per valutare le prestazioni del loro modello di regressione lineare. Scoprono che MSE e RMSE sono quasi uguali a zero, il che significa che il modello prevede accuratamente i valori. Anche il quadrato R2 è vicino a 1, il che indica una buona vestibilità del modello.

  • 02:50:00 In questa sezione, il relatore discute modelli lineari regolarizzati come ridge e lazo, e dimostra come possono essere implementati utilizzando Scikit-Learn in Python. Il relatore spiega che il lazo elimina le caratteristiche meno importanti, mentre il ridge le penalizza. Il modello di cresta è meno incline all'overfitting, rendendolo una scelta migliore per salvare un modello e costruire un sito web, secondo il relatore. Il relatore discute anche della regressione del vettore di supporto e dimostra come può essere messa a punto utilizzando la griglia di ricerca CV per verificare valori diversi e selezionare il modello migliore.

  • 02:55:00 In questa sezione, il video discute l'uso di modelli lineari regolarizzati per l'apprendimento automatico e come sono più potenti del metodo utilizzato in precedenza. Il relatore passa attraverso esempi su come importare e salvare un modello utilizzando joblib e su come caricare il modello salvato per un uso futuro. Il video approfondisce anche la creazione di una semplice app utilizzando Flask e il rendering di un modello da un file HTML. Viene fornita una dimostrazione su come creare un file index.html ed eseguirne il rendering in una route dell'app.

Parte 4

  • 03:00:00 In questa sezione del video, il relatore mostra come configurare un server e un sito Web utilizzando Flask per un progetto di machine learning end-to-end. Spiegano come utilizzare un modulo per inserire dati, preelaborarli, fare previsioni utilizzando un modello caricato e restituire la previsione a un modello forecast.html derivato da un modello layout.html. Il relatore incoraggia inoltre gli utenti a modificare le caratteristiche dei dati per rendere il modello più potente, ma mette in guardia dal renderlo troppo complesso. Concludono sottolineando l'importanza di comprendere i limiti della regressione lineare quando si tratta di dati multi-collineari.

  • 03:05:00 In questa sezione del video di YouTube "Machine Learning Course for Beginners", l'istruttore spiega come rimuovere la multicollinearità nei dati attraverso l'uso dell'analisi delle componenti principali (PCA). Le variabili correlate possono essere problematiche nei modelli di machine learning, ma PCA è un algoritmo di riduzione della dimensionalità che può risolvere efficacemente questo problema. Per prepararsi all'apprendimento della PCA, l'istruttore esamina brevemente le trasformazioni lineari e gli autovettori/autovalori, che forniscono una base per comprendere il concetto di riduzione della dimensionalità. L'istruttore consiglia un canale YouTube per coloro che sono interessati a un'immersione più profonda nell'algebra lineare, ma sottolinea che questo materiale non è necessario per comprendere la PCA.

  • 03:10:00 In questa sezione, l'istruttore spiega la trasformazione lineare, gli autovettori, gli autovalori e il loro significato nell'analisi delle componenti principali (PCA). La trasformazione lineare è una funzione che trasforma uno spazio vettoriale in un altro mantenendo una struttura lineare in ogni spazio vettoriale. Gli autovettori e gli autovalori rappresentano rispettivamente un nuovo vettore trasformato e il fattore in base al quale viene ridimensionato. L'istruttore discute anche della necessità di ridurre la dimensionalità, specialmente in set di dati di grandi dimensioni, e di come il PCA viene utilizzato per trasformare grandi insiemi di funzionalità in più piccoli. Nel complesso, la comprensione di questi concetti è fondamentale per lavorare su dati di testo e immagini in scenari reali.

  • 03:15:00 In questa sezione, il relatore spiega l'intuizione di base dietro l'Analisi delle Componenti Principali (PCA), che è quella di ridurre le dimensioni di un set di dati preservando quante più informazioni possibili. Descrivono come PCA costruisce nuove variabili, o componenti principali, che sono una combinazione lineare delle variabili iniziali. Questi componenti non sono correlati e la maggior parte delle informazioni è compressa nei primi componenti. Il relatore passa anche alla visualizzazione della proiezione dei dati sulle componenti principali e sottolinea che l'algoritmo deve garantire che le componenti siano incorrelate.

  • 03:20:00 In questa sezione viene discussa l'importanza della pre-elaborazione dei dati in relazione all'analisi delle componenti principali (PCA). Il primo passo nella PCA è la standardizzazione dei dati per garantire che rientrino nello stesso intervallo, il che è fondamentale perché la PCA è sensibile ai valori anomali. Una volta che i dati sono standardizzati, viene calcolata la matrice di covarianza dei dati per comprendere come le variabili di input variano l'una rispetto all'altra. Le variabili altamente correlate possono contenere informazioni non necessarie e possono essere rimosse. Infine, vengono calcolati gli autovettori e gli autovalori della matrice di covarianza, che sono fattori importanti nella trasformazione dei dati in uno spazio di dimensione inferiore.

  • 03:25:00 In questa sezione, l'istruttore spiega il processo di calcolo di autovettori e autovalori in Python per trasformare i vettori da un vettore originale e il fattore di cui è allungato, che è chiamato autovalore. Le colonne della matrice degli autovettori e della matrice degli autovalori vengono ordinate in ordine decrescente e viene calcolato il contenuto energetico cumulativo di ciascun autovettore. Quindi, un sottoinsieme di autovettori con il più alto contenuto di energia viene selezionato come vettori di base. Infine, i dati vengono proiettati sulla nuova base. L'istruttore conclude il tutorial delineando gli argomenti che saranno trattati nelle sezioni seguenti, che includono la teoria dell'apprendimento, il compromesso di bias e varianza, l'approssimazione e l'errore di stima.

  • 03:30:00 In questa sezione, l'istruttore discute il concetto di minimizzazione empirica del rischio e l'importanza di comprendere i compromessi di bias e varianza nell'apprendimento automatico. L'istruttore sottolinea che sebbene bias e varianza sembrino concetti facili da comprendere, è difficile padroneggiarli nella pratica quando si sviluppano prodotti del mondo reale. L'istruttore spiega anche l'underfitting, che si verifica quando un modello non funziona bene su un set di addestramento a causa di una quantità ridotta di funzionalità o dati. L'istruttore suggerisce l'ingegnerizzazione delle funzionalità per generare più funzionalità e migliorare le prestazioni del modello.

  • 03:35:00 In questa sezione del video vengono spiegati i diversi tipi di modelli di regressione come underfitting, good fit e overfitting. L'overfitting si verifica quando un modello si comporta bene sul set di addestramento ma male sul set di test perché il modello è troppo complesso o ha troppe funzionalità. Può essere prevenuto selezionando caratteristiche importanti o utilizzando la regolarizzazione. Viene anche discusso il compromesso tra bias e varianza, in cui un modello che fornisce un errore basso sul set di addestramento ma un errore elevato sul set di convalida indica un'elevata varianza e il bagging viene utilizzato per ridurlo nei metodi di apprendimento dell'insieme.

  • 03:40:00 In questa sezione, l'istruttore spiega come identificare se un modello ha un bias elevato o una varianza elevata. Se il modello ha una varianza elevata, il set di addestramento può avere un tasso di errore del 15% mentre il set di valutazione ha un tasso di errore del 16%. D'altra parte, se ha un bias elevato, può avere un tasso di errore del 30% sulla valutazione. L'istruttore spiega anche il concetto di approssimazione dell'errore di stima, la differenza tra il valore esatto e la sua approssimazione, che è l'output del modello. Infine, menzionano il presupposto che l'errore di base o le prestazioni a livello umano siano circa lo zero percento quando si costruisce un modello di classificazione.

  • 03:45:00 In questa sezione, il video introduce il concetto di minimizzazione del rischio empirico, che è un algoritmo che riceve un campione di training set da una grande distribuzione, con etichette assegnate da una funzione target. L'obiettivo è ridurre al minimo l'errore rispetto alla distribuzione sconosciuta, in modo che il modello possa prevedere nuovi esempi che non ha mai visto prima con errori minimi. Il video sottolinea che il predittore di output dipende dai pesi appresi dal set di addestramento e l'obiettivo è ridurre al minimo l'errore o il rischio chiamato minimizzazione del rischio empirico. Il video invita gli spettatori a porre qualsiasi domanda nella casella dei commenti e a visitare il sito Web del corso.

  • 03:50:00 In questa sezione, l'istruttore discute il concetto di istruzioni if-else nidificate nell'apprendimento automatico, che è un modo comune per suddividere i dati ponendo domande. Usano l'esempio del set di dati Iris, che contiene quattro caratteristiche e un'etichetta che indica la specie del fiore. Il compito è rilevare le specie di fiori in base a quattro caratteristiche, rendendolo un set di dati di classificazione binaria. L'istruttore spiega come creare un semplice classificatore utilizzando istruzioni if-else per suddividere i dati in base alle caratteristiche e determinare l'etichetta.

  • 03:55:00 In questa sezione del video, l'istruttore spiega come creare un semplice albero decisionale utilizzando due caratteristiche: lunghezza del petalo e lunghezza del sepalo. L'albero decisionale utilizza istruzioni if-else e cicli nidificati per definire varie condizioni e classificare le variabili target. L'istruttore spiega anche la terminologia degli alberi decisionali, come nodi radice, nodi padre e nodi figlio.
Machine Learning Course for Beginners
Machine Learning Course for Beginners
  • 2021.08.30
  • www.youtube.com
Learn the theory and practical application of machine learning concepts in this comprehensive course for beginners.🔗 Learning resources: https://github.com/...
Motivazione: