Apprendimento automatico e Reti Neurali - pagina 28

 

Lezione 24. Programmazione lineare e giochi a due



24. Programmazione lineare e giochi per due persone

Questo video di YouTube copre l'argomento della programmazione lineare e dei giochi per due persone. La programmazione lineare è il processo di ottimizzazione di una funzione di costo lineare soggetta a una serie di vincoli lineari e viene utilizzata in campi come l'economia e l'ingegneria. Il video spiega gli algoritmi utilizzati nella programmazione lineare, inclusi il metodo del simplesso e i metodi del punto interno, e il concetto di dualità, in cui il problema primale e il suo problema duale sono strettamente connessi e possono essere risolti utilizzando il metodo del simplesso. Il video illustra anche come la programmazione lineare può essere applicata ai giochi per due persone, compreso il processo di ricerca di un limite superiore del flusso massimo in una rete e la risoluzione di un gioco con una matrice. Infine, il video discute brevemente i limiti dell'applicazione di queste tecniche a giochi con tre o più persone e menziona che la prossima lezione riguarderà la discesa del gradiente stocastico.

  • 00:00:00 In questa sezione, il docente introduce l'argomento della programmazione lineare come parte dell'ottimizzazione e spiega cos'è e come funziona. Egli definisce la programmazione lineare come il processo di ottimizzazione di una funzione di costo lineare soggetta a un insieme di vincoli lineari. Nota che il vettore di costo e le equazioni dei vincoli sono entrambi lineari. Tuttavia, quando sono coinvolti dei vincoli, il problema non è effettivamente lineare, poiché le equazioni dei vincoli possono renderlo più complesso. Nonostante ciò, la programmazione lineare è una parte importante dell'ottimizzazione ed è spesso utilizzata in campi come l'economia e l'ingegneria.

  • 00:05:00 In questa sezione, il relatore discute la programmazione lineare e i giochi per due persone. Spiegano il concetto di insieme ammissibile X, che è un insieme di vincoli nel linguaggio dell'algebra lineare, e disegnano una visualizzazione per mostrare il concetto. Usano un esempio di minimizzazione di una funzione con vincoli e disuguaglianze semplici per spiegare come uno dei tre angoli di un triangolo sia il vincitore, che viene risolto trovando il valore minimo nel punto in cui il piano si interseca con l'ottante. Il costo è lineare e la soluzione è uno dei tre angoli o quando si verificano valori uguali lungo quegli angoli. Nell'esempio fornito, tre zero zero è l'angolo vincente.

  • 00:10:00 In questa sezione, il video spiega i due algoritmi utilizzati nella programmazione lineare: metodo del simplesso e metodo del punto interno. Il metodo del simplesso viaggia lungo i bordi dell'insieme ammissibile per raggiungere l'angolo ottimale, mentre i metodi del punto interno vanno all'interno dell'insieme ammissibile per ottenere le derivate e minimizzare. Il metodo interno è l'idea più recente e, sebbene l'esatto algoritmo proposto da Karmarkar non sia sopravvissuto, l'idea è ancora utilizzata e ricercata oggi. Entrambi gli algoritmi sono ancora bloccati in competizione tra loro.

  • 00:15:00 In questa sezione, il relatore discute la programmazione lineare ei suoi vari tipi come la programmazione non lineare, la programmazione quadratica, la programmazione semi-definita e i metodi del punto interno. Il relatore introduce l'idea di dualità, in cui viene creato un problema duale del problema di programmazione lineare e il problema primale viene trasformato in un problema di massimizzazione con un costo lineare e vincoli di disuguaglianza lineare. Il relatore spiega poi che il problema primale e il suo problema duale sono strettamente connessi e possono essere risolti usando il metodo del simplesso. Inoltre, l'oratore introduce l'idea chiave della dualità, che afferma che il valore massimo è sempre inferiore o uguale a qualsiasi valore consentito ammissibile. Infine, l'oratore fornisce una prova di una riga della disuguaglianza B trasposizione Y è minore o uguale a C trasposizione X.

  • 00:20:00 In questa sezione, il relatore discute l'importanza di X maggiore o uguale a zero nella programmazione lineare e il suo ruolo nel raggiungimento della dualità debole. Il fatto che X sia maggiore o uguale a zero assicura che le disuguaglianze desiderate siano soddisfatte e che il risultato ottenuto dal sistema sia corretto. Il relatore menziona il concetto di dualità e come si relaziona alla programmazione lineare e ai giochi a due persone, sottolineando l'importanza di prestare attenzione all'algoritmo in entrambi i casi. Il relatore fornisce anche un esempio di flusso massimo uguale taglio minimo per dimostrare i concetti discussi.

  • 00:25:00 In questa sezione, il relatore discute il problema della programmazione lineare e dei giochi a due persone nel contesto della massimizzazione del flusso attraverso una rete con vincoli sulle capacità dei bordi. Spiegano che l'obiettivo è massimizzare il flusso al lavandino assicurandosi che la variabile del flusso non superi la quantità di flusso consentita dalle capacità dei bordi. Il problema può essere risolto utilizzando la programmazione di numeri interi, ma può essere rilassato in modo sicuro per consentire variabili non intere. Il relatore fornisce esempi di come risolvere questo problema e discute l'importanza di scegliere capacità di bordo adeguate.

  • 00:30:00 In questa sezione, il docente discute la programmazione lineare e i giochi per due persone. Nello specifico, esplora la ricerca di un limite superiore al flusso massimo in una rete, concentrandosi su un taglio nella rete che separa i bordi che vanno con una sorgente e quelli che vanno con un obiettivo. Il flusso massimo per questo esempio è 14, che corrisponde al taglio minimo. Viene introdotto anche il concetto di dualità per trovare un limite superiore quando si ottimizza un problema.

  • 00:35:00 In questa sezione, il relatore discute la programmazione lineare e i giochi per due persone. Il problema del taglio massimo in una grande rete può essere risolto rapidamente con la programmazione lineare, anche se il taglio massimo potrebbe non essere visibile con migliaia di spigoli. Il metodo del simplesso, che ha quasi sempre un caso medio, è polinomiale nel tempo da risolvere. Il relatore parla anche della dualità nella programmazione lineare dove qualsiasi flusso non può superare la capacità del taglio. Infine, l'oratore parla di giochi a due e di una matrice di payoff utilizzata per prendere decisioni basate sui payoff per minimizzare e massimizzare i giocatori. Il gioco è un gioco a somma zero, il che significa che tutte le vincite X vanno a Y.

  • 00:40:00 In questa sezione, il video discute la programmazione lineare e i giochi per due persone utilizzando un esempio in cui X vuole fare un numero piccolo e Y vuole renderlo grande. Ciò si traduce in un gioco semplice con un punto di sella in cui Y sceglie ogni volta la colonna due e X sceglie ogni volta la riga uno. Tuttavia, quando l'esempio cambia e Y punta alla colonna due, X deve scegliere una strategia mista poiché non è presente un punto di sella. Y adotta anche una strategia mista, che alla fine X scopre, portando a una competizione per trovare la scelta migliore tra 0 e 1.

  • 00:45:00 In questa sezione, il relatore discute il processo di risoluzione di un gioco a due persone utilizzando la programmazione lineare e fornisce un esempio di risoluzione di un gioco con una matrice. La strategia ottimale per Y risulta essere 2/3 sulla prima colonna e 1/3 sulla seconda colonna. Il miglior q4 per X è determinato data questa strategia Y ottimale. L'oratore spiega che potrebbero esserci altre colonne o righe per X che non entrano nel confuso per l'ottimale.

  • 00:50:00 In questa sezione, il relatore discute le connessioni tra programmazione lineare e giochi per due persone. Rileva l'importanza del teorema della dualità e come si relaziona alla risoluzione dei problemi di ottimizzazione, nonché i limiti dell'applicazione di queste tecniche a giochi a tre o più persone. Racconta anche brevemente la storia di John Nash e dei suoi contributi sul campo, compreso il suo miglioramento e la successiva tragica morte. Infine, il relatore afferma che la prossima lezione riguarderà la discesa del gradiente stocastico.
24. Linear Programming and Two-Person Games
24. Linear Programming and Two-Person Games
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Lezione 25. Discesa del gradiente stocastico



25. Discesa del gradiente stocastico

