Apprendimento automatico e Reti Neurali - pagina 36

 

Come viene addestrato ChatGPT



Come viene addestrato ChatGPT

ChatGPT è un sistema di apprendimento automatico progettato per imitare la conversazione umana. Viene prima addestrato utilizzando un approccio di pre-addestramento generativo che si basa su enormi quantità di dati di testo non strutturati, quindi perfezionato utilizzando l'apprendimento per rinforzo per adattarsi meglio alle preferenze dell'utente.

  • 00:00:00 ChatGPT è un sistema di apprendimento automatico progettato per imitare la conversazione umana. Viene addestrato utilizzando un approccio generativo di pre-formazione che si basa su enormi quantità di dati di testo non strutturati.

  • 00:05:00 ChatGPT è un chatbot addestrato a rispondere alle richieste degli utenti in modo umano. Lo fa condizionando prima il modello su un esempio costruito manualmente che illustra il comportamento desiderato, quindi utilizzando l'apprendimento per rinforzo per adattare il modello alle preferenze dell'utente.

  • 00:10:00 ChatGPT è un chatbot che viene addestrato utilizzando una classifica su K output per un dato input. Il modello di ricompensa assegnerà un punteggio scalare a ciascun membro di una coppia, che rappresenta logit o probabilità logaritmiche non normalizzate. Maggiore è il punteggio, maggiore è la probabilità che il modello venga posizionato su quella risposta preferita. L'entropia incrociata standard viene utilizzata per la perdita trattando il modello di ricompensa come un classificatore binario. Una volta addestrati, i punteggi scalari possono essere usati come ricompense. Ciò consentirà una formazione più interattiva rispetto all'impostazione puramente supervisionata. Durante la fase di apprendimento per rinforzo, il nostro modello di policy, ovvero il chat bot, verrà messo a punto dal modello supervisionato finale. Emette azioni le sue sequenze di token quando risponde a un essere umano in un ambiente conversazionale. Dato uno stato particolare che è una cronologia di conversazione e un'azione corrispondente, il modello di ricompensa Restituisce la ricompensa numerica. Gli sviluppatori scelgono di utilizzare l'ottimizzazione della politica prossimale o PPO come algoritmo di apprendimento per rinforzo qui. Non entreremo nei dettagli di PPO in questo video, ma questa è stata una scelta popolare in diversi domini. Ora il modello di ricompensa appresa su cui stiamo ottimizzando qui è un'approssimazione decente del vero obiettivo a cui teniamo. Tuttavia, è ancora solo un'approssimazione di un obiettivo proxy.
 

Il VERO potenziale dell'IA generativa



Il VERO potenziale dell'IA generativa

L'IA generativa ha il potenziale per rivoluzionare il modo in cui vengono creati i prodotti, aiutando gli sviluppatori con la prototipazione, la valutazione e la personalizzazione. Tuttavia, la tecnologia è ancora nelle sue fasi iniziali e sono necessarie ulteriori ricerche per garantire che venga utilizzata in modo etico e sicuro.

  • 00:00:00 Il video discute i potenziali vantaggi e le sfide dell'utilizzo di modelli di linguaggio di grandi dimensioni e prosegue spiegando come Human Loop può aiutarti a creare applicazioni differenziate su questi modelli.

  • 00:05:00 Il video illustra come l'IA generativa può aiutare gli sviluppatori con la prototipazione, la valutazione e la personalizzazione delle loro applicazioni. Rileva che è probabile che il lavoro di uno sviluppatore cambi in futuro, poiché la tecnologia AI aiuta ad aumentare il loro flusso di lavoro.

  • 00:10:00 Il video discute il potenziale dell'IA generativa e illustra alcuni degli ostacoli alla sua diffusa adozione. Rileva che sebbene la tecnologia abbia un grande potenziale, è ancora nelle sue fasi iniziali e sono necessarie ulteriori ricerche per garantire che venga utilizzata in modo etico e sicuro.

  • 00:15:00 Il potenziale dell'IA generativa è vasto, con molti potenziali usi nel prossimo futuro. Le startup dovrebbero essere preparate per un'esplosione cambriana di nuove applicazioni, alcune delle quali potrebbero essere difficili da prevedere.

  • 00:20:00 Questo video discute il potenziale dell'IA generativa e come può essere utilizzata per creare prodotti nuovi e innovativi.
 

Vrije Universiteit Amsterdam Machine Learning 2019 - 1 Introduzione all'apprendimento automatico (MLVU2019)



Vrije Universiteit Amsterdam Machine Learning 2019 - 1 Introduzione all'apprendimento automatico (MLVU2019)

Questo video fornisce un'introduzione all'apprendimento automatico e copre vari argomenti ad esso correlati. L'istruttore spiega come prepararsi per il corso e affronta le preoccupazioni comuni sul fatto che l'apprendimento automatico sia intimidatorio. Introduce i diversi tipi di apprendimento automatico e lo distingue dalla tradizionale programmazione basata su regole. Il video copre anche le basi dell'apprendimento supervisionato e fornisce esempi di come l'apprendimento automatico può essere utilizzato per problemi di classificazione e regressione. Vengono inoltre spiegati i concetti di spazio delle caratteristiche, funzione di perdita e residui.

La seconda parte del video fornisce un'introduzione all'apprendimento automatico e spiega il suo obiettivo principale di trovare modelli e creare modelli accurati per prevedere i risultati da un set di dati. Il relatore discute l'importanza di utilizzare algoritmi specifici e la suddivisione dei dati per evitare l'overfitting e ottenere la generalizzazione. Introduce anche il concetto di stima della densità e le sue difficoltà con dati complessi. Il relatore chiarisce la differenza tra l'apprendimento automatico e altri campi e allude a una strategia per abbattere i set di big data al fine di fare previsioni accurate. Il video menziona anche l'aumento delle persone che lavorano nel machine learning con lo sviluppo del deep learning e fornisce suggerimenti per i principianti per iniziare sul campo.

  • 00:00:00 In questa sezione, il relatore parla di come prepararsi per il corso di machine learning. Suggeriscono che gli studenti leggano attentamente i materiali principali del corso e si concentrino su ciò che è necessario. Inoltre, è disponibile un quiz per gli studenti per testare la loro comprensione e memorizzare ciò che l'istruttore dice loro. Agli studenti verranno assegnati i compiti e sarà consentito utilizzare un foglio stampato con formule per scrivere appunti nell'area rimanente a penna.

  • 00:05:00 In questa sezione, il relatore affronta le preoccupazioni sul fatto che l'apprendimento automatico sia spaventoso e intimidatorio, soprattutto per coloro che non hanno una formazione informatica. Spiega che lo scopo del progetto è aiutare le persone a familiarizzare con l'apprendimento automatico fornendo set di dati e risorse da esplorare e sperimentare. Il relatore sottolinea l'importanza della collaborazione e incoraggia l'uso dei fogli di lavoro e degli strumenti informatici forniti per facilitare l'apprendimento.

  • 00:10:00 In questa sezione, il relatore discute l'importanza delle dinamiche di gruppo e delle capacità comunicative nel campo dell'apprendimento automatico. Sottolinea che essere in grado di lavorare e comunicare efficacemente in gruppo è importante tanto quanto le capacità di scrittura tecnica. Il relatore incoraggia inoltre i partecipanti a registrarsi per le sessioni di gruppo e a raggiungere gli altri partecipanti al programma per formare rapporti di lavoro efficaci. Consiglia ai partecipanti di utilizzare le risorse disponibili, come i forum di discussione online, per connettersi con altri membri del programma e creare relazioni produttive e collaborative.

  • 00:15:00 In questa sezione, il relatore introduce i diversi tipi di apprendimento automatico, a partire dall'apprendimento automatico supervisionato. Spiegano che esamineranno due tipi di apprendimento automatico supervisionato - classificazione e regressione - con la regressione discussa dopo l'interruzione. Il relatore afferma inoltre che discuteranno brevemente dell'apprendimento automatico senza supervisione e forniranno una spiegazione del motivo per cui l'apprendimento automatico è diverso dai normali macchinari.

  • 00:20:00 In questa sezione, il relatore distingue tra la tradizionale programmazione basata su regole, che segue essenzialmente una serie di istruzioni predeterminate, e l'apprendimento automatico, che è un processo di utilizzo di grandi insiemi di dati per costruire modelli predittivi che possono essere utilizzati prendere decisioni sulla base di nuovi dati. L'apprendimento automatico è utile in situazioni in cui il processo decisionale deve essere rapido, affidabile e incorruttibile. Tuttavia, è importante ricordare che i modelli di machine learning non sono perfetti e possono fallire inaspettatamente, quindi l'input umano è ancora necessario per prendere decisioni finali. Il supporto decisionale clinico è un esempio di come l'apprendimento automatico può essere utilizzato per fornire ai medici informazioni aggiuntive per aiutarli nel loro processo decisionale.

  • 00:25:00 In questa sezione, il relatore spiega il concetto di apprendimento online o incrementale nell'apprendimento automatico. Affermano che l'apprendimento online può essere efficace in situazioni in cui è presente un flusso costante di dati e il modello deve continuare ad aggiornarsi e prevedere nuove informazioni, il che è un compito difficile. Pertanto, raccomandano di concentrarsi sull'applicazione dell'apprendimento online separando e ricreando i dati di base per consentire al modello di fare previsioni più facilmente. Inoltre, il relatore discute di come gli scienziati negli anni '50 e '60 usassero semplici cervelli artificiali chiamati perceptron per esplorare come il cervello apprende, usando esempi come addestrare un perceptron a riconoscere la differenza tra maschi e femmine.

  • 00:30:00 In questa sezione del video, il relatore discute le basi dell'apprendimento automatico e introduce il concetto di apprendimento supervisionato, in cui una macchina viene addestrata a classificare i dati in categorie specifiche in base alle caratteristiche di input. Viene fornito un esempio di classificazione delle e-mail come spam o non spam misurando caratteristiche come la frequenza di determinate parole. L'obiettivo è fornire questi dati a un algoritmo di apprendimento che crea un modello, che può quindi prevedere con precisione la classe di nuovi esempi invisibili. Esistono molti algoritmi di classificazione diversi che possono essere utilizzati per questo tipo di problema.

  • 00:35:00 In questa sezione, il relatore fornisce due esempi di come l'apprendimento automatico può essere utilizzato per problemi di classificazione. Il primo esempio prevede il riconoscimento di numeri a più cifre nei contratti dell'Arizona utilizzando la classificazione delle immagini. Usano immagini di 28x28 pixel delle cifre come caratteristiche e l'obiettivo è prevedere quale cifra è nell'immagine. Il secondo esempio prevede l'utilizzo dell'apprendimento automatico per insegnare a un'auto come guidare, dove raccolgono dati attraverso i sensori nel volante e li scompongono in frame e utilizzano 960 funzioni per classificare la direzione dell'auto.

  • 00:40:00 In questa sezione, il relatore discute come costruire un algoritmo per risolvere un problema di regressione. L'esempio fornito prevede la durata di un viaggio in autobus in base al numero di passeggeri. Il relatore menziona anche che esiste una pagina con un programma completo per il corso, che è importante a causa dei cambi di orario tra i gruppi e delle immagini occasionali che potrebbero cambiare. Infine, il relatore parla dell'utilizzo di due funzionalità per prevedere l'altezza di una persona, che è un esempio di problema di apprendimento supervisionato.

  • 00:45:00 In questa sezione, il relatore introduce il concetto di rappresentazione dei dati in uno spazio di caratteristiche utilizzando un asse, che consente la rappresentazione visiva degli elementi e delle loro interfacce. Tracciando una linea in questo spazio, è possibile creare un classificatore che divide lo spazio in due aree in cui un'area rappresenta tutto ciò che è al di sopra della linea e l'altra area rappresenta tutto ciò che è al di sotto di essa. Il ciuccio logistico è la scelta migliore quando si usano le linee e ogni linea può essere descritta da tre numeri che definiscono una proprietà sul piano dello spazio 3D. Una funzione di perdita, che è una funzione commutabile, consente di calcolare il numero di esempi in cui un modello sbaglia e un valore inferiore indica un migliore adattamento del modello.

  • 00:50:00 In questa sezione, il relatore fornisce esempi di spazi e di come possono essere utilizzati per creare modelli. Spiega il concetto di alberi decisionali e come possono essere complicati in un ampio spazio. Dimostra anche come il processo di classificazione può essere reso semplice e potente, utilizzando alcune variazioni sulla specificazione e diversificazione. Infine, il relatore tocca la classificazione multiclasse e multietichetta e come possono essere utili nei casi in cui gli oggetti non si escludono a vicenda.

  • 00:55:00 In questa sezione, il relatore spiega come determinare il punteggio di probabilità della classe e lo spazio di output corretti creando funzionalità basate su dati importanti. Per valutare la linea theta e la funzione di perdita muscolare, viene utilizzato un metodo dei residui che misura la distanza tra il valore previsto del modello e il valore di output effettivo. Utilizzando la regressione per tracciare il residuo e calcolando la somma dei quadrati dei residui, è possibile migliorare l'accuratezza predittiva perché tira la linea verso i dati in base alla corretta distanza al quadrato.

  • 01:00:00 In questa sezione, il relatore discute l'importanza di utilizzare algoritmi specifici, come la regressione lineare multipla, per analizzare i dati e creare modelli. Spiega che questi modelli non sono sempre accurati a causa dell'overfitting, motivo per cui i dati dovrebbero essere suddivisi in blocchi diversi e analizzati di conseguenza. Il relatore sottolinea inoltre che la generalizzazione è l'aspetto più importante quando si creano algoritmi di apprendimento automatico per garantire che il modello sia in grado di prevedere con precisione i risultati con nuovi dati.

  • 01:05:00 In questa sezione, il video discute l'apprendimento automatico e come comporta l'apprendimento da una grande quantità di dati. I modelli di machine learning vengono creati inserendo i dati in un set di funzionalità ed etichette, con l'obiettivo di trovare modelli e creare un modello in grado di prevedere con precisione un'etichetta basata sulle funzionalità. Tecniche come il clustering k-means possono essere utilizzate per raggruppare punti dati con caratteristiche simili, che possono aiutare a costruire modelli più accurati. Inoltre, è importante capire che trovare un modello ottimale richiede molti tentativi ed errori e non esiste un modo semplice per sapere in anticipo cosa funzionerà meglio.

  • 01:10:00 In questa sezione, il relatore introduce il concetto di stima della densità e come aiuta a identificare la distribuzione di probabilità dei dati. La stima della densità viene eseguita assumendo una distribuzione di interesse e acquisendola in base ai dati del campione. Il modello prevede una densità di probabilità per ogni punto delle caratteristiche e assegna un numero per rappresentare la probabilità di tassi diversi. Tuttavia, per dati complessi come immagini di esseri umani, la stima della densità diventa difficile a causa delle caratteristiche di dimensioni elevate ed è necessario un approccio alternativo per fornire un altro campione simile.

  • 01:15:00 In questa sezione, l'oratore menziona che ci sono campi diversi dall'apprendimento automatico che possono confondere le persone nel pensare che coinvolgano macchinari, come l'urbanistica o la pianificazione del bagno. Tuttavia, questi campi non richiedono necessariamente molta spesa o tempo. L'oratore allude anche a una strategia che verrà discussa in modo più approfondito nella prossima settimana, che prevede la suddivisione di grandi set di dati in gruppi più piccoli al fine di fare previsioni accurate. Questa strategia viene spesso utilizzata in campi come il riconoscimento vocale o il riconoscimento dei caratteri.

  • 01:20:00 In questa sezione, il relatore discute i diversi modi di pensare all'apprendimento automatico e le tecniche e i modelli esistenti che possono essere utilizzati per questo. Tocca anche il modo in cui il deep learning ha contribuito all'aumento del numero di gusti di persone che lavorano sull'apprendimento automatico. Inoltre, fornisce suggerimenti per i principianti che desiderano iniziare con l'apprendimento automatico e menziona la disponibilità di risorse per aiutare nel loro percorso di apprendimento.
 

