Anteprima
Vedrai una selezione di 20 pagine su 133
Appunti Esame Data Mining 2 Pag. 1 Appunti Esame Data Mining 2 Pag. 2
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 6
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 11
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 16
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 21
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 26
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 31
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 36
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 41
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 46
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 51
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 56
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 61
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 66
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 71
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 76
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 81
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 86
Anteprima di 20 pagg. su 133.
Scarica il documento per vederlo tutto.
Appunti Esame Data Mining 2 Pag. 91
1 su 133
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ARTIFICIAL NEURAL NETWORKS (ANN)

In questo caso l'output Y è 1 se almeno due dei tre input sono uguali a 1

Esempio) Come funziona la classificazione sign(1*0.3 + 0*0.3 + 0*0.3 - 0.4) = "-"

Caso generale:

Il modello è un insieme di nodi interconnessi e di links pesati. Il nodo di output somma tutti i suoi valori di input in relazione ai pesi dei suoi links. Si confronta il nodo di output con una certa soglia "t" (detto anche bias "b"). La funzione "sign(x*W - b)" è chiamata activation function

In questo caso il "Perceptron Model" è il seguente:

d ∑ = - = Y sign( w X t ) sign( w X )

i i i i= =i 1 i 0

Caratterizzazione del neurone Artificiale

Il segnale potrebbe essere di input o output e di tipo: valore reale; unipolare {0,1} o bipolare {-1,+1}.

Weight (w o sigma): θij - forza della connessione da unità j a unità i

L'apprendimento equivale ad aggiustare i

pesi θij mediante un algoritmo di ottimizzazione che mira aminimizzare una funzione di costo. Come nei sistemi neurali biologici, l'addestramento di un perceptronmodel equivale ad adattare i pesi dei links fino a quando non si adattano (fit) alle relazioni input-outputdei dati sottostanti

Il bias b è una costante che può essere scritta come θ x con x = 1 e θ = b tale chei0 0 0 i0

La funzione f(net (x)) è la funzione di attivazione dell'unità. Nel caso più semplice, f è la funzione identitàie l'output dell'unità è solo il suo net input. Questa si chiama unità lineare. Altrimenti possiamo avereun'unità di segno (sign unit) o un'unità logistica (logistic unit).

PERCEPTRON CLASSIFIER

Simple linear Neuron

Sull'output abbiamo una funzione di attivazione, che nella Simple Linear Neuron è una funzione diattivazione lineare (c'è sempre il

prodotto scalare).x1 è la feature 1 di X, x2 è la feature 2 di X. L'input è un vettore xi

Il real perceptron è anche chiamato "Linear Threshold Unit"

È spesso usata la sigmoid activation function, esattamente come nella regressione logistica. La lineare non discretizza molto, per questo solitamente non è usata.

Perceptron

Una rete con un singolo livello quindi contiene solo nodi di input e di output. La funzione di attivazione solitamente è il segno: f = sign(w•x)

In questo caso, l'applicazione del modello è semplice:

Se abbiamo capito il training del perceptron, lo abbiamo capito anche delle reti neurali perché funzionano in modo simile

Learning Iterative Procedure

Durante la fase di training i parametri di peso vengono regolati fino a quando gli output del perceptron non diventano coerenti con gli output reali degli esempi di training. L'idea dell'algoritmo è questa:

  1. Per prima cosa