In questo video, viene introdotto il concetto di discesa del gradiente stocastico (SGD) come metodo di ottimizzazione per risolvere problemi di machine learning su larga scala spesso posti sotto forma di un problema di somma finita. Il relatore spiega come SGD seleziona punti dati casuali per calcolare il gradiente per accelerare il calcolo e come si comporta in modo diverso dalla discesa del gradiente batch quando si avvicina all'optimum a causa della natura fluttuante del metodo. La proprietà chiave di SGD è che la stima del gradiente stocastico è una versione imparziale del vero gradiente previsto e la varianza del gradiente stocastico deve essere controllata per ridurre il rumore. L'uso di mini-batch è discusso come mezzo di parallelismo economico nell'addestramento GPU di deep learning, ma selezionare la giusta dimensione di mini-batch è ancora una questione aperta che può influire sulla robustezza della soluzione in presenza di dati non visibili. Le sfide nell'ottimizzazione dell'SGD includono la determinazione della dimensione del mini-batch e il calcolo dei gradienti stocastici, ma i ricercatori stanno cercando di comprendere l'efficacia dell'SGD nelle reti neurali attraverso lo sviluppo di una teoria della generalizzazione.

  • 00:00:00 In questa sezione, il relatore introduce il concetto di discesa del gradiente stocastico come antico metodo di ottimizzazione ancora utilizzato per addestrare sistemi di machine learning su larga scala. Spiegano che la risoluzione dei problemi di ottimizzazione è cruciale nella scienza dei dati e questi problemi sono spesso piuttosto grandi. Il relatore fornisce un'implementazione della discesa del gradiente in MATLAB e mostra che è necessario modificare solo una riga per guidare tutti gli strumenti di deep learning e l'apprendimento automatico su larga scala. Il relatore descrive quindi i problemi di ottimizzazione nell'apprendimento automatico, che comportano la ricerca di una x su una funzione di costo scritta come somma. Questi sono chiamati problemi a somma finita e sono generalmente risolti utilizzando metodi di ottimizzazione stocastica.

  • 00:05:00 In questa sezione, il relatore discute l'apprendimento automatico su larga scala, il che significa che sia il numero di punti dati di addestramento (n) sia la dimensionalità dei vettori (d) possono essere grandi. Grande n può raggiungere milioni o miliardi, e grande d potrebbe essere costituito da un massimo di un miliardo di caratteristiche. Ciò guida molte ricerche sui metodi di ottimizzazione per l'apprendimento automatico su larga scala, inclusa la ricerca di algoritmi temporali sub-lineari nelle strutture di dati e trucchi di hashing per gestire tali dati di grandi dimensioni. Il relatore fornisce esempi della domanda più classica in algebra lineare, il problema della regressione dei minimi quadrati e un altro metodo ampiamente utilizzato chiamato la sol, che sono entrambi scritti in termini di perdita sui dati di addestramento con un formato di somma finita. Infine, il relatore osserva che le reti neurali profonde sono ancora un altro esempio di questo problema di somma finita con n punti dati di addestramento.

  • 00:10:00 In questa sezione, il relatore discute di come le procedure di ottimizzazione siano necessarie per risolvere i problemi di somma finita che sorgono nell'apprendimento automatico e nella statistica. Questo perché la maggior parte dei problemi in questo campo può essere espressa come un problema a somma finita e per risolverli sono necessarie procedure di ottimizzazione specializzate. Il relatore introduce il metodo della discesa del gradiente, ma osserva che il calcolo del gradiente di un singolo punto in un set di dati di grandi dimensioni può richiedere ore o giorni, il che rappresenta un grave svantaggio. L'oratore chiede suggerimenti al pubblico per contrastare questo inconveniente e alcune idee presentate includono l'utilizzo della discesa del gradiente stocastico e il campionamento di un sottoinsieme dell'intero set di dati.

  • 00:15:00 In questa sezione, il relatore discute il concetto di discesa del gradiente stocastico, che comporta la selezione casuale di alcuni punti dati ad ogni iterazione e il calcolo del gradiente di un singolo punto, rendendo così il processo molto più veloce. Tuttavia, il relatore osserva che la domanda chiave è se questa idea abbia un senso matematico. La discesa del gradiente stocastico fu proposta per la prima volta da Robbins a Monroe nel 1951 e viene confrontata con il metodo della discesa del gradiente. Il relatore osserva che la discesa del gradiente stocastico è più sensibile alle dimensioni dei passi e mostra una simulazione di un problema con un giocattolo per illustrare come fluttua la linea. Il metodo sembra ancora fare progressi verso l'ottimale, nonostante le fluttuazioni.

  • 00:20:00 In questa sezione, il relatore discute il concetto di Stochastic Gradient Descent (SGD), che calcola il gradiente del punto dati scelto a caso moltiplicato per un valore alfa (dimensione del passo) per avvicinarsi a una soluzione. Il processo è molto sensibile al parametro della dimensione del passo ed è più sensibile della discesa del gradiente. Mentre varia il parametro, il relatore osserva l'avanzamento verso la soluzione e spiega il comportamento tipico di SGD. Spiega perché le persone adorano SGD in quanto fa rapidi progressi all'inizio in grandi set di dati e si possono ottenere progressi rapidi e sporchi evitando l'overfitting. Tuttavia, quando si avvicina alla soluzione, fluttua di più e può essere difficile trovare il miglior ottimo a causa del comportamento caotico.

  • 00:25:00 In questa sezione, il relatore discute come funzionano i metodi del gradiente stocastico in un semplice problema di ottimizzazione unidimensionale in cui vengono utilizzate funzioni quadratiche. L'obiettivo è ridurre al minimo queste funzioni quadratiche e l'oratore dimostra come utilizzare i gradienti dei singoli componenti per farlo. Spiegano che il metodo funziona bene all'inizio perché utilizza l'intero gradiente, ma una volta che si avvicina all'ottimale, può succedere di tutto e diventa confuso. Il relatore mostra anche come trovare la soluzione in forma chiusa e dove si può trovare il vero minimo all'interno di un intervallo specifico di singoli minimi e massimi.

  • 00:30:00 In questa sezione, l'oratore spiega il comportamento della discesa del gradiente stocastico (SGD) quando lo scalare X è al di fuori della regione di confusione, il che significa che il punto è molto lontano da dove si trova la soluzione. In questo regime lontano, un gradiente stocastico di qualche componente ha esattamente lo stesso segno del gradiente completo, che è la direzione in cui camminare per diminuire la funzione di perdita. L'oratore usa questo per spiegare perché SGD può fare progressi solidi lontano e come può fornire una straordinaria velocità iniziale, consentendo milioni di passaggi stocastici nel tempo necessario per eseguire una singola iterazione della discesa del gradiente batch. Una volta all'interno della regione di confusione, la discesa del gradiente stocastico diventa meno efficace nell'ottimizzazione, ma nell'apprendimento automatico le fluttuazioni possono rendere il metodo più robusto e migliore per la generalizzazione. I relatori notano che questa è un'idea prevalente nell'apprendimento automatico, nell'informatica teorica e nella statistica, dove la randomizzazione viene utilizzata per accelerare il calcolo di quantità costose.

  • 00:35:00 In questa sezione, il relatore discute la proprietà chiave della discesa del gradiente stocastico (SGD). L'idea principale alla base di SGD è utilizzare un gradiente stimato in modo casuale per risparmiare sul calcolo. La proprietà chiave di SGD è che in aspettativa, la stima del gradiente stocastico è una versione imparziale del vero gradiente. Al di là di questa imparzialità, la quantità di rumore o la quantità di stocasticità viene controllata in modo da ridurre la varianza del gradiente stocastico. Minore è la varianza, migliore è il tuo gradiente stocastico in sostituzione del vero gradiente e più veloce è la convergenza.

  • 00:40:00 In questa sezione, il relatore discute il metodo di discesa del gradiente stocastico e il suo comportamento su problemi sia convessi che non convessi. Il relatore menziona anche due varianti del metodo, una senza vincoli in cui viene scelto un vettore casuale e l'altra con vincoli in cui un punto dati di addestramento viene scelto casualmente con o senza sostituzione. Il relatore spiega che sebbene il metodo esista dal 1951 e sia ampiamente utilizzato nei toolkit di deep learning, ci sono ancora lacune tra applicazioni teoriche e pratiche. I toolkit utilizzano la versione senza rimpiazzo anche se la versione che sappiamo analizzare è la versione casuale uniforme, che è un grosso problema aperto nel campo del gradiente stocastico. L'oratore menziona anche l'idea del mini-batch, che utilizza un lotto di punti per ridurre la varianza, con conseguente minor rumore.

  • 00:45:00 In questa sezione del video, il relatore discute il concetto di mini-batch e come vengono sfruttati dalle persone per fornire una versione economica del parallelismo nell'addestramento in stile GPU di deep learning. Più grande è il mini-batch, più cose possono essere fatte in parallelo. Tuttavia, c'è anche un enigma in quanto l'utilizzo di mini-batch molto grandi implica che il gradiente stocastico inizi ad assomigliare più alla discesa del gradiente batch che riduce il rumore fino a un punto in cui la regione di confusione si restringe troppo. Ciò è dannoso per l'apprendimento automatico poiché può causare un overfitting della rete neurale, rendendo difficile la previsione di dati invisibili. Pertanto, selezionare la giusta dimensione del mini-batch è ancora una questione aperta nel processo di ottimizzazione delle reti neurali profonde.

  • 00:50:00 In questa sezione, il relatore discute le sfide associate all'ottimizzazione della discesa del gradiente stocastico (SGD), inclusa la determinazione del mini-batch da utilizzare e come calcolare i gradienti stocastici. L'algoritmo di propagazione all'indietro viene introdotto come un metodo popolare per calcolare un singolo gradiente stocastico e i toolkit di apprendimento automatico possono avere diversi modi per automatizzare il calcolo di un gradiente. Vengono discusse le sfide teoriche per dimostrare l'efficacia di SGD, inclusa la questione del perché SGD funzioni così bene per le reti neurali nonostante le sue presunte qualità non ottimali. I ricercatori stanno attualmente cercando di comprendere questo mistero attraverso lo sviluppo di una teoria della generalizzazione.
25. Stochastic Gradient Descent
25. Stochastic Gradient Descent
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Suvrit SraView the complete course: https://ocw.m...
 

Lezione 26. Struttura delle reti neurali per il deep learning



26. Struttura delle reti neurali per il deep learning