2 modelli lineari 1: iperpiani, ricerca casuale, discesa gradiente (MLVU2019)



2 modelli lineari 1: iperpiani, ricerca casuale, discesa gradiente (MLVU2019)

Questo video tratta le basi dei modelli lineari, dei metodi di ricerca e degli algoritmi di ottimizzazione. I modelli lineari sono spiegati sia in 2 dimensioni che in più dimensioni e viene discusso il processo di ricerca di un buon modello attraverso metodi come la ricerca casuale e la discesa del gradiente. Viene spiegata l'importanza della convessità nell'apprendimento automatico e vengono affrontati gli svantaggi della ricerca casuale in paesaggi non convessi. Il video introduce anche metodi evolutivi e ricerche ramificate come metodi di ricerca. Infine, viene spiegato l'uso del calcolo e della discesa del gradiente per ottimizzare la funzione di perdita, compreso il processo per trovare la direzione della discesa più ripida per un iperpiano.

La seconda parte discute la discesa del gradiente e la sua applicazione ai modelli lineari, dove l'algoritmo aggiorna i parametri muovendosi nella direzione del gradiente negativo della funzione di perdita. Il tasso di apprendimento è cruciale nel determinare la velocità con cui l'algoritmo converge al minimo e le funzioni lineari consentono di elaborare il modello ottimale senza dover cercare. Tuttavia, i modelli più complessi richiedono l'utilizzo della discesa del gradiente. Il video introduce anche la classificazione e i limiti decisionali, in cui l'obiettivo è separare i punti blu dai punti rossi trovando una linea che lo faccia in modo ottimale. I limiti dei modelli lineari includono la loro incapacità di classificare set di dati non linearmente separabili, ma sono computazionalmente economici e funzionano bene in spazi di caratteristiche ad alta dimensione. L'istruttore prevede anche argomenti futuri che verranno discussi, come la metodologia di apprendimento automatico.

  • 00:00:00 In questa sezione, il relatore spiega la ricetta di base per l'apprendimento automatico, che prevede l'astrazione di un problema, la scelta di istanze e funzionalità, la selezione di una classe di modello e la ricerca di un buon modello. Quindi introducono i modelli lineari come classe di modello selezionata e discutono su come scriverli in linguaggio matematico. Parlano di metodi di ricerca, inclusa la discesa del gradiente, e sottolineano che questi metodi non sono specifici dei modelli lineari e verranno fuori in altri contesti. Viene inoltre introdotta la notazione per descrivere i set di dati, utilizzando apici per abbinare istanze e valori corrispondenti. Infine, un semplice set di dati di regressione viene utilizzato come esempio durante la lezione.

  • 00:05:00 In questa sezione, il relatore discute i modelli lineari e come possono essere utilizzati per mappare uno spazio in un altro spazio. Un modello lineare utilizza una funzione che descrive una linea per raggiungere questo obiettivo. La funzione di linea ha due parametri, W e B, che rappresentano rispettivamente la pendenza e il bias. Il relatore spiega che il numero di funzionalità in un set di dati può essere arbitrario e il modello deve funzionare con qualsiasi numero di funzionalità. Per più funzioni, ogni istanza è rappresentata come un vettore utilizzando la notazione in grassetto e ciascuno di questi vettori viene mappato a un singolo valore.

  • 00:10:00 In questa sezione, il relatore spiega come estendere il modello lineare da un piano a un iperpiano assegnando pesi a ogni caratteristica e mantenendo un unico valore B. Questa funzione può essere espressa come prodotto scalare di W e X più B, che è una semplice operazione di due vettori della stessa lunghezza. Il prodotto scalare può anche essere espresso come la lunghezza dei due vettori nello spazio per il coseno dell'angolo tra di loro. L'oratore menziona anche un principio interessante, ovvero che aggiungendo semplici funzionalità a un modello, può diventare più potente. Infine, per trovare un buon modello, viene utilizzata una funzione di perdita e un modo per cercare nello spazio di tutti i modelli un valore che minimizzi tale funzione di perdita.

  • 00:15:00 In questa sezione, il relatore discute la funzione di perdita dell'errore quadratico medio utilizzata nella regressione lineare. La funzione misura la distanza tra la previsione del modello e il valore effettivo, eleva al quadrato la distanza e somma tutti i residui per determinare la perdita. Più basso è il valore, migliore è il modello. L'oratore spiega perché la funzione eleva al quadrato i valori invece di utilizzare valori assoluti per evitare che i valori positivi e negativi si annullino. Il quadrato mette anche una penalità in più sugli outlier, facendoli pesare di più nella funzione di perdita. La sezione discute anche brevemente gli spazi dei modelli e delle caratteristiche e come la ricerca di valori di bassa perdita nel panorama delle perdite porta ad adattare un modello ai dati.

  • 00:20:00 modello semplice, la ricerca casuale può essere utilizzata per trovare i valori ottimali dei parametri partendo da un punto casuale e utilizzando un ciclo per selezionare un altro punto molto vicino ad esso, calcolando la perdita per entrambi i punti e se il la perdita per il nuovo punto è migliore, passando al nuovo punto. Il processo continua fino a raggiungere i valori ottimali dei parametri. Questo è simile a un escursionista che naviga in una tempesta di neve facendo piccoli passi in ogni direzione per determinare dove il pendio della montagna sta salendo di più e facendo passi in quella direzione fino a raggiungere la valle. Tuttavia, nelle impostazioni di apprendimento automatico, dove lo spazio è multidimensionale, non è possibile vedere l'intera immagine in una volta, quindi il processo è analogo a un escursionista in una tempesta di neve, dove i piccoli passi compiuti si trovano a una distanza fissa in una direzione casuale fino a raggiungere i valori ottimali.

  • 00:25:00 In questa sezione, il video discute il concetto di convessità nell'apprendimento automatico e il suo impatto sull'utilizzo della ricerca casuale come metodo di ricerca del modello. Una superficie di perdita convessa, oa forma di scodella se rappresentata graficamente matematicamente, ha un solo minimo, rendendo possibile trovare un minimo globale. Tuttavia, quando una superficie di perdita non è convessa e presenta più minimi locali, la ricerca casuale può bloccarsi e convergere su un minimo locale. Per risolvere questo problema, viene introdotta la ricottura simulata come metodo di ricerca, che consente una probabilità di spostarsi in salita, consentendo il potenziale di sfuggire ai minimi locali e trovare il minimo globale.

  • 00:30:00 In questa sezione, il video discute l'uso di metodi di ottimizzazione blackbox, come la ricerca casuale e la ricottura simulata, per ottimizzare uno spazio modello continuo o discreto considerando la funzione di perdita come una scatola nera, che non richiede alcuna conoscenza del funzionamento interno del modello. Si noti che questi metodi possono anche essere parallelizzati per eseguire più ricerche contemporaneamente per aumentare le possibilità di trovare l'optimum globale. Inoltre, il video menziona che questi metodi di ottimizzazione sono spesso ispirati da fenomeni naturali, come algoritmi evolutivi, particelle e colonie.

  • 00:35:00 In questa sezione, il relatore introduce l'algoritmo di base per un metodo evolutivo di ricerca che prende ispirazione dall'evoluzione. Questo metodo inizia con una popolazione di modelli, calcola la loro perdita, li classifica, uccide metà della popolazione e alleva l'altra metà per creare una nuova popolazione. I nuovi modelli vengono selezionati in base alle proprietà di quelli vecchi e alcune variazioni vengono aggiunte alla popolazione utilizzando la mutazione. L'oratore spiega anche un metodo di ricerca in ramificazione, una variazione della ricerca casuale, in cui invece di scegliere una direzione casuale, vengono scelte K direzioni casuali e viene selezionata la direzione con la perdita più bassa. Il relatore conclude sottolineando la flessibilità e la potenza dei metodi evolutivi, ma mette in guardia dal loro costoso costo computazionale e dai requisiti di messa a punto dei parametri.

  • 00:40:00 In questa sezione, i relatori discutono diversi metodi di ricerca per trovare il modello ottimale per un determinato problema. Con l'aumentare del numero di modelli, dedicano più tempo all'esplorazione della curvatura locale, che porta a una linea più diretta verso l'optimum. Invece di fare un passo a caso, possono dedicare più tempo a comprendere il quartiere locale e capire la direzione ottimale prima di muoversi. Gli autori introducono quindi la discesa del gradiente, che comporta l'osservazione della funzione di perdita e il calcolo della direzione in cui la funzione diminuisce più rapidamente attraverso il calcolo. Questo metodo richiede che la funzione sia differenziabile, uniforme e continua e non è più un modello a scatola nera.

  • 00:45:00 In questa sezione, il relatore discute pendenze e linee tangenti in relazione alla funzione di perdita. La superficie di perdita non è una funzione lineare, ma la pendenza della retta tangente, che rappresenta la derivata della funzione di perdita, può dare un'indicazione della direzione e della velocità con cui la funzione sta decrescendo. In dimensioni superiori, l'equivalente della linea tangente è l'iperpiano tangente, che può anche darci la direzione in cui la superficie di perdita diminuisce più velocemente. La conferenza tocca anche l'interpretazione dei vettori come un punto nello spazio o una direzione, utile quando si tratta di funzioni lineari come gli iperpiani.

  • 00:50:00 In questa sezione, il relatore discute come generalizzare prendendo la derivata a più dimensioni e come trovare la direzione della discesa più ripida per un iperpiano. L'equivalente di prendere la derivata in più dimensioni è calcolare il gradiente, che è un vettore costituito dalla derivata differenziale parziale rispetto a X, Y e Z. Questi tre valori insieme definiscono tre parametri per un piano e tre valori insieme definiscono un iperpiano. La direzione W della discesa più ripida può essere trovata massimizzando la norma di W per il coseno di a, che è massimizzata quando la distanza tra X e W è uguale all'angolo tra X e W o quando X e W sono uguali. Pertanto, la direzione di discesa più ripida è W.

  • 00:55:00 In questa sezione, il relatore spiega un semplice algoritmo per trovare il minimo di una funzione di perdita chiamata discesa del gradiente. L'algoritmo inizia con un punto casuale nello spazio del modello, calcola il gradiente della perdita in quel punto, lo moltiplica per un piccolo valore chiamato anta, quindi lo sottrae dal modello. Non c'è casualità, solo passaggi puramente deterministici. Il gradiente fornisce sia la direzione che la dimensione del passo. Il relatore passa quindi a calcolare il gradiente per un paesaggio di perdita utilizzando il calcolo, spiegando le regole della somma e della catena, e termina con il vettore bidimensionale della derivata della funzione di perdita rispetto a W e B.

  • 01:00:00 In questa sezione, il relatore discute l'implementazione della discesa del gradiente in Python e come consente un passo nella direzione del vettore, seguendo la curvatura della superficie, per trovare il minimo e rimanere lì. Per dimostrarlo, introducono un sito Web chiamato playground.tensorflow.org, che consente agli utenti di sperimentare un semplice modello lineare utilizzando la discesa del gradiente. Tuttavia, il relatore sottolinea anche che la discesa del gradiente ha alcune limitazioni, come la necessità di scegliere il tasso di apprendimento e la possibilità di rimanere bloccati in un minimo locale.

  • 01:05:00 In questa sezione, il video discute la discesa del gradiente in modo più dettagliato e la sua applicazione ai modelli lineari. Con la discesa del gradiente, l'algoritmo aggiorna i parametri procedendo nella direzione del gradiente negativo della funzione di perdita, e questo processo si ripete fino a raggiungere un minimo. Il tasso di apprendimento determina quanto è grande ogni passaggio ed è fondamentale trovare un tasso di apprendimento che non sia né troppo grande né troppo piccolo, poiché influisce sulla velocità con cui l'algoritmo converge al minimo. Le funzioni lineari consentono di elaborare il modello ottimale senza dover cercare. Tuttavia, i modelli più complessi richiedono l'utilizzo della discesa del gradiente. La discesa del gradiente è veloce, con poca memoria e precisa, ma non sfugge ai minimi locali e funziona solo su spazi modello continui con funzioni di perdita uniformi. Infine, il video introduce la classificazione e i limiti decisionali, in cui l'obiettivo è separare i punti blu dai punti rossi trovando una linea che lo faccia in modo ottimale nello spazio delle caratteristiche.

  • 01:10:00 In questa sezione, il relatore discute il processo di ricerca di un classificatore per un set di dati di classificazione semplice costituito da sei istanze. Per fare ciò, cercano una funzione di perdita che possa essere utilizzata per valutare potenziali modelli o piani lineari nel set di dati, con l'obiettivo di ridurre al minimo il numero di punti classificati erroneamente per ottenere una buona valutazione. Tuttavia, la funzione di perdita che usano inizialmente non è adatta per trovare il modello ottimale poiché ha una struttura piatta, rendendo inefficaci la ricerca casuale e l'ascesa del gradiente. Il relatore afferma poi che a volte la funzione di perdita dovrebbe essere diversa dalla funzione di valutazione e presenta una funzione di perdita che ha un minimo intorno al punto desiderato, ma è liscia ovunque.

  • 01:15:00 In questa sezione, il docente dimostra come il principio dei minimi quadrati utilizzato nella regressione può essere applicato alla classificazione assegnando valori in punti e trattando il problema come un problema di regressione. Questo approccio funziona bene nel clustering di punti linearmente separabili, ma non vi è alcuna garanzia che separerà i cluster che non sono linearmente separabili. Mostrano come funziona l'algoritmo di discesa del gradiente eseguendo determinati passaggi nello spazio delle caratteristiche per ridurre al minimo la funzione di perdita. L'esempio utilizzato è un dataset con punti linearmente separabili, e il docente sottolinea anche come i modelli lineari siano limitati in ciò che possono esprimere, come mostrato dall'esempio del core dataset che ha confini complessi.

  • 01:20:00 In questa sezione, l'istruttore discute i limiti dei modelli lineari e come potrebbero non riuscire a classificare set di dati non linearmente separabili, come un set di dati che ha un modello a spirale. Tuttavia, i modelli lineari possono funzionare bene in spazi di caratteristiche ad alta dimensione e sono anche computazionalmente economici. L'istruttore spiega che la discesa del gradiente stocastico è un potente strumento di ottimizzazione ma richiede una funzione di perdita regolare da utilizzare come proxy per le funzioni di perdita discrete. L'istruttore conclude visualizzando in anteprima gli argomenti futuri che verranno discussi, come la metodologia di machine learning.
 