si inizializzano i pesi (w0, w1,…, wm) in modo random 2) Si ripete finché non viene soddisfatta una qualche condizione di arresto (fino a convergenza): - Per ogni esempio di training (xi, yi): (k)Calcola f(w , xi) Aggiorna i pesi con la seguente formula: [ λ - ( k )y f ( w , x ) x dove: è anche chiamato "delta" i i i L'intuizione è la seguente Aggiornamento del peso basato sull'errore: - Se y = f (x, w), e = 0: nessun aggiornamento necessario - Se y > f (x, w), e = 2: il peso deve essere aumentato in modo che f (x, w) aumenti - Se y < f (x, w), e = -2: il peso deve essere ridotto in modo che f (x, w) diminuisca I pesi sono aggiornati solamente rispetto agli esempi di training L'intuizione della formula di aggiornamento è che se l'errore è 0, abbiamo che l'istanza è correttamente classificata quindi i pesi non necessitano di aggiornamento. Learning Rate È un parametro con valore compresotra 0 e 1 utilizzato per controllare la quantità di regolazione effettuata in ciascuna iterazione, quindi quanto è importante l'aggiornamento. Se è vicino a 0, il nuovo peso è influenzato principalmente dal valore del peso precedente. Se è vicino a 1, il nuovo peso è influenzato principalmente dalla regolazione corrente. Il tasso di apprendimento può essere adattivo: inizialmente moderatamente ampio e gradualmente diminuisce nelle successive iterazioni. Per il perceptron non abbiamo bisogno di avere un adactive learning rate, ma per le reti neurali sì. Nonlinearly Separable Data Poiché f(w, x) è una combinazione lineare di variabili di input, il decision boundary è lineare. Per problemi non linearmente separabili, l'algoritmo di apprendimento perceptron fallirà perché nessun piano lineare può separare perfettamente i dati. L'esempio classico di dati non separabili linearmente.

è la funzione XOR (figura a destra)

Il problema non è separabile linearmente (lo XOR), vogliamo qualcosa di più forte del linear perceptron, dato che nessun iperpiano può separare perfettamente i dati. Vogliamo qualcosa di questo tipo come decision boundary

MULTILAYER NEURAL NETWORK (permette di risolvere problemi non separabili linearmente)

Gli Hidden layers sono livelli intermedi tra i livelli di input e output

In questo caso abbiamo activation functions più generali (sigmoid, linear, tangente iperbolica, ecc)

Input

w31 xn n1
w41 yn 5
w32 wx 5
n2 2 4

La rete neurale multilayer può risolvere qualsiasi tipo di compito di classificazione che coinvolge decision surfaces non lineari. Questa funzione di attivazione non viene applicata solo al livello finale, ma anche in quelli intermedi. Perceptron ha un singolo livello.

Possiamo pensare a ciascun nodo hidden come un perceptron che tenta di costruire un iperpiano.

mentre il nodo di output combina i risultati per restituire il decision boundary.

General Structure of ANN

Abbiamo anche una funzione di attivazione anche per i livelli intermedi. Fare training di una ANN significa apprendere i pesi dei neuroni.

Esistono vari tipi di topologia di rete neurale:

  • rete single-layered (perceptron) contro rete multi-layered
  • Feed-forward contro rete recurrent

E abbiamo vari tipi di funzioni di attivazione (f)

Activation Functions

Se usiamo la funzione di attivazione, ci troviamo nei modelli non lineari. La non linearità viene modificata. La funzione logistica non è ampiamente utilizzata nelle moderne ANN, ma abbiamo varie alternative:

Alternativa 1 - Funzione tanh: simile alla funzione logistica ma shiftata nel range [-1, +1]

Alternativa 2 - Funzione RELU: rectified linear unit = "max(0, w*x +b)"

Lineare con un taglio a zero (Implementazione: tagliare il gradiente quando si passa a zero)

Alternativa 3 - Soft exponential linear

unit = “log(exp(x) + 1)”

Non si satura (a un'estremità)

Sparsifica le uscite

Aiuta a sfumare il gradiente

Nota: nelle reti neurali la derivata è utilizzata per aggiornare i pesi

Sommario Funzioni di Attivazione

Learning Multi-Layer Neural Network

Possiamo applicare la regola di apprendimento del perceptron a ciascun nodo, compresi i nodi hidden?

La regola di apprendimento di Perceptron calcola il termine di errore e = y-f (w, x) e aggiorna i pesi diconseguenza. Il problema è come determinare il vero valore di y per i nodi hidden?

Calcola un errore approssimativo dei nodi hidden attraverso l’errore dei nodi di output. Tuttavia, non èchiaro in che modo la correzione nei nodi hidden influisca sull'errore generale e non c’è nessunagaranzia di convergenza alla soluzione ottimale

Un buon metodo è la discesa di gradiente

Gradient Descent for Multilayer NN (La funzione di attivazione f deve essere differenziabile)

Funzione

d’errore da minimizzare:
Funzione quadratica da cui possiamo trovare una soluzione di minimo globale
- Aggiornamento dei pesi (i pesi vengono aggiornati nella direzione opposta al gradiente della loss function:
La direzione del gradiente è la direzione di salita della funzione di errore. Prendendo il negativo stiamo andando in discesa. Speriamo di minimizzare l'errore.
- Per la funzione di sigmoid otteniamo:
- La discesa di gradiente stocastica aggiorna i pesi immediatamente
Per i neuroni di output, la formula di aggiornamento del peso è la stessa vista prima (discesa di gradiente per il perceptron).
Per i neuroni hidden:
Training Multilayer NN
Error Backpropagation
L'errore viene calcolato nell’output e propagato indietro fino all’input attraverso la catena di regole per calcolare il contributo di ogni peso (derivato) alla loss (perdita). È un processo in 2 passaggi
1. Forward pass - Calcola l'output della rete
2. Backward pass - calcola irete neurale.rete neurale. È la pratica di mettere a punto ipesi di una rete neurale in base al tasso di errore (loss) ottenuto nell'epoca (iterazione) precedente. La corretta regolarizzazione dei pesi garantisce tassi di errore inferiori, rendendo il modello affidabile e aumentandone la generalizzazione. Importance of Error Functions La funzione errore/loss/costo riduce tutti i vari aspetti positivi e negativi di un sistema eventualmente complesso fino a un singolo numero, un valore scalare, che consente di confrontare le soluzioni candidate. È importante, quindi, che la funzione rappresenti fedelmente i nostri obiettivi di progettazione. Se scegliamo una funzione di errore scadente e otteniamo risultati insoddisfacenti, la colpa è nostra per aver specificato male l'obiettivo del
Dettagli
Publisher
A.A. 2020-2021
133 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher MeagerAxis_MB di informazioni apprese con la frequenza delle lezioni di Data Mining 2 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pisa o del prof Guidotti Riccardo.