Questo video illustra la struttura delle reti neurali per il deep learning. L'obiettivo è classificare i dati in modo binario costruendo una rete neurale con vettori di caratteristiche che hanno m caratteristiche, creando una funzione di apprendimento in grado di classificare i dati come una delle due categorie. La non linearità è essenziale nella creazione di queste funzioni, poiché i classificatori lineari non sono in grado di separare i dati non lineari. Il video discute anche l'importanza del numero di pesi e livelli nella rete neurale e fornisce risorse come il parco giochi TensorFlow per consentire agli utenti di esercitarsi nella creazione di funzioni. Infine, il video discute la ricorsione utilizzata per dimostrare la formula per il numero di pezzi piatti ottenuti tagliando una torta e come si collega al problema di ottimizzazione della minimizzazione della perdita totale nel deep learning.

  • 00:00:00 In questa sezione, il professore introduce la struttura centrale delle reti neurali profonde, che è la costruzione della funzione di apprendimento f che apprende i dati di addestramento e può essere applicata ai dati di test. L'obiettivo è classificare i dati in modo binario costruendo una rete neurale con vettori di caratteristiche che hanno m caratteristiche. La rete creerà una funzione di apprendimento in grado di classificare i dati in una delle due categorie, come ragazzo o ragazza, gatto o cane, camion o macchina. Il professore afferma inoltre che questa struttura è disponibile da mesi sul sito della mascotte mit.edu/learning from data e verrà aggiunta alla piattaforma Stellar.

  • 00:05:00 In questa sezione, il docente spiega come creare una funzione f di X che restituisca la risposta corretta per la classificazione a due classi. Il docente precisa che la funzione deve essere negativa per la classificazione meno uno e positiva per la classificazione più uno. Tuttavia, il docente riconosce che non abbiamo bisogno di ottenere tutti i campioni corretti, poiché potrebbe verificarsi un adattamento eccessivo e la regola che scopriamo dovrebbe coprire quasi tutti i casi ma non tutti i casi "strani". Il docente consiglia quindi di visitare il sito playground.tensorflow.org, dove un semplice problema di modello può aiutare le persone a conoscere il deep learning. Il parco giochi offre quattro esempi e uno di questi consiste nel trovare una funzione che sia positiva su alcuni punti e negativa su altri punti.

  • 00:10:00 In questa sezione, il relatore discute l'importanza della non linearità nelle reti neurali, sottolineando che se venissero utilizzati classificatori lineari come le support vector machine, non sarebbe possibile creare una funzione non lineare che potrebbe separare i dati. Poi mostra un esempio di un problema di classificazione 2D con una spirale in cui il sistema sta cercando di trovare una funzione che sia positiva su una spirale e negativa sull'altra spirale, e questo richiede un bel po' di tempo, molte epoche. Il relatore spiega anche cos'è un'epoca e menziona la differenza tra mini-batch con sostituzione e mini-batch senza sostituzione in discesa del gradiente stocastico.

  • 00:15:00 In questa sezione, il relatore parla di un sito web chiamato TensorFlow's playground, che consente agli utenti di creare una funzione f di X utilizzando una funzione non lineare. Il sito Web traccia l'insieme zero per la funzione, che separa gli insiemi positivi e negativi, con lo zero in mezzo. Il sito Web consente agli utenti di decidere il numero di livelli e neuroni in ogni livello, poiché questi sono essenziali per trovare una funzione f che apprenda i dati. Il relatore rileva inoltre l'importanza delle funzioni lineari in questo processo e richiede raccomandazioni per buoni siti Web di reti neurali convoluzionali su cui esercitarsi. La funzione f ha la forma di un vettore di X con cinque componenti, uno strato con sei neuroni e uno strato di output di un numero.

  • 00:20:00 In questa sezione, il relatore discute la struttura delle reti neurali per il deep learning. Iniziano spiegando la struttura di base di una rete neurale, che prevede una matrice di pesi per calcolare l'output Y. Tuttavia, il processo diventa più complesso quando si aggiungono più livelli per il deep learning. Ogni livello dovrebbe apprendere di più sui dati, con il primo livello che apprende i fatti di base e ogni livello successivo che apprende maggiori dettagli. Infine, il relatore discute di come la rete neurale implichi una mappa fine e applichi una funzione su ciascun componente per ottenere l'output finale.

  • 00:25:00 In questa sezione, il relatore discute la struttura delle reti neurali nel deep learning. Spiegano che le reti neurali consistono in una funzione di apprendimento che dipende dai pesi e dagli input, che viene creata attraverso una catena di funzioni o composizione di funzioni, ciascuna costituita da una mappa lineare o affine seguita da una funzione non lineare. Ciò si traduce in una funzione complessa che è continua e lineare a tratti. Il relatore osserva che tale funzione si basa su matrici e vettori da creare e dipende dal numero di pesi nel modello.

  • 00:30:00 In questa sezione, il relatore parla della struttura delle reti neurali per il deep learning, in particolare dell'idea di una "catena" di funzioni lineari seguite da funzioni ReLu. Discutono la questione se una qualsiasi funzione possa essere ottenuta in questo modo e concludono che sono possibili solo funzioni lineari continue a tratti. L'oratore utilizza anche il concetto di origami per aiutare a visualizzare il grafico di una funzione lineare a tratti in due variabili, che consiste di pezzi piatti collegati lungo bordi dritti. La questione del conteggio del numero di pezzi viene sollevata come aiuto alla visualizzazione.

  • 00:35:00 In questa sezione, il relatore discute il problema di quanti pezzi piani si possono ottenere piegando un piano con n pieghe. Questo problema è essenziale per comprendere la libertà della funzione, f, e se può approssimare qualsiasi funzione continua prendendo abbastanza pieghe. L'oratore osserva che la risposta è sì e questa classe di funzioni è universale. Inoltre, la sezione tocca l'importanza di comprendere questo concetto nel campo più ampio dell'informatica, in particolare nelle reti neurali.

  • 00:40:00 In questa sezione, l'oratore discute un problema matematico che coinvolge il numero di pezzi piatti in un pezzo di carta piegato. Chiedono quanti pezzi si formerebbero se piegassero il foglio più volte e provano a creare una formula di ricorsione per risolvere il problema. L'oratore presenta i numeri che hanno trovato finora e spiega che devono trovare una formula per il numero di pezzi piatti in un pezzo di carta piegato n con una superficie m-dimensionale. Quindi pianificano di aggiungere alla formula ricorsiva una volta trovata.

  • 00:45:00 In questa sezione, il relatore usa un esempio visivo per aiutare a spiegare la formula per il numero di pezzi creati facendo tagli in spazi dimensionali superiori. Utilizzando i numeri binomiali, la formula può essere applicata a qualsiasi data dimensione M e N. Il relatore fornisce un esempio in cui N è uguale a 3 e M è uguale a 2 per mostrare come utilizzare la formula. Infine, la formula è presentata come R di con involucri in M dimensioni, pari a numeri binomiali, e da 0 a M.

  • 00:50:00 In questa sezione, il relatore discute la ricorsione utilizzata per dimostrare la formula dei pezzi piatti che derivano dal taglio di una torta. Spiegano che il numero che stanno cercando è il conteggio precedente di pezzi piatti più il numero di pezzi tagliati. La regola per la ricorsione è dimostrata nella sezione 7.1 dell'articolo di Kleinberg e altri. Il passo successivo dopo aver trovato questa famiglia di funzioni è scegliere le A ei pesi. Ciò si traduce in un problema nel ridurre al minimo la perdita totale, che può essere risolto utilizzando la discesa del gradiente e la retropropagazione.
26. Structure of Neural Nets for Deep Learning
26. Structure of Neural Nets for Deep Learning
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Lezione 27. Backpropagation: trova le derivate parziali



27. Backpropagation: trova le derivate parziali