3 Metodologia 1: area sotto la curva, bias e varianza, niente pasti gratuiti (MLVU2019)



3 Metodologia 1: area sotto la curva, bias e varianza, niente pasti gratuiti (MLVU2019)

Il video copre l'uso della metrica dell'area sotto la curva (AUC) nella valutazione dei modelli di apprendimento automatico, oltre a introdurre i concetti di distorsione e varianza e il teorema del "pasto gratis". La metrica AUC misura le prestazioni del modello di classificazione calcolando l'area sotto la curva ROC. Inoltre, vengono discussi bias e varianza in quanto svolgono un ruolo cruciale nel modo in cui il modello si adatta ai dati di addestramento e si generalizza ai nuovi dati. Inoltre, il teorema "no free lunch" evidenzia la necessità di selezionare l'algoritmo appropriato per ogni problema specifico poiché non esiste un algoritmo universalmente applicabile per tutti i problemi di apprendimento automatico.

Questo video copre tre importanti concetti di machine learning: AUC (area sotto la curva), bias e varianza e il teorema del "niente pasti gratis". L'AUC è una metrica utilizzata per valutare i modelli di classificazione binaria, mentre bias e varianza si riferiscono alle differenze tra i valori previsti di un modello e i valori reali in un set di dati. Il teorema "no free lunch" evidenzia l'importanza di selezionare l'algoritmo appropriato per un dato problema, poiché non esiste un singolo algoritmo in grado di funzionare in modo ottimale su tutti i possibili problemi e set di dati.

  • 00:20:00 In questa sezione, il relatore discute la prima metodologia per la valutazione dei modelli di apprendimento automatico, la metrica dell'area sotto la curva (AUC). L'AUC misura le prestazioni dei modelli di classificazione calcolando l'area sotto la curva delle caratteristiche operative del ricevitore (ROC). Il relatore introduce anche i concetti di distorsione e varianza, che misurano rispettivamente quanto bene un modello si adatta ai dati di addestramento e quanto bene si generalizza ai nuovi dati. Infine, il relatore spiega il teorema "no free lunch", che afferma che non esiste un algoritmo unico per tutti i problemi di apprendimento automatico e sottolinea l'importanza di selezionare l'algoritmo appropriato per ogni problema specifico.

  • 01:10:00 In questa sezione, il relatore introduce tre concetti chiave nella metodologia dell'apprendimento automatico: area sotto la curva (AUC), bias e varianza e il teorema "no free lunch". L'AUC è una metrica utilizzata per valutare le prestazioni dei modelli di classificazione binaria e rappresenta la probabilità che un modello classifichi un esempio positivo scelto a caso più alto di un esempio negativo scelto a caso. Bias si riferisce alla differenza tra il valore atteso delle previsioni di un modello e i valori veri nel set di dati, mentre la varianza si riferisce alla varianza nelle previsioni di un modello quando viene addestrato su set di dati diversi. Il teorema del "no free lunch" afferma che non esiste un algoritmo in grado di funzionare al meglio su tutti i possibili problemi e set di dati, sottolineando l'importanza di selezionare l'algoritmo appropriato per un dato problema.
 

4 Metodologia 2: pulizia dei dati, analisi dei componenti principali, Eigenfaces (MLVU2019)



4 Metodologia 2: pulizia dei dati, analisi dei componenti principali, Eigenfaces (MLVU2019)

Questa prima parte del video copre vari aspetti importanti della pre-elaborazione e della pulizia dei dati prima dell'applicazione degli algoritmi di apprendimento automatico, a partire dall'importanza cruciale di comprendere i bias e l'inclinazione dei dati. Il relatore discute quindi i metodi per gestire i dati mancanti, i valori anomali, lo squilibrio di classe, la selezione delle caratteristiche e la normalizzazione. Il video prosegue discutendo il concetto di base e la distribuzione MVN, spiegando come utilizzare lo sbiancamento per trasformare i dati in una distribuzione normale per la normalizzazione e si conclude con l'uso dell'analisi delle componenti principali (PCA) per la riduzione della dimensionalità. Dalla manipolazione del set di addestramento all'utilizzo di metodi di imputazione, PCA proietta i dati in uno spazio dimensionale inferiore conservando le informazioni dai dati originali.

