BIOINGEGNERIA S. Salinari Lezione 4 Problemi di Regressione e Classificazione Problemi di regressione: Determinazione dei parametri di una funzione che lega gli insiemi di ingresso ed uscita (previsione) Problemi di classificazione: Associazione di un ingresso ad una determinata classe (riconoscimento e diagnostica) DIFFICOLTA’ Elevata dimensione dei dati Approccio manuale- Ad esempio: Caratteristiche morfologiche ESTRAZIONE DI CARATTERISTICHE Approccio automatico- Ad esempio: Componenti significative dello spettro Dati non separabili I dati di ingresso appartenenti alle varie classi possono non essere separabili Problemi di Regressione e Classificazione Entrambi i problemi possono essere visti come problemi di APPROSSIMAZIONE DI FUNZIONI. Nella regressione si vuole approssimare la funzione che lega i dati ingresso-uscita Nella classificazione si vuole approssimare la probabilità di apartenenza a varie classi espressa come funzione dell’ingresso Problemi di Regressione e Classificazione REGRESSIONE Algoritmo LMS (Least Mean Square) x1 Fornisce una regola per la determinazione dei pesi w nella regressione lineare: w1 x2 w2 n y wi xi w T x w x cos i 1 Se ||x|| =1 y = ||w|| cos wn xn x = [x1 x2.....xn]T x2 w = [w1 w2.....wn] T w ||w|| ||x|| cos x x1 S y Problemi di Regressione e Classificazione REGRESSIONE Algoritmo LMS - Regola di variazione dei pesi Si presuppone di avere un insieme di addestramento, cioè un certo numero di coppie ingresso-uscita: x y i i M i 1 x1i x 2i .........x ni y i x 1 La regola di aggiornamento dei pesi è: Dw = (y i* - yi)xi dove xi i-esimo ingresso dell’insieme di addestramento, y uscita corrispondente all’ingresso xi e ai pesi w, y*i uscita desiderata. Per rendere l’algoritmo robusto si può usare: Dw = m(y i* - yi)xi Se ||x||1 0m≤2 0 m 2 /||x|| Problemi di Regressione e Classificazione REGRESSIONE Algoritmo LMS Si mostrano i primi due passi dell’aggiornamento di w. m =1 y* (1) x2 x (1) w* x (2) y* (2) x1 Passo 2 Passo 1 y *(2) x2 Dw w (0) w (1) x (2) y *(1) x (1) x1 Dw w (1) w (2) Problemi di Regressione e Classificazione REGRESSIONE Algoritmo LMS •In generale può non esistere nessun w* per cui, i, la proiezione di w* su xi sia uguale a y i* . •La soluzione w* è quella che minimizza la somma dei quadrati delle distanze, per ogni xi dai rispettivi iperpiani soluzione. L’algoritmo LMS individua quindi la “migliore retta” passante per l’origine che descrive l’andamento dei dati. •Se si vuole che la retta di regressione non passi per l’origine si può considerare un vettore w = [b w1 w2 ……wn] e x = [1 x1 x2 ……xn]. In questo caso si ottiene: n y b wi xi w T x i 1 •Si possono utilizzare anche funzioni di regressioni diverse. Ad es. La regressione polinomiale: y b w1 z w 2 z 2 w n z n •I dati d’ingresso debbono essere molto maggiori dei parametri da determinare Problemi di Regressione e Classificazione Il Percettrone E’ la più elementare rete neurale:non si hanno connessioni fra gli ingressi, non si hanno strati intermedi, non si hanno cammini indietro (rete feed-forward) Si consideri per semplicità una sola uscita corrispondente ad una funzione Booleana 0,1. Ad esempio l’ingresso può corrispondere a dati diagnostici relativi ad un paziente e l’uscita alla classificazione Sano = 0, Malato = 1. Si assume come funzione di attivazione (funzione f: Rn [0,1]) la funzione di Heaviside con soglia: wTx- ≥ 0 y=1 wTx- 0 y=0 x1 x2 w1 w2 y {0,1} wn xn -1 x = [x1 x2.....xn]T w = [w1 w2.....wn] T Problemi di Regressione e Classificazione REGOLA DI APPRENDIMENTO 1. Si fissano i pesi iniziali w in modo arbitrario 2. Si sceglie un elemento nell’insieme xk C1( y=0)C2( y=1) di apprendimento. 3. Se xk viene classificato correttamente (cioè l’uscita della rete corrisponde alla yk dell’insieme di apprendimento) si lasciano i pesi w invariati 4. Altrimenti si pone: w k 1 w k x se C 2 viene classifica to come C1 w k x se C1 viene classifica to come C 2 Teorema di convergenza: Comunque si scelgano i pesi iniziali w se le classi C1 e C2 sono linearmente separabili la procedura di apprendimento termina in un numero finito di passi. Problemi di Regressione e Classificazione ESEMPIO Come esempio consideriamo un percettrone che deve realizzare le funzioni logiche di AND OR ed EXOR. Di queste tre funzioni due (AND e OR) danno origine a classi linearmente separabili ed una no. (0,1) (0,0) (1,1) (1,0) (0,1) (0,0) (1,1) (1,0) (0,1) (0,0) (1,1) (1,0) Il indica che l’uscita è pari ad 1 per l’ingresso indicato fra parentesi. Si può immediatamente osservare che le uscite della funzione AND e OR sono linearmente separabili mentre ciò non avviene per l’EXOR Problemi di Regressione e Classificazione ESEMPIO Si può dimostrare che il percettrone non permette di realizzare la funzione EXOR. Infatti supponiamo di vor calcolare i pesi w1 e w2 imponendo le uscite dell’EXOR x1 x2 H(w1x1+ w2x2-) w1 w2 S -1 H(x) funzione di Heaviside =0 se x<0 e =1 se x>0. x1=0, x2=0 w1·0 + w2·0 - ·1 = - <0 H(0.0) = 0 x1=1, x2=1 w1·1 + w2·1 - ·1 = w1 +w2- <0 H(1.1) = 0 x1=1, x2=0 w1·1 + w2·0 - ·1 = w1- >0 H(1.0) = 1 x1=0, x2=1 w1·0 + w2·1 - ·1 = w2- >0 H(0.1) = 1 Si ottiene quindi: 2 <w1+w2 < assurdo poichè >0 w1+w2-2 >0 Problemi di Regressione e Classificazione ESEMPIO Per superare la limitazione dovuta alla necessità di separabilità delle classi si introduce il percettrone generalizzato in cui vengono introdotti gli strati nascosti -1 1.5 -1 0.5 x1 x2 1 1 1 H1 -2 y H2 1 REALIZZAZIONE DELL’EXOR Le connessioni sono unidirezionali Non ci sono connessioni tra gli ingressi I pesi vengono trovati minimizzando l’errore (uscita desiderata meno uscita attuale) Non è garantita la convergenza x =(0,0) H1=H(1·0+1·0-1·1.5)<00 H2=H(1·0+1·0-2·0-1·0.5) <0 0 x =(1,0) H1=H(1·1+1·0-1·1.5)<00 H2=H(1·1+1·0-2·0-1·0.5) >0 1 x =(0,1) H1=H(1·0+1·1-1·1.5)<00 H2=H(1·0+1·1-2·0-1·0.5) >0 1