Questo video copre diversi argomenti relativi alla retropropagazione e alla ricerca di derivate parziali. Il relatore dimostra l'uso della regola della catena per le derivate parziali e sottolinea l'importanza dell'ordine dei calcoli nella moltiplicazione di matrici. La retropropagazione è evidenziata come un algoritmo efficiente per il calcolo dei gradienti e vengono forniti vari esempi per dimostrarne l'efficacia. Viene discussa brevemente la convergenza della discesa del gradiente stocastico, insieme a un'idea progettuale relativa all'uso di un ordine casuale di campioni di funzioni di perdita nella discesa del gradiente stocastico. Nel complesso, il video fornisce una panoramica completa della backpropagation e delle sue applicazioni.

  • 00:00:00 In questa sezione, il relatore discute due argomenti di interesse. In primo luogo, viene discussa la convergenza della discesa del gradiente stocastico, con l'attenzione rivolta più alla logica e alle ipotesi dell'algoritmo che alla dimostrazione stessa. In secondo luogo, il relatore suggerisce un'idea progettuale relativa all'utilizzo di un ordine casuale di campioni di funzione di perdita nella discesa del gradiente stocastico. Nello specifico, il progetto comporterebbe il calcolo delle medie di un elenco di 100 numeri casuali utilizzando metodi di sostituzione e senza sostituzione per determinare la differenza di approccio.

  • 00:05:00 In questa sezione, il relatore discute la propagazione all'indietro come un modo per calcolare il gradiente negli algoritmi di discesa più ripida. La propagazione all'indietro è il calcolo chiave che ha reso popolari le reti neurali e comporta il calcolo rapido di gradienti e derivate utilizzando la differenziazione automatica in modalità inversa. L'oratore suggerisce anche di esplorare esempi della convergenza della media man mano che vengono effettuate le sostituzioni, così come il buon inizio e la cattiva fine per la discesa del gradiente stocastico, con le parole magiche nei calcoli che sono l'arresto anticipato.

  • 00:10:00 In questa sezione, il relatore discute la retropropagazione e il suo utilizzo per trovare derivate parziali. La retropropagazione era stata precedentemente studiata sotto il nome di differenziazione automatica e l'oratore attribuisce al leader nello sviluppo di reti neurali profonde il merito di aver realizzato la sua efficacia. Il relatore fornisce un semplice esempio di funzione per illustrare il calcolo di f(x) e delle derivate, e sottolinea l'uso della regola della catena per trovare le derivate parziali. La sezione cita anche un blog di Christopher Olah, che fornisce chiare spiegazioni sull'argomento.

  • 00:15:00 In questa sezione, il relatore discute il calcolo delle derivate parziali utilizzando la regola della catena. Usano un esempio di funzione a due variabili per dimostrare come calcolare le derivate parziali della funzione, partendo dalla ricerca di F e creando un grafico computazionale. Spiegano che per utilizzare la regola della catena, è necessario differenziare ciascuno dei fattori trovati nel calcolo di F e valutarli in modo appropriato. Questo grafico computazionale viene utilizzato per dimostrare il calcolo delle derivate parziali per il deep learning, per il quale vengono valutate molte variabili.

  • 00:20:00 In questa sezione, il relatore discute il processo di ricerca di derivate parziali utilizzando la differenziazione automatica in modalità diretta. Iniziano calcolando la derivata parziale di F DX, suddividendo il calcolo in parti semplici e sostituendo i passaggi intermedi con le derivate. Usano il fatto che la derivata di X al cubo rispetto a X è 3X al quadrato, che dà un valore di 12 quando X è uguale a 2. Quindi riconoscono che il metodo in avanti è uno spreco poiché dovranno fare un altro grafico per la derivata Y anche. L'oratore usa anche la regola del prodotto per trovare la derivata parziale del prodotto. Il processo richiede un po' di organizzazione, ma il punto è scomporre il calcolo in semplici parti per semplificare le derivate.

  • 00:25:00 In questa sezione, il relatore spiega come utilizzare la regola del prodotto per trovare derivate parziali utilizzando un grafico computazionale. L'oratore usa l'esempio di trovare la derivata X di un prodotto e assegna nomi ai due termini nel prodotto. Quindi calcola i valori necessari per la regola del prodotto e li utilizza per calcolare la derivata. Tuttavia, fatica a trovare la risposta finale e ammette che avrebbe bisogno di rifare il calcolo se vuole trovare la FD. L'oratore suggerisce che l'utilizzo della modalità inversa sarebbe più efficiente in quanto consente di calcolare entrambe le derivate parziali contemporaneamente.

  • 00:30:00 In questa sezione, il relatore parla di come la tecnica della backpropagation consenta di calcolare i gradienti in modo efficiente seguendo tutti i percorsi all'indietro. Questa tecnica aiuta a trovare tutte le derivate attraverso la regola della catena applicata ad alcune che sono già state elaborate in dettaglio. L'oratore osserva che il calcolo tende a sembrare semplice dopo aver guardato indietro a ciò che è stato effettivamente fatto. L'approccio pubblicitario in modalità inversa viene utilizzato per calcolare n derivate prime con solo quattro o cinque volte il costo, il che è sorprendente secondo l'oratore. Il relatore fornisce anche un esempio di come l'ordine in cui vengono eseguiti i calcoli può fare la differenza in termini di efficienza, utilizzando come esempio la moltiplicazione di due matrici.

  • 00:35:00 In questa sezione del video, il relatore discute l'importanza dell'ordine dei calcoli nella moltiplicazione di matrici in quanto può influenzare in modo significativo la velocità dei calcoli. Passa quindi all'esempio uno di backpropagation e dimostra come utilizzare la regola della catena e varie altre regole di derivata per trovare derivate parziali mentre si torna indietro attraverso un grafico computazionale. Sottolinea il fatto che riutilizzando i pezzi della catena, è possibile creare una catena più ampia senza costi significativi, il che si traduce in calcoli più veloci anche quando la funzione dipende da centinaia di variabili.

  • 00:40:00 In questa sezione del video, il relatore spiega come utilizzare la retropropagazione per trovare derivate parziali. Dimostrano un esempio in cui trovano derivate parziali rispetto a X e Y utilizzando la regola della catena e sottolineano che la retropropagazione consente di trovare tutte le derivate da una catena, piuttosto che catene separate per ciascuna variabile. Il relatore osserva che questo processo può essere applicato a un sistema di qualsiasi dimensione e menziona brevemente la convergenza della discesa del gradiente stocastico, che tratteranno nelle lezioni future.

  • 00:45:00 In questa sezione, l'oratore discute due diversi modi per moltiplicare tre matrici - A, B e C - e il numero di operazioni necessarie per farlo. Il primo modo prevede la moltiplicazione di A per BC, che costa operazioni M x N x PQ, dove P e Q sono rispettivamente il numero di righe e colonne di B e C. Il secondo metodo consiste nel moltiplicare AB per C, che costa M x P x Q operazioni. Il relatore sottolinea che è importante essere consapevoli del numero di operazioni richieste quando si moltiplicano le matrici, specialmente nel caso in cui C sia un vettore colonna, in quanto ciò può potenzialmente portare a matrici molto grandi e difficili da gestire.

  • 00:50:00 In questa sezione, il relatore discute le derivate parziali e la retropropagazione. Il relatore dimostra come la retropropagazione sia l'ordine giusto per le derivate parziali in quanto consente la moltiplicazione di due grandi matrici e l'ottenimento di un vettore colonna, che è molto più veloce rispetto alla moltiplicazione di un vettore colonna per una matrice per ottenere un nuovo vettore colonna e quindi moltiplicarlo da un'altra matrice per ottenere un altro vettore colonna. La retropropagazione semplifica il processo e consente calcoli più veloci dell'ordine di grandezza.
27. Backpropagation: Find Partial Derivatives
27. Backpropagation: Find Partial Derivatives
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Lezione 30: Completamento di una matrice di rango uno, circolanti!



Lezione 30: Completamento di una matrice di rango uno, circolanti!