Questa seconda parte del video illustra l'uso dell'analisi dei componenti principali (PCA) nella pulizia dei dati e nella riduzione della dimensionalità per l'apprendimento automatico. Il metodo prevede il centramento della media dei dati, il calcolo della covarianza del campione e la sua scomposizione utilizzando la decomposizione dell'auto per ottenere gli autovettori allineati con l'asse che catturano la maggior parte della varianza. L'utilizzo dei primi K componenti principali fornisce una buona ricostruzione dei dati, consentendo migliori prestazioni di machine learning. Viene inoltre introdotto il concetto di Eigenfaces e il PCA si dimostra efficace nel comprimere i dati a 30 dimensioni mantenendo la maggior parte delle informazioni richieste per l'apprendimento automatico. Vengono discusse varie applicazioni del PCA, incluso il suo uso in antropologia e nello studio di set di dati complessi come DNA e volti.

  • 00:00:00 In questa sezione del video, il relatore discute le basi della pulizia e della pre-elaborazione dei dati prima di applicare gli algoritmi di machine learning. L'importanza di non prendere i dati al valore nominale è sottolineata discutendo il bias di sopravvivenza, in cui concentrarsi solo sulla popolazione sopravvissuta può portare a risultati distorti. Il relatore discute quindi tecniche come la gestione dei dati mancanti, i valori anomali, lo squilibrio di classe, la selezione delle caratteristiche e la normalizzazione. Infine, la seconda metà del video è incentrata sulla discussione della riduzione della dimensionalità utilizzando l'algoritmo di analisi dei componenti principali.

  • 00:05:00 In questa sezione, il video introduce suggerimenti pratici per la pulizia dei dati e la gestione dei dati mancanti in un set di dati, inclusa la rimozione di funzionalità o istanze mancanti che non sono significative e assicurandosi che la rimozione non modifichi la distribuzione dei dati. Anziché rimuovere i valori mancanti, potrebbe essere più utile conservarli per i dati di addestramento e testare le risposte del modello. Per massimizzare la quantità di dati di addestramento, è disponibile un metodo di imputazione che compila le ipotesi per i dati mancanti, ad esempio utilizzando la modalità o il valore medio. Il principio guida per gestire i dati mancanti è considerare il caso d'uso del mondo reale, o l'ambiente di produzione, per preparare il modello a gestire i dati mancanti previsti nel modo più pertinente e pratico.

  • 00:10:00 In questa sezione, il relatore discute due tipi di valori anomali nei dati: valori anomali meccanici e naturali. I valori anomali meccanici si verificano a causa di errori come dati mancanti o errori nell'immissione dei dati e devono essere trattati come dati mancanti da eliminare. D'altra parte, i valori anomali naturali si verificano a causa della distribuzione non normale di alcune variabili e dovrebbero essere mantenuti nel set di dati per garantire un migliore adattamento. Il relatore fornisce esempi di entrambi i tipi di valori anomali, comprese caratteristiche facciali insolite in un set di dati di volti e redditi estremamente elevati in un set di dati sulla distribuzione del reddito.

  • 00:15:00 In questa sezione viene discussa l'importanza di verificare le ipotesi di normalità nei dati. La regressione lineare, ad esempio, si basa su questi presupposti, quindi è importante verificare la normalità ed essere consapevoli del fatto che i presupposti possono nascondersi nei modelli senza essere conosciuti. Anche i valori anomali devono essere presi in considerazione durante la modellazione e la convalida dei dati ed è importante testare i modelli con un set di addestramento che rappresenti le situazioni di produzione per garantire che i modelli possano gestire i valori anomali in modo appropriato. Inoltre, viene discussa l'importanza di trasformare i dati in caratteristiche categoriche o numeriche per gli algoritmi di apprendimento automatico e la potenziale perdita di informazioni coinvolte in tali trasformazioni.

  • 00:20:00 In questa sezione, il relatore discute l'importanza di selezionare le caratteristiche giuste per gli algoritmi di machine learning e come estrarre informazioni significative dai dati. Spiegano che la semplice interpretazione di numeri come i numeri di telefono come valori numerici non è utile e suggeriscono invece di cercare caratteristiche categoriche come prefissi o stato del cellulare o della rete fissa. Nei casi in cui un algoritmo di apprendimento automatico accetta solo caratteristiche numeriche, il relatore consiglia di utilizzare una codifica a caldo anziché una codifica intera per evitare di imporre un ordine arbitrario ai dati. L'obiettivo è estrarre le informazioni necessarie senza perdere alcun dettaglio essenziale e selezionare funzionalità che trasmettano in modo accurato ed efficace le informazioni necessarie per l'attività da svolgere.

  • 00:25:00 In questa sezione, il relatore discute il valore dell'espansione delle funzionalità per rendere un modello più potente. Utilizzando l'esempio di un set di dati per la classificazione dello spam nelle e-mail, il relatore spiega come due caratteristiche correlate non possano essere interpretate senza conoscere il valore dell'altra, rendendo impossibile per un classificatore lineare tracciare confini tra le classi. Per affrontare questa limitazione, il relatore discute l'aggiunta di una funzionalità cross-product, che moltiplica i valori delle funzionalità esistenti, consentendo di tracciare un limite di classificazione in uno spazio di funzionalità più elevato, anche se non è linearmente separabile nello spazio originale. Il relatore fornisce quindi un esempio di una classe di punti con un confine decisionale circolare per illustrare ulteriormente l'importanza delle caratteristiche in espansione.

  • 00:30:00 In questa sezione, il relatore spiega come l'aggiunta di funzionalità aggiuntive può aiutare un classificatore lineare a risolvere i problemi di classificazione. Aggiungendo il quadrato delle coordinate x e y come caratteristiche a un problema di confine decisionale, è possibile utilizzare un classificatore lineare per distinguere tra due classi di punti. Il relatore mostra come, utilizzando TensorFlow Playground, l'addestramento del classificatore si traduca in un limite decisionale che all'occhio umano appare circolare. Vengono inoltre mostrati i pesi delle caratteristiche ed è dimostrato che è necessaria una sola caratteristica per risolvere questo problema di classificazione.

  • 00:35:00 In questa sezione del video, il relatore discute di come l'espansione dello spazio delle funzionalità possa portare a un modello più potente, anche per la regressione. Illustrano questo punto mostrando come l'aggiunta di una variabile al quadrato a un modello di regressione lineare si traduca in una parabola che si adatta meglio ai dati. Il relatore consiglia anche su come affrontare lo squilibrio di classe, suggerendo di manipolare il training set attraverso tecniche come il sovracampionamento o l'aumento dei dati. Infine, introducono l'argomento della normalizzazione e forniscono un esempio motivante di come le differenze nelle unità possono influenzare le prestazioni di un modello di classificazione del vicino più prossimo K.

  • 00:40:00 In questa sezione del video, il relatore discute l'importanza della normalizzazione dei dati per gli algoritmi di machine learning. Spiegano tre modi per normalizzare i dati: normalizzazione, standardizzazione e sbiancamento. La normalizzazione comporta la compressione dell'intervallo di dati nell'intervallo compreso tra zero e uno, mentre la standardizzazione implica l'assicurarsi che la media dei dati sia zero e la varianza sia uno. Il terzo metodo, lo sbiancamento, è una normalizzazione leggermente migliore che tiene conto di tutte le correlazioni nei dati e le riduce a una sfera nello spazio delle caratteristiche. Il relatore spiega che lo sbiancamento è utile per la riduzione della dimensionalità.

  • 00:45:00 In questa sezione, il relatore spiega il concetto di sbiancamento dei dati, che implica la trasformazione dei dati in un insieme di funzionalità non correlate. L'oratore utilizza l'algebra lineare per dimostrare come scegliere una base diversa per i dati selezionando altri due vettori per un nuovo sistema di assi. Il punto blu, originariamente rappresentato come (3,2) nel sistema di coordinate standard, viene ricalcolato rispetto al nuovo sistema di base e ha nuove coordinate di (2.5, 0.5). Ciò porta alla notazione generalizzata di incollare i vettori di base in una matrice come colonne.

  • 00:50:00 In questa sezione, il relatore discute il concetto di base e come può essere utilizzato per trasformare tra diverse basi con l'aiuto della matrice trasposta. L'operazione inversa della matrice è costosa e numericamente imprecisa, quindi è preferita una base ortonormale in cui i vettori di base hanno lunghezza uno e sono ortogonali tra loro. Il relatore spiega quindi come la distribuzione normale multivariata sia una generalizzazione della distribuzione normale a più dimensioni e possa aiutare nell'interpretazione dei dati. La media della distribuzione è un vettore e la varianza diventa una matrice di covarianza in una distribuzione normale multivariata. Il relatore spiega anche brevemente la formula per calcolare la covarianza campionaria per adattare una distribuzione normale multivariata ai dati.

  • 00:55:00 In questa sezione viene introdotto il concetto di distribuzione normale multivariata (MVN), che ha media zero, varianza uno in ogni direzione, nessuna correlazione e può essere trasformata in qualsiasi altra distribuzione MVN. Il processo di sbiancamento dei dati viene ulteriormente spiegato in cui la trasformazione di una distribuzione MVN viene invertita per trasformare i dati in una distribuzione normale per la normalizzazione. La sezione si concentra anche sulla riduzione della dimensionalità dei dati ad alta dimensionalità attraverso l'analisi delle componenti principali (PCA), un metodo che esegue sia lo sbiancamento che la riduzione della dimensionalità. Trovando nuove funzionalità derivate da funzionalità originali che conservano quante più informazioni rilevanti possibile, PCA proietta i dati in uno spazio dimensionale inferiore conservando le informazioni essenziali dai dati originali.

  • 01:00:00 In questa sezione del video, il relatore discute l'analisi dei componenti principali (PCA) e come ordina le dimensioni in base alla varianza acquisita, consentendo un'utile ricostruzione dei dati e la riduzione della dimensionalità. Il presentatore spiega gli autovettori e come sono vettori speciali la cui direzione non cambia sotto una trasformazione, e come possono essere usati per trovare la varianza massima nei dati originali. Il presentatore spiega anche come trovare gli autovettori per una matrice diagonale e come ruotare una matrice per allineare gli autovettori lungo l'asse.

  • 01:05:00 In questa sezione impareremo a utilizzare l'analisi dei componenti principali (PCA) per preelaborare i dati per gli algoritmi di machine learning. Per prima cosa intendiamo centrare i dati per rimuovere la traduzione, quindi calcolare la covarianza del campione e scomporla usando la decomposizione di eigen. Quindi ritrasformiamo i dati in uno spazio normale multivariato standard (MVN) e scartiamo tutte le caratteristiche tranne le prime K. Gli autovettori ottenuti dalla decomposizione si allineano con l'asse, permettendoci di mantenere la direzione con la massima varianza. Ciò si traduce in una significativa riduzione della dimensionalità, consentendo migliori prestazioni di machine learning.

  • 01:10:00 In questa sezione, il relatore spiega il concetto di riduzione della dimensionalità utilizzando l'analisi delle componenti principali (PCA). L'obiettivo della riduzione della dimensionalità è mantenere l'invarianza conservando quanti più dati possibile. Massimizzare la varianza nella proiezione equivale a minimizzare l'errore di ricostruzione, che è una funzione di perdita utilizzata per misurare la differenza tra i dati originali e quelli proiettati. Il primo componente principale è la linea che cattura la maggior varianza e i seguenti componenti catturano la varianza rimanente. L'utilizzo delle prime K componenti principali fornisce una buona ricostruzione dei dati.

  • 01:15:00 In questa sezione, il relatore discute l'utilizzo dell'analisi dei componenti principali (PCA) nelle applicazioni di ricerca. Una di queste applicazioni è nel campo dell'antropologia, dove può essere utilizzata per quantificare e dimostrare le caratteristiche delle ossa fossilizzate. Effettuando misurazioni di diversi aspetti dell'osso e creando uno spazio ad alta dimensione di caratteristiche per il confronto, la PCA può quindi essere utilizzata per ridurre le dimensioni dei dati fino a due componenti principali, consentendo il raggruppamento visivo e l'identificazione dei valori anomali. Inoltre, la PCA è stata applicata allo studio del DNA nelle popolazioni europee, in cui il DNA viene trasformato in un vettore di caratteristiche ad alta dimensione e la PCA può essere utilizzata per rivelare modelli e cluster nei dati.

  • 01:20:00 In questa sezione, il relatore discute come l'analisi dei componenti principali (PCA) può essere applicata a un set di dati di caratteristiche del DNA e come può essere utilizzata per determinare la forma approssimativa dell'Europa. Osservando i due componenti principali di un set di dati del DNA colorato per paese di origine, è possibile determinare quanto a nord oa ovest/est viveva una persona oi suoi antenati. PCA è spesso visto come un metodo magico a causa della sua capacità di fornire approfondimenti su set di dati complessi, come gli autovettori di un set di dati di volti applicati in eigenfaces. Calcolando la media di un set di dati di volti e osservando gli autovettori della covarianza di quel set di dati, PCA può fornire indicazioni in uno spazio ad alta dimensione delle immagini dei volti.

  • 01:25:00 In questa sezione, il relatore discute il concetto di Eigenfaces e come l'analisi dei componenti principali (PCA) aiuta nella pulizia dei dati. Aggiungendo una piccola quantità del primo autovettore alla faccia media, l'oratore dimostra come questo corrisponda all'età nei tratti del viso. Il secondo e il quarto autovettore corrispondono rispettivamente all'illuminazione e al genere. Il quinto autovettore indica quanto è aperta o chiusa la bocca. Gli autovettori fungono da basi per il nuovo spazio e la compressione dei dati a 30 dimensioni fornisce una buona rappresentazione del volto originale. Il punto di flesso si verifica intorno a 30 autovettori, dove il resto dei dettagli può essere scartato, mantenendo la maggior parte delle informazioni richieste per l'apprendimento automatico.
 

Lezione 5 Probabilità 1: Entropia, (Naive) Bayes, Perdita di entropia incrociata (MLVU2019)



5 Probabilità 1: entropia, Bayes (ingenuo), perdita di entropia incrociata (MLVU2019)

Il video copre vari aspetti della teoria della probabilità e la sua applicazione nell'apprendimento automatico. L'oratore introduce l'entropia, che misura la quantità di incertezza in un sistema, e spiega come è correlata all'ingenuo Bayes e alla perdita di entropia incrociata. Vengono inoltre discussi i concetti di spazio campionario, spazio degli eventi, variabili casuali e probabilità condizionata. Il teorema di Bayes è spiegato e considerato un concetto fondamentale nell'apprendimento automatico. Il video copre anche il principio di stima della massima verosimiglianza e la probabilità bayesiana, nonché l'uso di codice senza prefisso per simulare le distribuzioni di probabilità. Infine, il relatore discute i classificatori discriminativi rispetto a quelli generativi per la classificazione binaria, incluso il classificatore Naive Bayes.