Nella lezione 30, il docente discute il completamento di una matrice di rango uno e di matrici circolanti. Iniziano con un determinante 2x2 e lo usano per restringere i valori che possono essere riempiti in una matrice per farla classificare uno. Il docente passa quindi a un problema combinatorio per una matrice 4x4 e introduce le matrici circolanti che presentano schemi ciclici che possono essere creati con solo quattro numeri dati. La lezione copre anche la convoluzione ciclica, gli autovalori e gli autovettori di matrici circolanti, che sono importanti nell'elaborazione del segnale.

  • 00:00:00 In questa sezione, il docente fornisce una domanda di esempio da una precedente sessione di laboratorio sul completamento di una matrice in una matrice di rango uno. La domanda è incentrata su quali posizioni possono essere riempite e quali non possono essere riempite per ottenere una matrice di rango uno. Il docente spiega come scegliere i numeri diversi da zero e pone una domanda sulla possibilità di completare una matrice con cinque numeri diversi da zero in una matrice di rango uno.

  • 00:05:00 In questa sezione, il docente discute il completamento di una matrice di rango uno e circolanti. Iniziano esaminando un determinante 2x2, dove ogni due per due deve essere di rango 1 e quindi avere un determinante pari a 0. Usano questa idea per restringere il campo di ciò che sarebbe il numero mancante in una matrice e come riempire il resto dei valori. Il docente passa quindi a un esempio 4x4 e introduce un problema combinatorio, determinando quali 5 posizioni funzioneranno e quali no. Infine, parlano di circolanti, che presentano schemi ciclici nella matrice in cui ogni riga diventa la riga precedente spostata a destra di un elemento. Spiegano come creare matrici circolanti e le loro proprietà, inclusa la diagonalizzazione.

  • 00:10:00 In questa sezione, il docente discute il completamento di una matrice di rango uno e di grafici bipartiti. Iniziano prescrivendo alcuni numeri in una matrice 4x4 e disegnando un grafico bipartito con righe e colonne per rappresentare le connessioni tra i numeri. Il docente spiega che il completamento della matrice per classificare uno richiede di evitare un quadrato 2x2 in cui sono state specificate tre voci. Se vengono fornite tutte e quattro le voci, non sarà possibile creare un determinante zero e la matrice non avrà rango uno. Il docente converte il grafico bipartito in una rappresentazione a matrice per illustrare come determinare quali voci possono essere compilate per creare una matrice di rango uno.

  • 00:15:00 In questa sezione, il professore discute il completamento di una matrice di rango uno, specificando se sia sempre possibile completarla o meno se non ci sono 2x2 nel modo. Dimostra con esempi che due a due non sono sempre il problema e che potrebbero esserci cicli più lunghi che ostacolerebbero il completamento. Il punto chiave è che una matrice può essere completata per classificare uno solo se non ci sono cicli, che possono essere identificati nel corrispondente grafico bipartito.

  • 00:20:00 In questa sezione, il docente discute il completamento di un ciclo con sei spigoli e come si collega all'idea dei cicli nelle matrici. Converte un'immagine disegnata di un ciclo in una matrice e spiega come i cicli nelle matrici mostrano che determinati requisiti devono essere soddisfatti da valori diversi da zero. Pone una domanda sul completamento di una matrice di rango 2 e discute l'importanza delle convoluzioni nell'apprendimento automatico.

  • 00:25:00 In questa sezione, il docente introduce il concetto di matrici circolanti, che sono un tipo speciale di matrici di convoluzione che hanno diagonali costanti che girano attorno per essere completate. Le matrici circolanti sono una parte essenziale dell'elaborazione del segnale e le loro proprietà algebriche le rendono un modo efficiente per collegare un insieme di pesi. Questo perché la matrice chiave in questo è la matrice di spostamento ciclico, che aiuta a produrre la matrice circolante da P e P². Specificando la prima colonna di una matrice circolante, MATLAB, ad esempio, può ottenere lo spostamento ciclico di tutte le altre colonne, il che significa che abbiamo bisogno solo di quattro numeri per definire una matrice circolante quattro per quattro.

  • 00:30:00 In questa sezione della lezione viene introdotto il concetto di matrici circolanti. Si dimostra che ogni matrice circolante è un polinomio in P, dove P rappresenta un singolo spostamento. Si dimostra inoltre che se due matrici sono circolanti, moltiplicandole insieme si ottiene un'altra matrice circolante. Inoltre, la matrice identità è circolante e se una matrice circolante è quadrata, anche la matrice risultante è circolante. L'obiettivo quando si moltiplicano le matrici circolanti è garantire che il grado del polinomio non superi il numero desiderato di termini.

  • 00:35:00 In questa sezione, il docente discute matrici di rango uno e circolanti. Quando si moltiplica una matrice di spostamento circolare 4x4 per il grado tre, ci si chiede perché il prodotto non sia il grado sei. La chiave è che la P al quarto termine è in realtà una P al termine 0, quindi il prodotto è una convoluzione ciclica. Il docente spiega quindi la differenza tra convoluzione e convoluzione ciclica, fornendo un esempio di calcolo della convoluzione tra due vettori. Ricorda inoltre agli spettatori che la convoluzione non ciclica non utilizza un simbolo circolare, mentre la convoluzione ciclica lo fa.

  • 00:40:00 In questa sezione, il docente discute la convoluzione ciclica e come può essere utilizzata per moltiplicare i polinomi ciclicamente, che corrisponde alla moltiplicazione delle matrici circolanti. La somma delle cifre di un fattore moltiplica la somma delle cifre dell'altro fattore per dare la somma delle cifre nella convoluzione. Il docente accenna anche brevemente agli autovalori e agli autovettori di queste matrici. Il vettore di tutti è un autovettore con un autovalore, e questo ha una somma polinomiale di potenze di P. La lezione si conclude con una discussione di argomenti più avanzati nel campo.

  • 00:45:00 In questa sezione della lezione, il relatore spiega che gli autovettori della matrice C sono gli stessi degli autovettori della matrice P. Gli autovettori della matrice P sono 1 e -1, e i e -i. Il mondo circolante ha più autovalori e autovettori per ogni circolante, e queste sono regole importanti nell'elaborazione del segnale.
Lecture 30: Completing a Rank-One Matrix, Circulants!
Lecture 30: Completing a Rank-One Matrix, Circulants!
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Lezione 31. Autovettori di matrici circolanti: Matrice di Fourier



31. Autovettori di matrici circolanti: matrice di Fourier

In questo video sugli autovettori delle matrici circolanti, il relatore discute in che modo le matrici circolanti si relazionano all'elaborazione delle immagini e all'apprendimento automatico, nonché la sua connessione con la matrice di Fourier. Il relatore sottolinea l'importanza di comprendere la convoluzione e le matrici circolanti in relazione alla trasformata discreta di Fourier (DFT) e alle trasformate di Fourier. Il relatore discute gli autovettori delle matrici circolanti, in particolare la matrice di Fourier, e come sono tutti costruiti dallo stesso insieme di otto numeri che sono anche gli autovalori. Il relatore parla anche delle proprietà della matrice di Fourier, incluso il modo in cui le colonne sono ortogonali ma non ortonormali e come i suoi autovettori si sommano a zero a causa della simmetria della matrice circolante, rendendoli ortogonali tra loro. Infine, il relatore dimostra con esempi il concetto di vettore di Argan come autovettore della matrice di Fourier.

  • 00:00:00 In questa sezione il docente introduce il tema delle matrici circolanti e fornisce aggiornamenti su scadenze e grading dei progetti. Cita anche la connessione delle matrici circolanti alla trasformata discreta di Fourier, che è un algoritmo importante in ingegneria e matematica. La forma speciale delle matrici circolanti, con solo n voci necessarie per definire una matrice di dimensione n per n, è utile in molte applicazioni, incluso l'apprendimento automatico per le immagini.

  • 00:05:00 In questa sezione, il relatore spiega che le immagini sono tipicamente descritte dai loro pixel e possono avere vettori di caratteristiche con milioni di componenti, il che renderebbe impossibile calcolare i pesi richiesti per il deep learning con la discesa del gradiente. Tuttavia, le matrici utilizzate nel deep learning sono speciali e non dipendono dal numero di caratteristiche, simili alle matrici circolanti con caratteristiche cicliche. Queste matrici sono chiamate linear shift invariant o linear time invariant, matrici di convoluzione, matrici di triplette o matrici diagonali costanti e sono utilizzate nell'apprendimento automatico e nell'elaborazione delle immagini. In sostanza, aiutano a ottimizzare il deep learning riducendo le dimensioni del calcolo del peso richiesto per ogni livello nella rete profonda.

  • 00:10:00 In questa sezione, il relatore discute l'uso delle matrici circolanti nell'elaborazione delle immagini e nell'apprendimento automatico. Spiega che per operare su un'immagine grande con numerosi pixel, possiamo utilizzare il max pooling per ridurre le dimensioni del sistema. Tuttavia, per le operazioni convoluzionali, dobbiamo scegliere i pesi per evidenziare i punti importanti. Pertanto, utilizziamo filtri per semplificare l'immagine, come un filtro passa-basso. Il relatore osserva che le reti neurali più ampie nell'apprendimento automatico vengono utilizzate quando si tratta di campioni di immagini, poiché una matrice diagonale costante è più naturale ed efficiente da usare.

  • 00:15:00 In questa sezione, il presentatore parla di autovalori e autovettori di matrici circolanti, in particolare la matrice di permutazione che ha un effetto di spostamento ciclico. I valori singolari di una matrice di permutazione sono tutti uno, e gli autovalori possono essere trovati prendendo P meno lambda I e ponendo il determinante a zero, risultando in lambda alla quarta potenza. Il relatore sottolinea inoltre l'importanza di comprendere la convoluzione e le matrici circolanti in relazione alle trasformate DFT e Fourier.

  • 00:20:00 In questa sezione, il relatore discute gli autovettori delle matrici circolanti, concentrandosi in particolare sulla matrice di Fourier. Gli autovalori per la matrice di Fourier si trovano ponendo il determinante a zero, che risulta nelle radici quarte di uno. Sono stati discussi anche gli autovalori per una matrice circolante 8x8, che sono le otto soluzioni dell'equazione lambda all'ottava potenza uguale a uno. Queste soluzioni si presentano sotto forma dei numeri uno, uno negativo e la quarta e l'ottava radice dell'unità, e sono importanti perché entrano in gioco come autovettori. Gli autovettori di matrici ortogonali sono stati introdotti anche come famiglia di matrici con autovettori ortogonali.

  • 00:25:00 In questa sezione, il relatore discute diverse famiglie di matrici che hanno autovettori ortogonali. Le matrici simmetriche hanno autovettori ortogonali e autovalori reali, mentre le matrici diagonali hanno autovettori che vanno nella matrice identità. Le matrici ortogonali hanno autovalori di grandezza 1 e gli autovettori delle matrici di permutazione sono ortogonali. Le matrici antisimmetriche hanno autovalori che possono essere solo complessi, rendendole incapaci di avere autovalori reali.

  • 00:30:00 In questa sezione, il relatore parla di matrici con autovettori ortogonali e di come si relazionano alle matrici normali. Le matrici con autovettori ortogonali hanno autovalori complessi e l'oratore scrive una matrice diagonale che contiene qualsiasi autovalore. Quindi imposta un'equazione matriciale che mostra come riconoscere le matrici normali, che in realtà sono piuttosto rare. Per riconoscerli, si deve verificare se una matrice è uguale alla sua trasposta coniugata.

  • 00:35:00 In questa sezione, il relatore discute gli autovettori delle matrici circolanti, in particolare la matrice di Fourier. La permutazione P è ortogonale, quindi i suoi autovettori sono ortogonali, ma anche queste matrici circolanti commutano, rendendole matrici normali. Ciò significa che una volta trovati gli autovettori di P, abbiamo trovato gli autovettori di qualsiasi matrice circolante, e sono tutti speciali perché sono collegati a Fourier. Gli autovettori si trovano per vari autovalori, tra cui lambda essendo 1, -1, i e -i.

  • 00:40:00 In questa sezione, il relatore discute gli autovettori delle matrici circolanti e sottolinea che tutti gli autovettori sono costruiti dallo stesso insieme di otto numeri, che sono anche gli autovalori. La matrice autovettore per tutte le matrici circolanti di dimensione n è la matrice di Fourier, che è un'importante matrice complessa che consente la trasformata di Fourier veloce. Tutte le voci nella matrice sono potenze di un numero complesso W sulla circonferenza unitaria in uno dei suoi otto punti. Il primo autovettore è tutti uno, mentre il resto sono potenze di W, tali che la matrice è di dimensioni 8x8. Nel complesso, le matrici circolanti hanno proprietà simili grazie alla loro comune matrice di autovettori.

  • 00:45:00 In questa sezione del video, il relatore spiega le proprietà della matrice di Fourier, che è una matrice circolante composta da autovettori che sono potenze dell'ottava radice di uno. Le colonne della matrice sono ortogonali, ma non ortonormali, il che significa che devono essere divise per la radice quadrata di otto per renderle ortonormali. La matrice è una matrice normale ei suoi autovettori si sommano a zero a causa della simmetria della matrice circolante, rendendoli ortogonali tra loro. Il relatore dimostra questa proprietà utilizzando una matrice tre per tre in cui la somma degli autovettori si somma a zero, rendendoli ortogonali.

  • 00:50:00 In questa sezione, il relatore discute di come il vettore di Argan sia un autovettore della matrice di Fourier. Dimostra come quando viene aggiunto il prodotto scalare dei componenti del vettore di Argan, il risultato è 1. Mostra quindi come quando il vettore di Argan viene moltiplicato per e alla potenza di (2π/3), i componenti dei vettori risultanti si sommano a 0. Queste dimostrazioni illustrano il concetto che gli autovettori di una matrice circolante sono ortogonali. Il relatore conclude affermando che continuerà a discutere l'argomento della Matrice di Fourier nella prossima conferenza e che nel 1806 è rimasta solo una settimana e mezza di lezione.