La seconda parte spiega il concetto di calcolo delle probabilità per un nuovo punto appartenente a una particolare classe utilizzando un modello di distribuzione normale multivariata. Discute l'indipendenza condizionale delle caratteristiche per adattare in modo efficiente le distribuzioni di probabilità per un classificatore e la necessità di livellare o ottimizzare le pseudo-osservazioni per gestire zero istanze. Il relatore introduce anche la perdita di entropia come una funzione di perdita più efficace per i classificatori lineari rispetto all'accuratezza e discute la capacità della funzione di perdita di entropia incrociata di misurare la differenza tra dati previsti e dati effettivi, con la funzione sigmoidea che collassa le simmetrie della funzione per semplificarla. Infine, il video suggerisce che la prossima lezione coprirà la perdita SVM come funzione di perdita finale.

  • 00:00:00 In questa sezione del video sulla probabilità, il relatore inizia consigliando agli studenti di partecipare a un progetto di gruppo se non l'hanno già fatto, e di non preoccuparsi troppo di trovare un gruppo perfetto ma piuttosto di trarre il meglio da cosa ottengono. Il relatore introduce quindi la teoria della probabilità e l'entropia, che è strettamente correlata e utile nell'apprendimento automatico. Spiega che l'entropia, in questo contesto, significa misurare la quantità di incertezza o casualità in un sistema. Il concetto di entropia è importante nell'apprendimento automatico e viene utilizzato per spiegare l'ingenuo Bayes e la perdita di entropia incrociata, che sarà discussa più avanti nella lezione. La lezione tratterà anche le basi della classificazione e dei classificatori lineari.

  • 00:05:00 In questa sezione, il relatore discute le funzioni di perdita e introduce la perdita di entropia incrociata, che è considerata un'ottima funzione di perdita. Presentano un esempio relativo al gioco d'azzardo online di un adolescente e spiegano come funzionano le probabilità in questo scenario. Il relatore tocca anche il concetto di frequenza e probabilità e come si applica nelle situazioni della vita reale.

  • 00:10:00 In questa sezione, l'oratore discute la differenza tra probabilità soggettive e oggettive. Spiegano che la probabilità soggettiva si basa su credenze ed esperienze personali, mentre la probabilità oggettiva si basa sulla probabilità frequentista, che deriva da esperimenti e osservazioni. Il relatore osserva che nell'apprendimento automatico l'obiettivo è ridurre al minimo la perdita sul set di test in base al set di addestramento e che la teoria della probabilità viene utilizzata come struttura matematica per descrivere le probabilità. Il relatore introduce anche il concetto di variabili casuali e spazio campionario.

  • 00:15:00 In questa sezione, il video spiega i concetti di spazio campionario e spazio degli eventi nella teoria della probabilità. Lo spazio campionario comprende tutti i possibili risultati, in cui non esistono due risultati con un altro risultato tra di loro. Lo spazio degli eventi include un insieme di sottoinsiemi dello spazio campionario, che consente di identificare le probabilità di vari eventi, come ottenere un numero pari o dispari con un lancio di dadi. Le probabilità possono essere assegnate a spazi campionari discreti e continui. Inoltre, il video menziona l'utilizzo di variabili e funzionalità casuali per la modellazione di set di dati probabilistici, che aiuta a spiegare la probabilità dei risultati degli eventi.

  • 00:20:00 In questa sezione, il relatore introduce i concetti di base della probabilità, comprese le variabili casuali e la loro rappresentazione come funzioni. L'oratore spiega che una variabile casuale può essere rappresentata da un singolo numero e istanziata come variabile. Discutono anche dell'uso della notazione uguale e di come le variabili casuali possono essere riferite dalla funzione o da un valore specifico. Il relatore fa poi un esempio di spazio degli eventi definito da due variabili casuali, X e Y, e introduce il concetto di probabilità condizionata.

  • 00:25:00 In questa sezione, il relatore discute le probabilità e come possono essere riscritte e proiettate per determinare la probabilità di diversi eventi. Spiegano che se due variabili sono indipendenti, conoscere il valore di una non cambierà la probabilità dell'altra. L'oratore utilizza quindi l'esempio di due persone che vivono in parti diverse di una città per illustrare come la probabilità che una persona sia puntuale al lavoro non influisca sulla probabilità che l'altra persona sia puntuale. Tuttavia, notano che esiste una rara possibilità in cui le probabilità delle due persone potrebbero essere collegate.

  • 00:30:00 In questa sezione, il relatore discute la probabilità e il teorema di Bayes, che è un concetto fondamentale nell'apprendimento automatico. L'oratore utilizza un esempio di ingorgo per spiegare l'indipendenza condizionale e come sapere che Alice è in ritardo al lavoro aumenta leggermente la convinzione che anche Bob sia in ritardo. Il teorema di Bayes è considerato la formula più importante nel campo e spiega come trasformare la probabilità condizionata. Infine, il relatore spiega come l'apprendimento automatico adatta una distribuzione di probabilità ai dati e come l'approccio frequentista determina i parametri migliori date le informazioni disponibili.

  • 00:35:00 In questa sezione, il relatore discute il principio di stima della massima verosimiglianza e la probabilità bayesiana. Il principio di stima della massima verosimiglianza si basa sul presupposto che i punti dati osservati siano indipendenti e la probabilità di questi punti massimizza il tasso di verosimiglianza. La probabilità bayesiana, d'altra parte, implica l'aggiornamento delle proprie convinzioni sulla base di conoscenze precedenti e dati osservati. La probabilità bayesiana utilizza un compromesso tra due parti, frequentisti e bayesiani, per esprimere la distribuzione delle credenze, che funziona bene nell'apprendimento automatico.

  • 00:40:00 In questa sezione, il relatore discute il concetto di distribuzioni di probabilità e come simularle senza un albero che abbia un unico risultato. L'uso di un codice senza prefisso o di un albero dei prefissi è presentato come un mezzo per generare un'ampia gamma di distribuzioni di probabilità. Il relatore spiega che questo approccio può essere utilizzato per la comunicazione e per trovare la probabilità di determinati risultati in vari scenari. Viene anche fornito l'esempio dell'utilizzo di una moneta per simulare un dado a 3 facce e ottenere una distribuzione uniforme.

  • 00:45:00 In questa sezione, l'oratore discute una famiglia di distribuzioni di probabilità che possono essere descritte utilizzando un algoritmo di codice senza prefisso. Questo algoritmo, noto come Naive Bayes, è efficiente per i dati e fornisce una buona connessione tra i metodi di descrizione e la distribuzione di probabilità. L'uso principale di questo algoritmo è spiegare l'entropia, che è la misura dell'incertezza in una variabile casuale. Il relatore spiega come questo algoritmo può essere utilizzato per codificare i dati da una certa distribuzione di probabilità e ottenere una distribuzione di probabilità che si adatti bene ai dati forniti.

  • 00:50:00 In questa sezione, il relatore discute l'entropia e la perdita di entropia incrociata come misure dell'uniformità dei dati. L'entropia può essere utilizzata per rappresentare l'uniformità dei dati tra diversi elementi, con un'entropia più piccola che indica dati più uniformi. L'entropia incrociata viene utilizzata per rappresentare la lunghezza del codice prevista quando viene utilizzato un codice diverso ed è sempre uguale o maggiore dell'entropia, con un valore minimo pari a zero. Queste misure aiutano a comprendere la distanza tra due distribuzioni di probabilità e forniscono una base teorica per analizzare i set di dati come una sequenza di variabili casuali.

  • 00:55:00 In questa sezione, il relatore spiega i concetti di classificatori discriminativi e generativi per la classificazione binaria. La classificazione discriminativa discrimina semplicemente le istanze, mentre la classificazione generativa modella la probabilità dei dati data una classe. I classificatori generativi vanno dal classificatore ottimale di Bayes al classificatore Naive Bayes, che fa un presupposto di indipendenza condizionale ed è considerato non corretto ma funziona ancora molto bene ed è economico.

  • 01:00:00 In questa sezione, il relatore spiega come calcolare la probabilità di un nuovo punto appartenente a una particolare classe utilizzando un modello di distribuzione normale multivariata. Spiegano che stimando le distribuzioni di probabilità e compilandole, possiamo assegnare probabilità a ciascuna classe in base alla probabilità più alta. Tuttavia, quando si ha a che fare con un'elevata dimensionalità, potrebbero non esserci dati sufficienti per adattare accuratamente il modello, nel qual caso è possibile utilizzare invece una distribuzione categoriale per modellare le caratteristiche con la distribuzione di Bernoulli.

  • 01:05:00 In questa sezione viene spiegato il concetto di indipendenza condizionale delle caratteristiche, che consente l'adattamento efficiente della distribuzione di probabilità per un classificatore. Tuttavia, un singolo valore di probabilità pari a zero può influire notevolmente sull'accuratezza del classificatore, che può essere risolto livellando o regolando le pseudo-osservazioni per garantire che vi sia almeno un'osservazione per ciascuna caratteristica. Ciò garantisce che la probabilità non diventi mai zero e che l'accuratezza del classificatore non venga influenzata negativamente.

  • 01:10:00 In questa sezione, il relatore discute i modi per evitare risultati distorti nei modelli di machine learning assicurandosi che esista almeno un'istanza con un valore per ogni possibile classe e funzionalità. Riassumono che i classificatori generativi hanno presupposti di indipendenza che funzionano bene con set di dati grandi e ad alta dimensione, ma richiedono il livellamento di Laplace per gestire zero istanze. Il relatore introduce il concetto di perdita di entropia come funzione di perdita più efficace per i classificatori lineari rispetto all'accuratezza.

  • 01:15:00 In questa sezione, il relatore spiega come invece di assegnare valori ai modelli di classificazione, le probabilità possono essere assegnate utilizzando la funzione sigmoidea logistica. Il modello lineare è ancora utilizzato, ma è compresso nell'intervallo compreso tra 0 e 1. Questo metodo consente un'interpretazione più accurata delle istanze positive e negative.

  • 01:20:00 In questa sezione, il relatore spiega la funzione di perdita di entropia incrociata, che viene utilizzata per misurare la differenza tra ciò che prevede un modello di apprendimento automatico e ciò che dicono i dati. La funzione di perdita è progettata per massimizzare la dimensione delle linee tra le previsioni e i dati, con l'obiettivo di spingere verso l'alto le linee blu e minimizzare il logaritmo negativo di tutte le linee per massimizzare la dimensione di queste linee.

  • 01:25:00 In questa sezione, il relatore discute come funziona la funzione di perdita di entropia incrociata punendo i residui più grandi più dei residui piccoli. La funzione di P rispetto a M mostra anche che le barre piccole contribuiscono molto alla perdita, il che equivale alla quadratura nei modelli precedenti. L'oratore discute quindi la derivata del logaritmo e come il moltiplicatore costante è incluso nell'equazione. Per semplificare la matematica, il moltiplicatore costante può essere ignorato o il logaritmo binario può essere definito in termini di logaritmo naturale.

  • 01:30:00 In questa sezione, il relatore discute la perdita di entropia incrociata e il ruolo svolto dalla funzione sigmoidea nella sua semplificazione. Le simmetrie della funzione sigmoidea consentono il collasso della funzione di perdita, rendendola infine più semplice. Il sigmoide logistico, se applicato alla regressione logistica, può gestire senza problemi punti lontani dal limite decisionale. La regressione logistica può portare a molteplici buone soluzioni nella regione dell'incertezza.

  • 01:35:00 In questa sezione, il docente spiega il concetto di probabilità e classifica i punti come blu o rossi in base ai loro valori di probabilità. Suggerisce inoltre che la prossima lezione coprirà la perdita SVM come funzione di perdita finale.
 

Lezione 6 Modelli lineari 2: reti neurali, backpropagation, SVM e metodi kernel (MLVU2019)



6 Modelli lineari 2: reti neurali, backpropagation, SVM e metodi kernel (MLVU2019)

Questa prima parte del video sui modelli lineari si concentra sull'introduzione della non linearità nei modelli lineari ed esplora due modelli che si basano sull'espansione dello spazio delle funzionalità: le reti neurali e le macchine vettoriali di supporto (SVM). Per le reti neurali, il relatore spiega come impostare una rete per problemi di regressione e classificazione utilizzando funzioni di attivazione come sigmoid o softmax. La lezione approfondisce quindi la retropropagazione, un metodo utilizzato per calcolare i gradienti utilizzati nelle reti neurali. Per le SVM, il relatore introduce il concetto di massimizzare il margine ai punti più vicini di ogni classe e dimostra come può essere espresso come un problema di ottimizzazione vincolata. Il video fornisce una chiara introduzione ai principi delle reti neurali e delle SVM, raccomandando agli studenti di concentrarsi sulla prima metà della lezione come punto di partenza per il resto del corso.