31. Eigenvectors of Circulant Matrices: Fourier Matrix
31. Eigenvectors of Circulant Matrices: Fourier Matrix
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Lezione 32: ImageNet è una rete neurale convoluzionale (CNN), The Convolution Rule



Lezione 32: ImageNet è una rete neurale convoluzionale (CNN), The Convolution Rule

Nella Lezione 32 di un corso di deep learning, viene discusso il potere delle reti neurali convoluzionali (CNN) nella classificazione delle immagini, con l'esempio della competizione ImageNet vinta da una grande CNN profonda con livelli di convoluzione, livelli normali e livelli di max pooling. La lezione si concentra anche sulla regola di convoluzione, che collega moltiplicazione e convoluzione, con esempi di convoluzioni bidimensionali, l'uso del prodotto di Kronecker per una trasformata di Fourier bidimensionale e nell'elaborazione del segnale, e la differenza tra periodico e non periodico casi relativi alla convoluzione. Il docente discute anche autovettori e autovalori di una matrice circolante e l'operazione di somma di Kronecker.

  • 00:00:00 In questa sezione del video, viene discussa l'importanza delle reti neurali convoluzionali (CNN) in relazione all'apprendimento profondo e alla classificazione delle immagini. Viene menzionato un documento di Hinton e Skipper che ha addestrato una grande CNN profonda a classificare 1,2 milioni di immagini ad alta risoluzione in ImageNet. La competizione è stata vinta con un tasso di errore dei primi 5 test del 15%, rispetto al 26% della squadra al secondo posto. La CNN aveva livelli di convoluzione, livelli normali e livelli massimi di pooling, con metà dei campioni su una GPU e metà su un'altra. Il drop out è stato utilizzato anche in strati completamente connessi per ridurre l'overfitting. Ciò dimostra il potere delle CNN nel gestire l'enorme problema computazionale della classificazione delle immagini.

  • 00:05:00 In questa sezione del video, il relatore discute la regola di convoluzione, che è un aspetto essenziale delle reti neurali convoluzionali (CNN). Spiega che la convoluzione deriva dalla moltiplicazione dei polinomi e come la formula per i coefficienti nel contenuto C*D nella convoluzione può essere scritta in un modo diverso per vedere come funziona la convoluzione. Quindi passa a fornire un esempio della convoluzione di due funzioni e spiega che questo concetto si riferisce alla convoluzione di due vettori in una CNN. Comprendere la convoluzione è fondamentale per comprendere il funzionamento interno di una CNN, che è un tipo di rete neurale che ha 60 milioni di parametri e viene utilizzata per attività di riconoscimento delle immagini.

  • 00:10:00 In questa sezione, il docente spiega la regola di convoluzione per le funzioni e come si collega alla trasformata di Fourier delle due funzioni. Dice che se F è 2 pi periodico e G è 2 pi periodico, allora si potrebbe voler fare una convoluzione periodica e ottenere una risposta che abbia anche un periodo di 2 pi greco. Parla di come rendere ciclica la convoluzione influisce sulla moltiplicazione e che W viene utilizzato al posto di X per X ciclico.

  • 00:15:00 In questa sezione del video, il docente discute la differenza tra i casi periodici e non periodici per quanto riguarda la convoluzione. Nel caso periodico, il fattore W è definito per avere la proprietà che W per N è 1, e i vettori maggiori di n possono essere ripiegati a un vettore di lunghezza n. Il caso ciclico considera solo K che va da 0 a n-1, e le somme vanno solo da 0 a n-1. Nel caso non periodico, la convoluzione ha componenti P più Q meno 1, e questo numero viene calcolato nel primo laboratorio.

  • 00:20:00 In questa sezione, il docente discute gli autovettori e gli autovalori di una matrice circolante, in particolare la matrice di permutazione. Gli autovettori sono le colonne della matrice degli autovettori, indicata con "F", e ci sono quattro autovalori derivati dalla moltiplicazione di F e C. Il docente dimostra questa formula, spiegando che se C è una combinazione di P, allora il stessa combinazione di autovettori darà gli autovalori della matrice C.

  • 00:25:00 In questa sezione, il docente discute la regola di convoluzione che è una connessione tra moltiplicazione e convoluzione. La regola di convoluzione collega la moltiplicazione delle matrici con la convoluzione delle matrici. Attraverso la convoluzione ciclica, se il docente moltiplica la matrice C per la matrice D, otterrà un'altra matrice circolante. I coefficienti del convoluto C e D rappresentano i coefficienti diagonali della matrice C volte D. Il docente conclude che gli autovalori di CD sono uguali agli autovalori di C per gli autovalori di D perché C e D commutano e hanno gli stessi autovettori. Gli autovalori si moltiplicano componente per componente, fornendo la relazione per la regola di convoluzione.

  • 00:30:00 In questa sezione del video, il docente discute la regola di convoluzione, che afferma che si può convolure un'immagine e applicarvi una trasformata di Fourier (FT), o applicare una FT per separare le immagini e quindi moltiplicarle punto -saggio. Questa regola è utile perché consente la trasformata veloce di Fourier (FFT), che è altamente efficiente. Il docente considera quindi il costo di ciascun metodo: il metodo della convoluzione richiede N^2 passaggi, mentre il metodo della trasformazione separata richiede solo 2NlogN passaggi.

  • 00:35:00 In questa sezione, l'oratore discute le convoluzioni bidimensionali e l'operazione che deve essere eseguita per convolure due funzioni in due dimensioni. Discutono di come in MATLAB il comando necessario per eseguire questa operazione sia "cron" e di come possa essere utilizzato per creare una matrice bidimensionale con N pixel quadrati moltiplicando due matrici unidimensionali A e B. Il relatore tocca anche l'idea che se si vogliono moltiplicare due interi lunghi in crittografia, usare la regola di convoluzione può essere un metodo più veloce ed efficiente.

  • 00:40:00 In questa sezione viene discusso l'uso del prodotto di Kronecker per produrre una grande matrice per una trasformata di Fourier bidimensionale. Il prodotto di Kronecker è un'operazione che prende matrici unidimensionali N per n e produce una matrice N quadrato per N quadrato. Moltiplicando opportunamente le due matrici utilizzando il prodotto di Kronecker, è possibile creare una grande matrice per una trasformata di Fourier bidimensionale. Viene discusso anche il laplaciano, comunemente usato nelle equazioni differenziali, dove la matrice bidimensionale che accetta uno schema a cinque punti con cinque pesi per ogni punto può essere prodotta utilizzando il prodotto di Kronecker.

  • 00:45:00 In questa sezione, il relatore discute il prodotto Kronecker e come può essere utilizzato nell'elaborazione del segnale. Spiega che vuole utilizzare il prodotto Kronecker per aggiungere un effetto bidimensionale ai dati, quindi aggiungere la derivata verticale. Insieme questo è chiamato la somma di Kronecker, che è un'operazione importante nell'elaborazione del segnale. Incoraggia inoltre gli studenti a inviargli un'e-mail se desiderano fare volontariato per un progetto in cui possono discutere di ciò che hanno appreso e ottenere feedback dal pubblico.
Lecture 32: ImageNet is a Convolutional Neural Network (CNN), The Convolution Rule
Lecture 32: ImageNet is a Convolutional Neural Network (CNN), The Convolution Rule
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Lezione 33. Le reti neurali e la funzione di apprendimento



33. Reti neurali e funzione di apprendimento