La seconda parte del video copre gli argomenti delle macchine a vettori di supporto (SVM), SVM a margine morbido, trucchi del kernel e differenze tra SVM e reti neurali. Gli SVM con margine morbido vengono introdotti come un modo per gestire i dati non linearmente separabili, consentendo di aggiungere un valore di penalità ai punti che non rispettano i vincoli di classificazione. Il trucco del kernel consente il calcolo del prodotto scalare in uno spazio dimensionale superiore, espandendo lo spazio delle caratteristiche per aumentare significativamente la potenza del modello. Vengono spiegate le differenze tra SVM e reti neurali e viene discusso il passaggio alle reti neurali dovuto alla loro capacità di eseguire tipi di classificazione più avanzati, anche se non completamente compresi.

  • 00:00:00 In questa sezione, il relatore discute come apprendere le funzioni non lineari utilizzando modelli lineari aggiungendo funzionalità extra che sono funzioni derivate dalle funzionalità utilizzate, come spiegato in precedenza la scorsa settimana. Il relatore si concentra quindi su due modelli, vale a dire le reti neurali e le macchine vettoriali di supporto, che si basano sull'espansione dello spazio delle funzionalità. Le reti neurali richiedono un estrattore di funzionalità apprendibile mentre le macchine vettoriali di supporto utilizzano il trucco del kernel per espandersi in uno spazio di funzionalità più ampio. La conferenza spiega la backpropagation, un metodo specifico per il calcolo dei gradienti utilizzato nelle reti neurali, nonché la funzione di perdita della cerniera utilizzata nelle macchine vettoriali di supporto. Il relatore consiglia di concentrarsi sulla prima metà della lezione per una migliore comprensione dei modelli lineari in quanto serve come punto di partenza per il resto del corso.

  • 00:05:00 In questa sezione, il relatore discute la storia delle reti neurali, risalendo alla fine degli anni '50 e all'inizio degli anni '60, quando i ricercatori iniziarono a trarre ispirazione dal cervello umano per sviluppare sistemi di intelligenza artificiale. Hanno creato una versione semplificata di un neurone chiamato perceptron che ha funzionato come modello lineare ed è stato utilizzato per la classificazione. Tuttavia, la cosa interessante del cervello è il modo in cui un grande gruppo di neuroni lavora insieme, quindi i ricercatori hanno iniziato a concatenare questi perceptron insieme per costruire una rete.

  • 00:10:00 In questa sezione della lezione sui modelli lineari, il relatore spiega come introdurre la non linearità in una rete di perceptron per avere il potere di apprendere funzioni normalmente non lineari e modelli più interessanti. Un modo per farlo è usare una funzione sigmoidea, che prende un intervallo di numeri e li comprime nell'intervallo da 0 a 1. Concatenando insieme perceptron con funzioni di attivazione non lineari in una rete feed-forward o perceptron multistrato, può trasformarlo in un modello di regressione o classificazione, con ogni riga che rappresenta un parametro della rete che necessita di messa a punto. Il processo di adattamento di questi numeri per risolvere un problema di apprendimento è chiamato backpropagation, che sarà discusso più avanti nella lezione.

  • 00:15:00 In questa sezione del video intitolata "6 Linear Models 2: Neural Networks, Backpropagation, SVMs and Kernel methods (MLVU2019)", il relatore spiega come impostare una rete neurale per problemi di regressione e classificazione. Per la regressione, viene impostata una rete con un livello nascosto e nessuna attivazione sul livello di output, seguita dall'applicazione di una funzione di perdita di regressione. Per la classificazione binaria, viene aggiunta un'attivazione sigmoidea allo strato di output e le probabilità ottenute possono essere interpretate come la probabilità che l'input sia positivo. Per la classificazione multiclasse, viene aggiunta un'attivazione softmax, che crea un nodo di output per ogni classe e normalizza le probabilità in modo che si sommino a uno. La funzione di perdita viene utilizzata per addestrare i pesi della rete finché la perdita di entropia incrociata non viene ridotta al minimo.

  • 00:20:00 In questa sezione, il relatore discute il principio di base delle reti neurali, che utilizza la discesa del gradiente. Tuttavia, poiché il calcolo della perdita sull'intero set di dati può essere costoso, viene utilizzata la discesa del gradiente stocastico, in cui viene utilizzato un solo esempio nel set di dati per calcolare la perdita, ottimizzando il modello per quel singolo esempio. La discesa del gradiente stocastico aggiunge casualità e crea un po' di casualità, aiutando a sfuggire ai minimi locali. L'oratore aggiunge quindi uno strato nascosto nel parco giochi del fiore dell'attenzione per la classificazione, dove viene mostrata la classificazione probabilistica. Tuttavia, il modello non sembra funzionare bene su questo particolare problema.

  • 00:25:00 In questa sezione del video, il relatore discute le funzioni di attivazione per i modelli lineari, confrontando le funzioni di attivazione sigmoidea e ReLU. La funzione ReLU adatta i dati più velocemente e il suo limite decisionale è lineare a tratti, mentre il sigmoid crea un limite decisionale sinuoso. Il relatore consiglia di sperimentare livelli aggiuntivi per rendere il modello più potente, sebbene la maggiore complessità renda più difficile l'addestramento. Il video approfondisce quindi la backpropagation, che consente ai computer di calcolare in modo efficiente i gradienti utilizzando la differenziazione simbolica senza il costo esponenziale. Il relatore spiega che l'idea di base è descrivere la funzione come una composizione di moduli e applicare ripetutamente la regola della catena.

  • 00:30:00 In questa sezione, l'algoritmo di propagazione all'indietro viene spiegato come un metodo per prendere un dato modello e scomporlo in una catena di moduli per calcolare il gradiente globale per un particolare input moltiplicando i gradienti di ciascun sottomodulo insieme. Questo processo inizia elaborando simbolicamente la derivata di ogni modulo rispetto al suo input usando carta e penna, per poi passare al calcolo numerico. Viene fornito un semplice esempio per illustrare l'idea di comporre una funzione come sequenza di moduli, utilizzando derivate locali e applicando ripetutamente la regola della catena per derivare la derivata globale. I fattori risultanti sono indicati rispettivamente come derivate globali e locali.

  • 00:35:00 In questa sezione, il video discute la retropropagazione scomponendo il sistema in moduli e applicandolo a una rete neurale a due strati con attivazione sigmoidea. L'obiettivo è trovare la derivata della funzione di perdita rispetto ai pesi, non all'input. Il primo modulo è la funzione di perdita, seguita da Y, che è una funzione di attivazione lineare. Ogni valore nascosto ottiene un modulo con la propria funzione di attivazione, in questo caso una funzione sigmoide, applicata ad esso. H2 primo è l'input lineare della funzione di attivazione. Infine, il video afferma che è importante riconoscere la differenza tra la derivata del modello rispetto al suo input e la derivata della funzione di perdita rispetto ai pesi.

  • 00:40:00 In questa sezione, il relatore discute i gradienti locali di ciascun modulo, in particolare la derivata della perdita rispetto a V2 e Y su V2. La derivata di L su Y è semplificata usando la regola della catena e risulta in 2 volte Y meno T, che è solo l'errore al quadrato della norma. Y su V2 è una funzione lineare e la derivata è semplicemente H2. Quando si applica la discesa del gradiente al parametro z2, si aggiorna sottraendo l'errore moltiplicato per l'attivazione di H2. L'oratore fornisce un'analogia di una rete neurale come un governo con il Primo Ministro al vertice, ministri nel secondo livello e dipendenti pubblici nel primo livello. I ministri ascoltano i funzionari e gridano più forte per certe decisioni, interpretate come fiducia positiva, mentre tacere significa fiducia negativa. Il Primo Ministro regola il proprio livello di fiducia in base all'errore e lo propaga lungo la rete per gli aggiornamenti.

  • 00:45:00 In questa sezione, il relatore spiega come funziona la retropropagazione assegnando la responsabilità a tutti i pesi per l'errore nell'output del modello. Usa un'analogia artificiosa per dimostrare che l'errore globale è calcolato e moltiplicato per il livello di fiducia nei ministri che hanno contribuito al problema. L'oratore mostra quindi come la funzione di attivazione deve essere tenuta in considerazione durante l'aggiornamento del livello di fiducia. La backpropagation essenzialmente propaga l'errore lungo la rete per aggiornare i pesi del modello. Il relatore riassume che le reti neurali sono una combinazione di funzioni lineari e non lineari e la versione più semplice è una rete feed-forward.

  • 00:50:00 In questa sezione, il video discute la storia e le sfide con le reti neurali e come l'interesse nei loro confronti è diminuito a causa della loro difficoltà nell'addestramento e dell'incertezza legata alla modifica dei loro parametri. Le macchine vettoriali di supporto, che hanno una superficie di perdita convessa che consente un feedback immediato sul funzionamento del modello, sono diventate più popolari a causa della mancanza di incertezza implicata nell'addestramento. Il video introduce quindi le macchine vettoriali di supporto come soluzione al problema di più modelli che si comportano in modo diverso su dati simili, utilizzando il concetto di massimizzare il margine ai punti più vicini e chiamandoli vettori di supporto.

  • 00:55:00 In questa sezione viene introdotto il concetto di Support Vector Machine (SVM) come metodo per trovare un limite di decisione per un problema di classificazione binaria. L'algoritmo SVM mira a trovare una linea che massimizzi il margine, ovvero la distanza tra il confine di decisione e i punti più vicini di ciascuna classe. L'obiettivo dell'SVM può essere espresso come un problema di ottimizzazione vincolata, in cui l'obiettivo è massimizzare il margine soddisfacendo i vincoli che assicurano che l'output del modello sia +1 per vettori di supporto positivi e -1 per vettori di supporto negativi. L'SVM può essere ulteriormente semplificato introducendo un parametro etichetta che codifica se un punto è positivo o negativo, consentendo di ridurre i due obiettivi a un unico obiettivo che può essere scritto interamente in termini di parametri dell'iperpiano.

  • 01:00:00 In questa sezione, il relatore discute il concetto di massimizzare il margine tra i limiti decisionali nelle macchine a vettori di supporto (SVM). La dimensione del margine dipende dalla lunghezza di un vettore, che può essere determinata dai parametri del modello. L'obiettivo è massimizzare questo margine pur rispettando alcuni vincoli. Tuttavia, se i dati non sono linearmente separabili, il modello deve essere allentato aggiungendo un parametro slack, che consente al modello di violare determinati vincoli per trovare un adattamento migliore. Ogni punto dati ha il proprio parametro di slack, che può essere impostato su zero o su un valore positivo.

  • 01:05:00 In questa sezione, il docente discute il concetto di SVM a margine morbido, che consente di gestire insiemi di dati che non sono linearmente separabili aggiungendo un valore di penalità ai punti che non rispettano i vincoli di classificazione. Questa penalità è espressa attraverso una funzione di perdita che può essere minimizzata utilizzando il metodo della discesa del gradiente. Il docente presenta anche l'opzione di riscrivere la funzione di perdita in termini di vettori di supporto come alternativa al trucco del kernel, che consente di risolvere il problema di ottimizzazione vincolata. La funzione di perdita della cerniera è presentata come un modo per implementare questo sistema di penalità.

  • 01:10:00 In questa sezione, l'istruttore discute diverse funzioni di perdita nell'apprendimento automatico come l'accuratezza, i minimi quadrati, la perdita di entropia incrociata e la perdita SVM del margine morbido. Il soft margin SVM funziona massimizzando il margine tra un confine decisionale e i punti più vicini con penalità. Tuttavia, poiché questa funzione di ottimizzazione ha vincoli e un punto di sella, non può essere efficacemente risolta dalla discesa del gradiente. L'istruttore introduce il metodo dei moltiplicatori di LaGrange, che aiuta a riscrivere il problema di ottimizzazione vincolata in una forma molto più semplice senza eliminare i vincoli. Utilizzando questo metodo, l'istruttore mostra come è possibile riscrivere la funzione di ottimizzazione SVM del margine morbido, che consente l'applicazione del trucco del kernel.

  • 01:15:00 In questa sezione, il relatore discute le macchine vettoriali di supporto (SVM) e il trucco del kernel, che è un modo per sostituire i prodotti scalari di coppie di punti in un set di dati con altri prodotti scalari. Gli SVM funzionano penalizzando la dimensione degli alfa, indicando quali punti sono vettori di supporto e sommando tutte le coppie di punti nel set di dati. Il trucco del kernel consente il calcolo del prodotto scalare in uno spazio dimensionale superiore, portando a un modello molto più potente a un costo simile a quello del calcolo di un modello lineare. Viene fornito un esempio in cui le funzionalità vengono espanse aggiungendo tutti i prodotti incrociati, il che aumenta notevolmente lo spazio delle funzionalità e consente modelli molto più potenti.

  • 01:20:00 In questa sezione viene discusso il concetto di utilizzo delle funzioni del kernel per ottenere spazi di caratteristiche ad alta dimensione per la classificazione. Utilizzando il prodotto scalare ed espandendolo a potenze superiori, lo spazio delle caratteristiche può essere ampliato per includere prodotti incrociati e spazi delle caratteristiche infinitamente dimensionali, il tutto mantenendo un basso costo. Questo metodo, tuttavia, è soggetto a overfitting e può essere complicato da implementare. L'uso delle funzioni del kernel può anche essere esteso a dati non numerici, come sequenze di testo o proteine, dove l'estrazione diretta delle caratteristiche non è semplice. Anche se le funzioni del kernel potrebbero non essere alla moda al momento, possono comunque essere utili in alcuni casi.

  • 01:25:00 In questa sezione vengono discusse le differenze tra le macchine a vettori di supporto (SVM) e le reti neurali. Le SVM sono limitate in quanto il loro tempo di addestramento è quadratico, mentre le reti neurali richiedono solo un certo numero di passaggi sui dati. Tuttavia, gli SVM possono ancora essere addestrati con la discesa del gradiente, ma questo metodo perde di vista il trucco del kernel. Intorno al 2005, l'addestramento degli SVM è diventato sempre più difficile a causa della quantità di dati coinvolti, portando alla rinascita delle reti neurali. Inoltre, la cultura all'interno dell'apprendimento automatico si è spostata verso l'accettazione del fatto che le reti neurali funzionino, anche se il ragionamento alla base del loro successo non è ancora del tutto compreso. In definitiva, questo cambiamento ha consentito l'uso di modelli di rete neurale per eseguire tipi di classificazione più avanzati, che saranno discussi nella sezione seguente.
 

Deep learning 1: Backpropagation per tensori, reti neurali convoluzionali (MLVU2019)



7 Deep learning 1: Backpropagation per tensori, reti neurali convoluzionali (MLVU2019)

Questa prima parte del video su deep learning e backpropagation copre diversi argomenti, tra cui le basi di un framework di deep learning, i tensori, l'algoritmo di backpropagation e il problema del gradiente evanescente. Il relatore spiega come le reti neurali possono essere implementate utilizzando una sequenza di operazioni di algebra lineare e come l'algoritmo di backpropagation può essere utilizzato per definire un modello come composizione di funzioni. Il video spiega anche come calcolare le derivate utilizzando operazioni con matrici ed esplora le soluzioni al problema del gradiente di fuga, come l'inizializzazione del peso e l'uso di ReLU come funzione di attivazione. Infine, il video tocca la discesa del gradiente in mini-batch e vari ottimizzatori che possono essere utilizzati in una rete neurale complessa.