In questo video, il relatore discute la costruzione della funzione di apprendimento f per le reti neurali, che è ottimizzata mediante discesa del gradiente o discesa del gradiente stocastico e applicata ai dati di addestramento per ridurre al minimo la perdita. Spiega l'uso di un'immagine disegnata a mano per illustrare il concetto di reti neurali e la funzione di apprendimento, nonché varie funzioni di perdita utilizzate nell'apprendimento automatico, inclusa la perdita di entropia incrociata. Il relatore parla anche del problema di trovare le posizioni dei punti date le loro distanze, che è un problema classico con varie applicazioni, come nel determinare le forme delle molecole usando la risonanza magnetica nucleare. Conclude discutendo la costruzione di X, il passo finale per ottenere la struttura di una rete neurale, e cita un invito a volontari per discutere un progetto venerdì.

  • 00:00:00 In questa sezione, il relatore discute la costruzione della funzione di apprendimento f per le reti neurali, che è ottimizzata dalla discesa del gradiente o dalla discesa del gradiente stocastico e applicata ai dati di addestramento per minimizzare la perdita. La funzione di apprendimento è una funzione di due insiemi di variabili, X e V, dove X sono i pesi e V sono i vettori delle caratteristiche dei dati di addestramento. La struttura della rete neurale comporta l'assunzione di f di un insieme di pesi e vettori campione, la produzione di passaggi non lineari e la ripetizione del processo fino al raggiungimento dell'output desiderato. Il passo lineare consiste nel prendere l'input V0, moltiplicarlo per le matrici AK e aggiungere i vettori di polarizzazione BK per spostare l'origine.

  • 00:05:00 In questa sezione, il relatore discute come funzionano le reti neurali prendendo una serie di input, applicando pesi (che vengono scelti utilizzando la discesa del gradiente nel capitolo 6) e facendo un passo non lineare per produrre un nuovo output. Questo processo viene ripetuto attraverso molti livelli fino all'output finale, che è la previsione della rete neurale per l'input. Il numero di pesi può spesso superare notevolmente il numero di funzioni nell'input, creando una situazione sottodeterminata.

  • 00:10:00 In questa sezione, il relatore spiega l'uso di un'immagine disegnata a mano per illustrare il concetto di reti neurali e la funzione di apprendimento. Disegna un'immagine in cui è presente un campione di addestramento dei componenti moltiplicato per v1, che è il primo nello strato che può avere un numero diverso di neuroni nel primo strato, e ognuno proviene dall'eze di. La funzione di perdita è la funzione che vogliamo minimizzare scegliendo x2, che sono tutti gli A e B. La funzione di perdita è spesso una somma finita su tutto F, che può essere calcolata per tutti I, ma si usa invece il gradiente stocastico per sceglierne solo uno o un piccolo numero. La funzione di perdita sarebbe meno il vero risultato del campione I, che può essere elevato al quadrato per ottenere la somma dei quadrati degli errori al quadrato su tutti i campioni.

  • 00:15:00 In questa sezione, il relatore discute varie funzioni di perdita utilizzate nell'apprendimento automatico, in particolare nelle reti neurali. La funzione di perdita è una misura di quanto bene la previsione della rete neurale corrisponda al valore reale. L'altoparlante fornisce quattro popolari funzioni di perdita, tra cui perdita quadrata, perdita L1, perdita cerniera e perdita di entropia incrociata. La perdita di entropia incrociata è la più importante per le reti neurali ed è la funzione di perdita più comunemente utilizzata. Il relatore tocca anche brevemente le matrici di distanza e il processo di determinazione delle posizioni dei punti nello spazio utilizzando le distanze misurate tra di loro.

  • 00:20:00 In questa sezione, l'oratore introduce una domanda di matematica che implica trovare posizioni nello spazio date le distanze tra i punti. La domanda è semplice e ha applicazioni in vari campi. La sezione occupa solo due pagine del libro, ma la soluzione è dettagliata e completa. L'oratore incoraggia anche gli studenti a porre domande sui loro progetti e suggerisce di inviargli direttamente un'e-mail. Fa anche una domanda su quali corsi seguire dopo questo e chiede agli studenti se hanno intenzione di frequentare altri corsi in quest'area. L'oratore riconosce che ci sono corsi in altri dipartimenti, ma ha trovato solo un elenco per il corso sei.

  • 00:25:00 In questa sezione, il relatore parla del MIT Operations Research Center e delle sue offerte di corsi, tra cui ottimizzazione, analisi dei dati, statistica e ricerca operativa. L'oratore fa anche riferimento a una conferenza di Sir Tim Berners-Lee, il creatore del World Wide Web, e alla sua responsabilità per l'eccesso di lettere negli URL. Quindi il relatore discute le matrici delle distanze e il problema di trovare la matrice delle posizioni a partire dalle distanze date. Il relatore menziona diverse applicazioni, comprese le reti di sensori wireless, in cui è possibile misurare le distanze tra i sensori, e i sistemi GPS, che possono calcolare la posizione utilizzando un principio simile.

  • 00:30:00 In questa sezione, l'oratore discute il problema di trovare le posizioni dei punti date le loro distanze, che è un problema classico con una soluzione ordinata. Le posizioni non sono univoche in quanto possono subire traslazioni e rotazioni, ma il relatore suggerisce di eliminare le traslazioni centrando il baricentro all'origine. Il problema di trovare le posizioni è applicabile in varie situazioni, come nel determinare le forme delle molecole usando la risonanza magnetica nucleare. L'apprendimento automatico può anche essere descritto come trovare una superficie a bassa dimensione in uno spazio ad alta dimensione, che è matematicamente equivalente a trovare una varietà curva che si adatta meglio ai punti dati. Questo processo comporta la scoperta della dimensionalità del problema e la sua linearizzazione, che riduce la dimensionalità dallo spazio ad alta dimensione originale alla vera dimensionalità del problema.

  • 00:35:00 In questa sezione, il relatore spiega come trovare una matrice X data una matrice prodotto scalare G. Inizia analizzando due matrici di rango uno, una che dipende solo dalle righe e l'altra che dipende solo dalle colonne, e spiega che queste matrici producono la maggior parte della parte significativa della matrice del prodotto scalare. Quindi introducono una matrice diagonale con i prodotti interni di XI con se stesso sulla diagonale e notano che questa matrice è correlata alla matrice D data. Da lì, mostrano come derivare l'equazione per la matrice del prodotto scalare e spiegano che una volta che hanno G, possono trovare X. Tuttavia, X non è unico perché può essere ruotato senza cambiare il prodotto scalare, quindi il passo successivo è per capire come fattorizzare la rotazione.

  • 00:40:00 In questa sezione, il relatore discute un'equazione relativa alla matrice del prodotto scalare che può essere utilizzata per trovare il prodotto incrociato della matrice identità e della matrice di trasposizione X nelle reti neurali. La matrice del prodotto scalare è una combinazione della matrice D diagonale, una matrice costante con tutte le righe uguali e una matrice costante con tutte le colonne uguali. L'oratore esamina l'equazione passo dopo passo e scompone ogni componente per rivelare che la matrice X di trasposizione X proviene da queste posizioni di rango 1 e da questi prodotti incrociati. Quindi esplorano il significato della metà nell'equazione, ma alla fine concludono che è necessario ottenere il risultato corretto.

  • 00:45:00 In questa sezione, l'oratore discute come scrivere una data equazione nel linguaggio delle matrici e come trovare alla fine la matrice X data X trasposta X. Usano l'algebra lineare per trovare la soluzione e notano che X può essere trovata in alto ad una trasformazione ortogonale. I due metodi principali discussi sono l'utilizzo di autovalori o l'utilizzo dell'eliminazione su X trasposizione X. Il relatore sottolinea l'importanza di questi metodi nel campo delle reti neurali e dell'apprendimento automatico.

  • 00:50:00 In questa sezione, l'oratore discute la costruzione di X, che è simmetrica e semidefinita positiva, e due modi per trovarla. Il primo approccio è la costruzione di autovalori, che comporta il calcolo degli autovalori e degli autovettori di X traspone X, e quindi il mantenimento degli autovettori prendendo le radici quadrate degli autovalori. Il secondo approccio è la fattorizzazione di Cholesky, che comporta l'esecuzione dell'eliminazione sulla matrice definita positiva simmetrica e quindi l'utilizzo della risultante matrice triangolare inferiore L e matrice diagonale D per calcolare X come prodotto di L radice quadrata DL trasposta. La fattorizzazione di Cholesky è più veloce della costruzione di autovalori e più facile da calcolare, rendendola un'opzione più pratica.

  • 00:55:00 In questa sezione il relatore conclude il discorso sulle matrici di distanza, che è stato il passaggio finale per ottenere la struttura di una rete neurale, separando i vettori campione dai pesi. Il relatore accenna anche ai due pezzi dell'algebra lineare: trovare le cose per ridurle in forma triangolare o collegarle con matrici simmetriche. Infine, l'oratore cita un appello ai volontari per discutere di un progetto venerdì.
33. Neural Nets and the Learning Function
33. Neural Nets and the Learning Function
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Lezione 34. Matrici delle distanze, problema di Procuste



34. Matrici delle distanze, problema di Procuste