Questa seconda parte copre una serie di argomenti relativi al deep learning, inclusi algoritmi di ottimizzazione e tecniche di regolarizzazione. L'ottimizzazione di Adam viene spiegata come un popolare algoritmo per il deep learning, mentre la regolarizzazione L1 e L2 viene esplorata come metodi per prevenire l'overfitting. Viene anche discusso il potenziale delle reti neurali nell'elaborazione delle immagini, con le reti neurali convoluzionali evidenziate come un potente strumento per le attività di riconoscimento delle immagini. Il video approfondisce anche il funzionamento di queste reti e il modo in cui creano funzionalità per riconoscere immagini complesse, nonché il concetto di apprendimento end-to-end come un modo per superare i limiti del concatenamento di più moduli.

  • 00:00:00 In questa sezione del video sul deep learning, il relatore inizia ripassando i concetti discussi nella sessione precedente, come le reti neurali e il modo in cui sono organizzate a strati. Discutono quindi di come le reti neurali siano essenzialmente solo una serie di passaggi di algebra lineare, con occasionali funzioni non lineari come la funzione sigmoidea. Questo è importante perché semplifica il processo di implementazione di una rete neurale e consente un addestramento più efficiente. Il relatore osserva inoltre che le reti neurali sono cadute in disgrazia per un certo periodo perché erano difficili da addestrare, ma nella sezione successiva esamineranno come la propagazione all'indietro aiuta a superare questa sfida.

  • 00:05:00 In questa sezione, il video delinea le basi di un sistema o framework di deep learning, che richiede una comprensione del calcolo della matrice tensoriale e una rivisitazione dell'algoritmo di backpropagation. L'oratore sottolinea che, nonostante il bagaglio di reti neurali associato al deep learning, non è così speciale in quanto è solo una sequenza di operazioni di algebra lineare. Il primo passo nello sviluppo di un framework generale per le reti neurali è definire le operazioni in modo efficiente e semplice in modo che sia facile addestrarle in modo efficace. Inoltre, utilizzando unità di elaborazione grafica o schede video, le cose diventano circa 20 volte più veloci grazie alla loro efficacia nella moltiplicazione di matrici. Infine, il video delinea il resto degli argomenti che saranno trattati nella serie di conferenze, che include livelli di convoluzione, codificatori automatici e una discussione sugli aspetti filosofici dell'apprendimento profondo.

  • 00:10:00 In questa sezione, il relatore discute i tensori, una struttura di dati utilizzata per memorizzare una serie di numeri che possono essere utilizzati nel deep learning. I tensori vengono utilizzati per archiviare set di dati e devono avere lo stesso tipo di dati per tutti gli elementi, solitamente contenenti numeri in virgola mobile. Il relatore spiega come memorizzare un'immagine in un tre tensori che è una pila di tre immagini in scala di grigi, una per ogni canale di colore, e come memorizzare un set di dati di immagini in un quattro tensori aggiungendo un altro indice che itera sulle immagini in il set di dati. Infine, il relatore spiega che le funzioni o le operazioni nel deep learning sono proprio come nel linguaggio di programmazione, ma con tensori come input e output, e che anche il calcolo all'indietro, che calcola il gradiente locale, è implementato insieme al calcolo in avanti.

  • 00:15:00 In questa sezione, il video discute l'algoritmo di backpropagation e come può essere utilizzato per definire un modello di rete neurale come una composizione di funzioni. Il gradiente sull'intera rete viene calcolato come il prodotto di tutti i gradienti locali di ogni funzione e la retropropagazione viene utilizzata per propagare la perdita lungo l'intero grafo di calcolo. Il video spiega che ci sono due modi per definire il grafico di calcolo - esecuzione pigra e impaziente - e sebbene l'esecuzione lazy sia semplice, non è l'ideale per il debug o la ricerca. L'esecuzione eager è attualmente l'impostazione predefinita in framework come PyTorch e TensorFlow, in quanto consente all'utente di definire il grafico di calcolo eseguendo calcoli, semplificando il debug e la modifica del modello durante l'addestramento.

  • 00:20:00 In questa sezione, il relatore discute il grafico di calcolo e come viene costruito utilizzando variabili scalari. Fornisce quindi un esempio di come una rete neurale può essere implementata all'interno di un framework utilizzando un grafico di calcolo. Il valore di perdita viene calcolato sulla rete neurale e il processo di propagazione all'indietro viene avviato dal valore di perdita per ottenere il gradiente sui parametri della rete. Una volta ottenuto il gradiente, è possibile eseguire un passo di discesa del gradiente sottraendo un po' del gradiente dal valore.

  • 00:25:00 In questa sezione, il relatore discute due aspetti importanti della backpropagation per i sistemi di deep learning: la gestione di più percorsi di calcolo e il lavoro con i tensori. Il relatore introduce la regola della catena multivariata per la gestione dei diamanti in un grafico di calcolo in cui più percorsi portano allo stesso valore. Inoltre, il relatore spiega l'importanza di lavorare con i tensori nella backpropagation, dove tutti i valori intermedi sono tensori anziché valori scalari. L'obiettivo è calcolare le derivate in termini di operazioni matriciali, consentendo un calcolo più rapido. Il relatore dimostra come prendere la derivata di un vettore rispetto a una matrice usando un semplice esempio di una funzione che emette uno scalare il cui input è un vettore, rendendo la funzione il più semplice possibile osservando il prodotto scalare.

  • 00:30:00 In questa sezione, il relatore spiega come calcolare le derivate dei tensori utilizzando esempi di un vettore e una matrice. Il primo esempio mostra che la derivata di uno scalare rispetto a un vettore è solo un vettore di numeri, che è il gradiente. Quindi, il secondo esempio dimostra che la derivata di un vettore rispetto a una matrice è solo una matrice. Il relatore sottolinea che prendendo tutti i possibili valori e disponendoli in una matrice si ottiene la matrice originale P.

  • 00:35:00 In questa sezione, il relatore spiega come prendendo la derivata di una funzione si ottenga una matrice di possibili derivate scalari per input e output vettoriali e un tensore di derivate per input/output di ordine superiore. Tuttavia, il calcolo di questi valori intermedi può essere difficile e complicato soprattutto quando si ha a che fare con una combinazione vettore/matrice. Per semplificare questo processo, possiamo accumulare il prodotto calcolando ciascuna derivata in sequenza da sinistra a destra, piuttosto che trattare questi valori intermedi. L'oratore spiega come l'implementazione all'indietro di una funzione prenda come input la derivata della perdita rispetto al suo output.

  • 00:40:00 In questa sezione, il relatore spiega come calcolare un valore in termini di calcoli matriciali rimuovendo i prodotti intermedi. Devono calcolare la derivata su tutti gli input rispetto a tutti gli input e utilizzare la regola della catena multivariata in cui indica al percorso di calcolo di seguire e riassumere i risultati. Anche se K è un tensor di W-per-X con X prodotto scalare della I-esima riga di W con X. Alla fine, alla fine di ogni passaggio in avanti e all'indietro, ottimizzano ogni sequenza di tracciamento in modo che corrisponda alla variabile target data minimizzando il risultato della funzione di perdita .

  • 00:45:00 In questa sezione del video sull'apprendimento profondo e la retropropagazione, il relatore discute su come calcolare le derivate utilizzando la regola della catena multivariata e le operazioni con le matrici. È possibile calcolare le derivate per ciascun elemento della matrice dei pesi W e il gradiente locale per W viene derivato utilizzando il prodotto esterno dei due vettori. Lo stesso processo può essere seguito per gli altri ingressi. Il calcolo in avanti dello strato lineare viene calcolato utilizzando WX + B e il calcolo all'indietro può essere ottenuto calcolando i gradienti della perdita rispetto a W, X e B utilizzando la moltiplicazione di matrici. Tuttavia, il relatore osserva che la maggior parte dei sistemi di deep learning ha già implementato la funzione all'indietro, quindi non è necessario che gli utenti la calcolino da soli.

  • 00:50:00 In questa sezione, il relatore spiega che il problema del gradiente di scomparsa è stata la più grande battuta d'arresto per il deep learning negli anni '90. Esaminano il problema con le inizializzazioni del peso, poiché i pesi non dovrebbero essere troppo grandi o piccoli, altrimenti le funzioni di attivazione non funzioneranno in modo efficace, con il risultato che gli output saranno sempre zero. La soluzione è inizializzare i pesi della rete utilizzando valori ortogonali casuali o campioni da una distribuzione uniforme tra due valori positivi, assicurando che gli autovalori siano uno. Ciò garantisce che la media e la varianza dell'output rimangano invariate e, pertanto, la rete possa apprendere in modo efficace.

  • 00:55:00 In questa sezione, il video discute i problemi che sorgono quando si utilizzano le funzioni sigmoidee per le reti di deep learning, come il problema del gradiente evanescente, in cui i gradienti diventano sempre più piccoli e la rete non apprende. Invece, il video suggerisce di utilizzare ReLU come una funzione di attivazione più semplice, che ha una funzione identità di 1 tra input maggiori di zero e una derivata zero altrimenti, quindi il gradiente non decade. Il video introduce anche la discesa del gradiente mini-batch come una versione intermedia della discesa del gradiente regolare e stocastica, che calcola la perdita rispetto a un piccolo batch, consentendo la casualità e l'elaborazione parallela. Tuttavia, il video avverte che esiste un compromesso tra batch di dimensioni maggiori, che utilizzano la memoria della GPU e vengono eseguiti più rapidamente, e batch più piccoli, che sono più efficaci per produrre risultati ottimali. Infine, il video tocca vari ottimizzatori che utilizzano il concetto di discesa del gradiente, ma si adattano leggermente per tenere conto dei diversi gradienti che possono sorgere in una rete neurale complessa.

  • 01:00:00 In questa sezione, l'istruttore copre tre metodi per gestire minimi locali molto piccoli e appianare superfici di perdita grossolane: quantità di moto, quantità di moto di Nesterov e Adam. L'intuizione di base dietro lo slancio è trattare i gradienti come una forza - simile alla gravità - e la navigazione della superficie di perdita trattando il modello come un masso che rotola giù da una collina. Con lo slancio di Nesterov, viene aggiunta una piccola intuizione in modo tale che il passo di slancio possa essere applicato per primo e quindi il gradiente possa essere calcolato. Adam incorpora questa idea insieme all'idea che ogni parametro in un modello ha la propria superficie di perdita e preferenze per l'aggressività con cui dovrebbe muoversi in una certa direzione, quindi viene stimato un gradiente medio per dimensione nello spazio del modello e gli aggiornamenti vengono ridimensionati di conseguenza. Viene presa una media mobile esponenziale sia per il gradiente che per la varianza, che consente una sorta di influenza dal gradiente precedente che si aggiunge alla media.

  • 01:05:00 In questa sezione, il video discute gli ottimizzatori e i regolarizzatori nel deep learning. Adam è spiegato come un algoritmo di ottimizzazione che è un leggero adattamento alla discesa del gradiente che funziona bene nell'apprendimento profondo. Ha più iperparametri e le impostazioni predefinite funzionano bene. I regolarizzatori vengono quindi discussi come tecnica per prevenire l'overfitting in modelli di grandi dimensioni con molto spazio per memorizzare i dati. La regolarizzazione L2 comporta l'aggiunta di un iperparametro moltiplicato per la lunghezza del vettore tensore del peso alla perdita, che incoraggia il sistema a preferire modelli con pesi inferiori. Anche la regolarizzazione L1 segue questa idea ma calcola la distanza utilizzando la norma L1 del vettore tensore, fornendo gli angoli della superficie di perdita. Il regolarizzatore L1 preferisce soluzioni sparse in cui il sistema può rimuovere connessioni che non hanno alcun impatto sull'output.

  • 01:10:00 In questa sezione, il relatore spiega il concetto di regolarizzazione nel deep learning, che è la tecnica utilizzata per prevenire l'overfitting dei modelli. La regolarizzazione aiuta a garantire che il modello si generalizzi bene ai dati invisibili. L1 e L2 sono due tipi popolari di regolarizzazione utilizzati nel deep learning. La regolarizzazione L2 tira i modelli verso l'origine e impedisce che i pesi diventino troppo grandi, mentre la regolarizzazione L1 produce un solco lungo i bordi. Viene discusso anche il dropout, che comporta la disabilitazione casuale dei nodi nascosti durante l'addestramento e la forzatura di ogni nodo a tenere conto di più fonti di informazioni. Infine, il relatore evidenzia i risultati del deep learning, inclusa una singola rete neurale che consuma immagini e produce testo.

  • 01:15:00 In questa sezione, il video discute varie tecniche di elaborazione delle immagini utilizzando le reti neurali. Una tecnica interessante è il trasferimento di stile in cui una rete neurale può trasformare una fotografia utilizzando lo stile di un determinato dipinto. La traduzione da immagine a immagine è un'altra tecnica in cui una rete impara a generare parti mancanti di un'immagine in base all'addestramento con immagini desaturate o rilevate dai bordi. I livelli convoluzionali aiutano a rendere la rete più efficiente condividendo i pesi e riducendo lo spazio dei parametri, che è particolarmente importante per l'elaborazione delle immagini. Nel complesso, il video evidenzia l'incredibile potenziale delle reti neurali nell'elaborazione delle immagini, ma sottolinea l'importanza di progettare attentamente l'architettura basata sulla conoscenza del dominio per ottenere i migliori risultati.

  • 01:20:00 In questa sezione, il relatore spiega come funzionano le reti neurali convoluzionali, che è un tipo di rete neurale artificiale feedforward comunemente utilizzata per il riconoscimento delle immagini e le attività di classificazione. L'idea chiave alla base di queste reti è limitare il numero di parametri utilizzando pesi condivisi e riducendo la risoluzione dell'immagine utilizzando un livello di max-pooling. Sono costituiti da una serie di livelli completamente connessi seguiti da uno o più livelli di convoluzione, che utilizzano una finestra scorrevole chiamata kernel per filtrare l'immagine di input e generare l'immagine di output con canali modificati. Concatenando questi livelli di convoluzione e di max-pooling e aggiungendo alcuni livelli completamente connessi, è possibile creare una rete di classificazione delle immagini di base che produce risultati altamente accurati.

  • 01:25:00 In questa sezione, l'oratore discute la visualizzazione di cosa sta effettivamente facendo una rete neurale convoluzionale osservando i nodi in alto nella rete per vedere quale tipo di input attiva una risposta elevata. Il primo livello della rete risponde principalmente al rilevamento dei bordi, mentre il livello successivo assembla i singoli bordi in caratteristiche. Questo processo continua, costruendo progressivamente rappresentazioni e terminando con volti interi. Per esplorare ulteriormente come funziona la rete neurale, il relatore descrive l'ottimizzazione dell'input per attivare un neurone specifico, con il risultato di immagini simili ad arte astratta. Esaminando queste immagini, l'oratore è in grado di determinare a quali caratteristiche sta rispondendo il neurone, come caratteristiche simili a uccelli o cani. Infine, il relatore spiega che una delle principali differenze tra il machine learning tradizionale e il deep learning è l'idea di apprendimento end-to-end, in cui non è necessaria una pipeline e la rete può analizzare i giornali, ad esempio, ed eseguire l'elaborazione del linguaggio naturale senza un processo a più stadi.

  • 01:30:00 In questa sezione, il relatore spiega la limitazione del concatenamento di più moduli che hanno un'elevata precisione durante l'esecuzione di attività di machine learning. Gli errori cumulativi di ciascun modulo possono creare un input rumoroso per i moduli successivi, il che riduce significativamente la precisione del sistema complessivo. L'apprendimento end-to-end viene quindi introdotto come soluzione per affrontare questo problema. Invece di isolare l'addestramento per ogni modulo, l'intera pipeline viene addestrata nel suo complesso per apprendere dai dati grezzi end-to-end utilizzando un metodo di discesa del gradiente. Ciò rende l'approccio più flessibile e consente al sistema di deep learning di risolvere una gamma più ampia di problemi.
 