L'oratore discute il problema di Procuste, che implica trovare la migliore trasformazione ortogonale che porti un insieme di vettori il più vicino possibile a un altro insieme di vettori. Spiegano diverse espressioni per calcolare la norma di Frobenius di una matrice di distanza e la sua connessione al problema di Procuste. Il relatore introduce anche il concetto di traccia delle matrici e trova la Q corretta nel problema di Procuste. Inoltre, affrontano la questione se il deep learning funzioni effettivamente e presentano la soluzione a un problema di matrice che implica la ricerca della migliore matrice ortogonale, che comporta il calcolo dell'SVD del prodotto scalare di due matrici e l'utilizzo delle matrici ortogonali dall'SVD.

  • 00:00:00 In questa sezione, il relatore affronta una questione sollevata in una discussione precedente sulla ricerca di punti che soddisfano una data matrice di distanza e su come risolvere il fallimento della disuguaglianza triangolare. Il relatore spiega che la matrice dei prodotti scalari che deriva direttamente dalla matrice delle distanze è semidefinita positiva, ma se la disuguaglianza triangolare fallisce, la matrice dei prodotti scalari non risulterà definita positiva. Questo problema non può essere risolto modificando le dimensioni, poiché la disuguaglianza triangolare è ancora valida indipendentemente dalla dimensionalità.

  • 00:05:00 In questa sezione, il docente parla del problema di Procuste, che consiste nel far combaciare qualcosa con qualcos'altro. Il problema prende il nome da un mito greco su Procuste che aveva un letto di una certa lunghezza e adattava la lunghezza del visitatore per adattarlo al letto. Il problema consiste nel trovare un modo per far combaciare due insiemi di dati, e il docente spiega che se la disuguaglianza triangolare è soddisfatta dai numeri nella matrice delle distanze, la matrice che esce dall'equazione è semi-definita positiva. Tuttavia, se la disuguaglianza triangolare viene violata, la matrice non è semidefinita positiva e ha autovalori negativi, ed è impossibile trovare il punto. Il docente accenna anche a una grande domanda se il deep learning funzioni davvero, che affronterà in seguito.

  • 00:10:00 In questa sezione viene discusso il problema di Procuste, che consiste nel trovare la migliore trasformazione ortogonale che porti un insieme di vettori il più vicino possibile a un altro insieme di vettori. Se i due insiemi di vettori fossero entrambi basi ortogonali, sarebbe facile portare l'uno nell'altro con una matrice ortogonale Q, ma non è sempre così. Pertanto, il problema è minimizzare su tutte le matrici ortogonali Q nella norma di Frobenius al quadrato e trattare la matrice come un vettore lungo. Un modo per farlo è guardare una trasposta a, prenderne la traccia e poi trovare la somma di tutti i quadrati per ottenere la norma di Frobenius di una matrice.

  • 00:15:00 In questa sezione, il docente discute diverse espressioni per calcolare la norma di Frobenius di una matrice di distanza. Mostrano che la norma di Frobenius al quadrato può essere espressa come somma dei quadrati di tutti i valori singolari, come traccia del prodotto della matrice e della sua trasposta, o come traccia del prodotto della trasposizione della matrice e della matrice stessa . Quindi spiegano come queste espressioni si collegano tra loro e menzionano che la risoluzione di questo problema richiede vari fatti importanti, come il fatto che moltiplicare ogni colonna di una matrice per Q non cambia la norma di Frobenius e moltiplicare la matrice per Q non t influenzare i valori singolari.

  • 00:20:00 In questa sezione, l'oratore discute le proprietà della norma di Frobenius, incluso il fatto che rimane invariata quando moltiplicata per un fattore ortogonale o quando moltiplicata dall'altra parte per lo stesso fattore o per un fattore diverso. Il relatore introduce anche il concetto di traccia di matrici, evidenziando il fatto che la traccia non cambia quando si inverte l'ordine delle matrici. L'oratore spiega quindi i passaggi per ottenere la Q corretta nel problema di Procuste.

  • 00:25:00 In questa sezione, il relatore discute la questione se il deep learning funzioni davvero e suggerisce che si tratta di una questione importante da affrontare. Dicono che mentre c'è stata molta pubblicità e clamore intorno al deep learning e alle reti neurali, non è automatico che la struttura della rete abbia successo, anche con più livelli. Il relatore presenta quindi la soluzione a un problema di matrice che comporta la ricerca della migliore matrice ortogonale, che comporta il calcolo dell'SVD del prodotto scalare di due matrici e l'utilizzo delle matrici ortogonali dall'SVD.
34. Distance Matrices, Procrustes Problem
34. Distance Matrices, Procrustes Problem
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Lezione 35. Trovare cluster nei grafici



35. Trovare cluster nei grafici

Questo video illustra il clustering nei grafici e come trovare i cluster utilizzando diversi algoritmi come le medie K e il clustering spettrale. La matrice laplaciana viene utilizzata nel clustering spettrale e può fornire informazioni sui cluster nel grafico attraverso i suoi autovettori. L'autovettore di Fiedler, che è l'autovettore per il più piccolo autovalore positivo, è importante per il clustering. Il relatore sottolinea anche l'importanza che gli autovettori siano ortogonali nell'identificazione di cluster diversi. Inoltre, c'è una breve anteprima della prossima lezione, che riguarderà la propagazione all'indietro usando Julia in algebra lineare. Gli studenti sono incoraggiati a presentare i loro progetti online o fuori dall'ufficio del docente.

  • 00:00:00 In questa sezione, il relatore discute il clustering nei grafici, ovvero il processo di suddivisione di un grafico di grandi dimensioni in cluster più piccoli e più gestibili. Il problema è trovare due cluster di dimensioni ragionevolmente uguali e, per fare ciò, è necessario utilizzare un algoritmo per determinare la posizione dei punti centrali X e Y. L'obiettivo è minimizzare la somma delle distanze tra i punti centrali e il nodi nel grafico, assicurando al tempo stesso che il numero di nodi in ciascun cluster sia ragionevolmente vicino. Esistono diversi algoritmi che possono essere utilizzati per ottenere questo risultato, inclusi alcuni che utilizzano matrici associate al grafico.

  • 00:05:00 n questa sezione, il relatore discute l'algoritmo di clustering K-means per dividere un insieme di punti, alcuni etichettati A e altri etichettati B, in cluster o gruppi. L'algoritmo inizia identificando i centroidi, che sono i punti centrali dei gruppi A e B, quindi tenta di formare i migliori cluster basati su quei centroidi. Questo processo viene ripetuto fino a quando l'algoritmo converge sui migliori cluster possibili per i dati. Il relatore introduce anche il concetto di baricentro, che è il punto che minimizza la somma delle distanze tra tutti i punti del gruppo e il baricentro.

  • 00:10:00 In questa sezione, l'istruttore discute due metodi per risolvere il problema di trovare i cluster nei grafici. Il primo metodo è chiamato K-means, che implica trovare il centroide del cluster più vicino per ogni punto, riassegnare i punti ai rispettivi cluster e ripetere il processo fino alla convergenza. Il secondo metodo è chiamato raggruppamento spettrale e prevede l'utilizzo degli autovalori di una matrice per raggruppare insieme punti simili. Il termine "spettrale" si riferisce agli autovalori della matrice e al teorema spettrale in algebra lineare. Il docente sottolinea che il teorema spettrale si applica alle matrici simmetriche e afferma che gli autovalori sono reali e gli autovettori sono ortogonali.

  • 00:15:00 In questa sezione, il relatore discute la matrice laplaciana del grafo, che è la connessione chiave tra l'algebra lineare e la teoria dei grafi. Descrivono questa matrice come una matrice semidefinita positiva simmetrica e ci sono quattro matrici associate a qualsiasi grafico: la matrice di incidenza, la matrice dei gradi, la matrice di adiacenza e la matrice laplaciana. L'oratore esegue un esempio utilizzando un semplice grafico per spiegare ciascuna di queste matrici. La matrice laplaciana viene utilizzata nel clustering spettrale e può avere autovettori ortogonali che vanno con una molteplicità per autovalori, che è nota come teorema spettrale.

  • 00:20:00 In questa sezione, il relatore spiega il concetto di raggruppamento di grafi trovando i cluster in un dato grafo utilizzando la matrice laplaciana. La matrice laplaciana si ottiene sottraendo la matrice di incidenza dalla matrice dei gradi. La matrice risultante è semidefinita positiva e i suoi autovettori forniscono informazioni sui cluster nel grafico. Il primo autovalore è sempre zero e il successivo autovalore è importante per il clustering. Il relatore sottolinea l'importanza del vettore di Fiedler, l'autovettore per il più piccolo autovalore positivo, e spiega il suo significato nel raggruppamento dei grafi.

  • 00:25:00 In questa sezione, l'oratore spiega perché la matrice laplaciana viene chiamata così quando si trovano i cluster in un grafico. La matrice laplaciana ha una diagonale di grado 4 e permette di trovare ammassi attraverso i suoi autovettori. Nello specifico, l'autovettore di Fiedler può determinare le componenti positive e negative suddividendo il grafo in due cluster. Questo approccio fornisce un metodo per decidere quali nodi appartengono a quale cluster utilizzando il grafo laplaciano.

  • 00:30:00 In questa sezione, il relatore discute il clustering nei grafici e come trovare i cluster utilizzando diversi algoritmi come k-mean e clustering spettrale. Spiega che gli autovettori di una matrice simmetrica sono ortogonali, nel senso che sommano fino a zero, che può essere utilizzato per identificare diversi cluster. Menziona anche che ci sono altri algoritmi proposti per lo stesso problema, e dà una breve anteprima della prossima lezione che riguarderà la propagazione all'indietro usando Julia in algebra lineare. Il relatore incoraggia gli studenti a presentare i loro progetti online o fuori dal suo ufficio.
35. Finding Clusters in Graphs
35. Finding Clusters in Graphs
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...