8 Probabilità 2: massima verosimiglianza, modelli di miscela gaussiana e massimizzazione delle aspettative (MLVU2019)



8 Probabilità 2: massima verosimiglianza, modelli di miscela gaussiana e massimizzazione delle aspettative (MLVU2019)

Questa sezione del video è incentrata sui modelli di probabilità per la stima della densità utilizzando la stima della massima verosimiglianza, le distribuzioni normali, i modelli di miscela gaussiana e l'algoritmo di massimizzazione delle aspettative. Il relatore ha spiegato il principio di massima verosimiglianza e ha mostrato la sua applicazione nella selezione del miglior modello di probabilità. Hanno esplorato le distribuzioni normali, spiegato la differenza tra probabilità e funzioni di densità di probabilità e introdotto modelli Gaussian Mixture. Il relatore ha anche discusso del metodo di campionamento da una distribuzione normale univariata e multivariata e di come il Gaussian Mixture Model aiuti a identificare diversi cluster all'interno di una popolazione. Inoltre, è stato introdotto l'algoritmo di massimizzazione delle aspettative per adattare i modelli di miscela gaussiana ai set di dati. Il relatore ha anche spiegato come formalizzare l'approccio di massimizzazione delle aspettative utilizzando l'approssimazione della funzione Q e ha dimostrato che converge a un ottimo locale.

Questo video copre gli argomenti di massima verosimiglianza, modelli di miscela gaussiana e massimizzazione delle aspettative (EM). L'oratore spiega l'algoritmo EM, la sua dimostrazione e perché converge. Discutono anche del passo M, dove massimizzano L scegliendo theta mantenendo Q fisso. L'adattamento di un modello di miscela gaussiana ai dati richiede l'uso dell'algoritmo EM e il relatore spiega le sue applicazioni come il clustering e l'analisi esplorativa e come può essere utilizzato per la classificazione adattando un modello di miscela gaussiana a ciascuna classe. Il video menziona anche l'imminente lezione sull'adattamento dei modelli di probabilità a complicate reti neurali.

  • 00:00:00 In questa sezione del video, il relatore introduce il concetto di utilizzo di modelli probabilistici per la stima della densità adattando le distribuzioni di probabilità ai dati. Si concentrano specificamente sulla stima della massima verosimiglianza e la applicano a quattro diversi modelli basati sulla distribuzione normale o gaussiana. Il video fornisce anche un esempio dell'utilizzo del principio di massima verosimiglianza per determinare quale moneta è stata utilizzata in una sequenza casuale di lancio di 12 monete, in cui una moneta è piegata e l'altra è dritta. Quindi introducono la miscela del modello gaussiano, che è un modello potente ma difficile da adattare utilizzando la massima verosimiglianza, e si tuffano nell'algoritmo di massimizzazione delle aspettative come un modo per adattare i modelli di miscela gaussiana.

  • 00:05:00 In questa sezione viene spiegato il principio di massima verosimiglianza, utilizzato nella selezione del modello per l'apprendimento automatico. Implica l'adattamento di un modello ai dati osservati per selezionare il modello con la più alta probabilità di fornire quei dati. Il logaritmo della verosimiglianza viene solitamente preso per semplicità ed è una funzione monotona che non cambierà dove la funzione raggiunge il suo punto più alto. Vengono introdotte anche le distribuzioni normali, con la media e la varianza o la deviazione standard come parametri, e vengono utilizzate in vari modelli tra cui la regressione e le distribuzioni normali multivariate. I modelli di miscela gaussiana sono anche discussi come una combinazione di più distribuzioni normali.

  • 00:10:00 In questa sezione, l'oratore discute diversi tipi di distribuzioni e l'importanza di avere una scala definita, fornita dalle normali distribuzioni. Il relatore affronta anche la differenza tra funzioni di probabilità e funzioni di densità di probabilità, sottolineando che i singoli eventi hanno una densità di probabilità e la probabilità si ottiene integrando su quella densità. Il relatore introduce quindi la formula di distribuzione normale e mostra come essa soddisfi il requisito fondamentale di avere una scala definita decadendo esponenzialmente. La formula è ulteriormente migliorata aggiungendo un termine al quadrato che accelera ancora di più il decadimento.

  • 00:15:00 In questa sezione del video, il presentatore spiega come creare una funzione di densità di probabilità della distribuzione normale attraverso il ridimensionamento e lo spostamento intorno a una funzione di base. Mostra come i punti di flesso possono essere utilizzati per posizionare la massa di probabilità dove è più necessaria e come controllare la dimensione della scala, nonché come spostare la funzione per regolare la media. Infine, discute la stima di massima verosimiglianza dei parametri per la creazione di una distribuzione normale dai dati.

  • 00:20:00 In questa sezione, il relatore discute la stima di massima verosimiglianza e la sua applicazione per trovare il punto più alto in uno spazio di probabilità. Presentano un obiettivo per massimizzare la somma del logaritmo delle probabilità per i parametri di una distribuzione gaussiana 1D. Quindi prendono la derivata rispetto alla media e la risolvono per il massimo. Scoprono che lo stimatore di massima verosimiglianza per la media di una distribuzione normale è solo la media dei dati e lo stesso approccio può essere applicato per trovare la deviazione standard per tutte queste funzioni. Il relatore menziona anche l'esistenza di una soluzione analitica per trovare l'ottimo.

  • 00:25:00 In questa sezione, il video discute il presupposto della normalità nella regressione dei minimi quadrati. Il modello presuppone che i dati vengano generati aggiungendo un po' di rumore a una linea e la distribuzione di probabilità dei dati può essere considerata come una distribuzione normale. Per massimizzare la verosimiglianza dei parametri del modello lineare, devono massimizzare la probabilità di Y dati X, W e B. Compilando questa equazione ed elaborando il logaritmo, la porzione di normalizzazione scompare e la funzione rimanente è simile alla minima funzione obiettivo dei quadrati. Viene discussa anche la distribuzione multivariata, con la media all'origine e la densità di probabilità che decade esponenzialmente all'aumentare della distanza.

  • 00:30:00 In questa sezione, il relatore discute l'uso di una trasformazione lineare per spostare nello spazio un cerchio unitario, che contiene la maggior parte della massa di probabilità di una curva a campana normalizzata, per adattarsi ai dati. La trasformazione lineare definisce una matrice e un vettore T, che viene applicato al cerchio unitario normalizzato per primo in modo che il volume totale sotto la curva sia calcolato e diviso per esso. L'applicazione di questa trasformazione allunga il cerchio in una certa direzione e fa esplodere la densità di probabilità. Per correggere ciò, il determinante della matrice viene diviso per il volume ingrandito per ottenere la densità di probabilità di un punto specifico sotto la gaussiana trasformata.

  • 00:35:00 In questa sezione, il relatore discute il metodo di campionamento da una distribuzione normale univariata non standard con una data media e sigma. Per fare ciò, si può campionare x dalla distribuzione normale standard, moltiplicarlo per la varianza e aggiungere la media per ottenere un campione dalla distribuzione desiderata. Allo stesso modo, il campionamento da una distribuzione normale multivariata con una data media e sigma implica la scomposizione del sigma, il campionamento dalla distribuzione standard e l'applicazione di una trasformazione lineare. Il relatore introduce anche il concetto di modello misto gaussiano, che sarà al centro della discussione dopo la pausa. Il relatore utilizza un esempio di distribuzione dei voti per illustrare il concetto di diverse popolazioni all'interno di un campione.

  • 00:40:00 In questa sezione, il relatore discute il modello di miscela gaussiana e come può aiutare a identificare diversi cluster all'interno di una popolazione. Creando tre distribuzioni normali separate con pesi e scala diversi, la funzione di densità di probabilità risultante avrà tre picchi o modalità. Per adattare questo modello ai dati, viene utilizzato l'obiettivo di massima verosimiglianza per determinare i migliori parametri del modello di miscela gaussiana. Sebbene il gradiente possa essere utile in alcuni casi, non è facile lavorarci a causa della somma all'interno del logaritmo. Invece, viene utilizzato l'algoritmo di massimizzazione delle aspettative, che è simile all'algoritmo di clustering k-medie, per trovare il clustering ottimale dei dati.

  • 00:45:00 In questa sezione, il video discute l'uso dei modelli di miscela gaussiana, che è essenzialmente un modello di variabile nascosta che implica il campionamento di un insieme di valori casuali e il suo utilizzo per campionare un valore X da diversi componenti con i rispettivi pesi. Tuttavia, il problema è che vengono osservati solo i valori X e i valori Z sono nascosti. La soluzione è utilizzare l'algoritmo Expectation Maximization (EML), che itera il processo di fare un'ipotesi casuale per i componenti, assegnando responsabilità soft a ciascun punto, adattando le distribuzioni ai sottoinsiemi di dati e deducendo la distribuzione sui valori impostati dato il valori X. Attraverso questo processo iterativo, l'algoritmo può stimare i parametri del modello e massimizzare la verosimiglianza dei dati.

  • 00:50:00 In questa sezione, il video discute l'algoritmo Expectation-Maximization (EM), che viene utilizzato per adattare i modelli di miscele gaussiane ai set di dati, in cui alcuni punti sono più importanti di altri. L'algoritmo funziona assegnando prima responsabilità soft a ciascun punto, il che significa che ogni punto ha una parte di responsabilità da ciascun componente. Queste responsabilità vengono quindi utilizzate per adattare un modello gaussiano al set di dati ponderato, in cui la media e la varianza vengono calcolate utilizzando medie e varianze ponderate. Il processo itera attraverso le fasi di aspettativa e massimizzazione fino a quando non viene raggiunto un buon adattamento. Il video mostra una visualizzazione di questo processo, dimostrando come il modello si sposta verso i punti più importanti fino a trovare un buon adattamento.

  • 00:55:00 In questa sezione, il relatore discute la formalizzazione della natura intuitiva della massimizzazione delle aspettative e come dimostrare che converge a un ottimo locale. Usando le funzioni Q come approssimazioni della vera verosimiglianza, la funzione di verosimiglianza può essere scomposta in due termini: la divergenza KL e la funzione L, che misura quanto è buona l'approssimazione. Prendendo il logaritmo di questi termini, il relatore mostra che la funzione L può essere calcolata sottraendo il logaritmo dell'insieme Q approssimato dal logaritmo dell'insieme della funzione di verosimiglianza dati i parametri ottimali. Questa scomposizione è utile per comprendere e dimostrare la convergenza dell'approccio di massimizzazione delle aspettative.

  • 01:00:00 In questa sezione, il relatore discute la dimostrazione dell'algoritmo EM e perché converge. Si dimostra che riorganizzando la distribuzione congiunta e la distribuzione condizionale, l'aspettativa del logaritmo di x dato theta può essere scritta come una costante rispetto a Q. Quindi, il relatore spiega come ridefinire l'algoritmo EM in termini di divergenza KL e scegliendo lo spunto dato alcuni dati e theta arbitrario per rendere la divergenza KL 0 mantenendo i dati fissi, il che porta a L che copre l'intero spazio e si ottiene la massima probabilità.

  • 01:05:00 In questa sezione, l'oratore spiega il passo M, in cui massimizzano L scegliendo theta per massimizzare L mantenendo Q fisso. Spiegano come questo passaggio porta ad un aumento della probabilità e perché l'iterazione E/M aumenta costantemente la probabilità. Il relatore spiega anche come possono trasformare il passaggio M in un obiettivo di massimizzazione e derivare stimatori di massima verosimiglianza per l'algoritmo di massimizzazione delle aspettative. Discutono le applicazioni di questa tecnica, come il clustering e l'analisi esplorativa, e come può essere utilizzata per la classificazione adattando un modello di miscela gaussiana a ciascuna classe.

  • 01:10:00 In questa sezione, il relatore discute i modelli misti gaussiani e come possono assumere molte forme, rendendoli molto più potenti delle normali distribuzioni. L'adattamento di un modello di miscela gaussiana ai dati richiede l'uso dell'algoritmo di massimizzazione delle aspettative, poiché non esiste una soluzione analitica in forma chiusa per l'adattamento di massima verosimiglianza. Tuttavia, una volta che il modello è stato adattato, può essere utilizzato in vari modi, ad esempio utilizzando il classificatore di base per classificare nuovi punti in base alla loro densità di probabilità. Nella lezione successiva, il relatore prevede di discutere i modelli di variabili nascoste nelle reti neurali e come adattare i modelli di probabilità a complicate reti neurali.