Come è fatta una rete neurale (seconda parte)

AI, INTELLIGENZA ARTIFICIALE

Nell’ultimo articolo ho introdotto il tema delle funzioni statistiche ed in particolare della regressione lineare, quale strumento per effettuare analisi predittive. Per continuità, prima di passare oltre ed iniziare ad affrontare il tema più specifico del machine learning  e del deep learning,  proverò a completare il quadro.

Ho voluto soffermarmi , dunque, sui metodi statistici, sebbene “a mio avviso già superati”, se non altro perchè le tecniche utilizzate, almeno fino a qualche anno fa, erano limitate per problemi computazionali esclusivamente a strumenti come la regressione lineare o modelli lineari generalizzati e comunque rapprensentano la storia consolidata.

Tuttavia, le recenti innovazioni tecnogiche quali l’introduzione dell’uso delle GPU (graphics processing unit ) o dei più recenti NNPNeural Network Processor) nel campo della AI , hanno consentito e consentiranno sempre più velocemente  lo sfruttamento  di algoritmi più sofisticati ed automatici  di Machine Learning e deep Learning.

A differenza dei metodi tradizionali di regressione, il Machine Learning introduce  tecniche non parametriche. Nei prossimi articoli parleremo delle differenze degli algoritmi di Machine Learning,  distinguibili sostanzialmente  in due diverse categorie, supervised e unsupervised, che differiscono tra loro nei criteri utilizzati per classificare i dati e nel fornire le predizioni. Ma di questo parleremo in seguito.

Tornando sui nostri passi completiamo il nostro tour sull’approccio statistico.

Come dicevano, la regressione lineare è uno strumento molto semplice e nel contempo molto potente, ma non risponde sempre efficacemente alle diverse esigenze , in quanto la complessità dello spazio di dispersione ( legato ai dati campione) può suggerire la necessità di utilizzare funzioni ben più complesse di una retta. Ciò è facilmente comprensibile se si osservano i dati di esempio, in cui è evidente quanto di fatto una funzione lineare (una retta) non risponda sempre alla esigenze di modello e pertanto diventa necessario scegliere delle curve diverse più complesse.

 

Capito dunque che una retta non è sempre la scelta migliore, resta dunque un problema da risolvere;  quale funzione si deve  scegliere ? e come si fa  a sapere se la funzione scelta quale modello di riferimento  è più o meno efficace ?

In merito, al secondo punto, viene in nostro aiuto  uno strumento  per valutare la bontà del modello scelto,  chiamato coefficiente di determinazione o bontà di adattamento (più comunemente R2) che  è una proporzione tra la variabilità dei dati e la correttezza del modello statistico utilizzato;  giusto per dare un quadro esaustivo in formule si ha :

ovvero R2 è il rapporto tra la devienza di errore e la devianza totale.

Cerchiamo di approfondire il concetto analizzando l’esempio di figura in cui tenteremo di capire come costruire un modello predittivo di analisi dei prezzi di un immobile al variare, ad esempio, del numero di vani (linea blu). Nella figura pertanto , la linea blu rapprensenta il grafico di dispersione ( i dati reali e cioè il valore di un immobile al variare della numero di vani), la linea gialla rappresenta la curva di regressione (ovvero il nostro modello predittivo) ed infine la linea verde rappresenta la media ( la media del valore di un immobile ).

Come già descritto nell’articolo precendente la retta di regressione è il risultato  di un calcolo che porta a determinare quella curva che  minimizza il costo, ovvero signifca  scegliere opportunamente i valori w e b e cioè il  coefficiente angolare l’ intercetta della retta.

y= wx+b

Per dare il giusto significato a quanto detto diamo qualche breve definizione:

Devianza totale : 

dove D0  è la differenza tra il valore reale e la media dei valori

Devianza di errore:

dove D1  è la differenza tra il valore reale ed il valore predetto o di regressione

Devianza di regressione:

dove D2  è la differenza tra il valore predetto o di regressione e la media dei valori

inoltre la devianza totale è dunque :

DEV(y) = DEV(E)+DEV(R)

per cui facendo qualche semplice calcolo avremo che il coefficiente di determinazione può essere calcolato anche come :

dove può assumere valori compresi tra 0 e 1 

In definitiva basta ricordarsi e sapere  che se :

il modello è pessimo,  mentre se

il modello è perfetto ed in tal caso la : DEV(E) = 0 DEV(y) = DEV(R)

Quindi più vicino a 1 è il valore dell’indice di bontà migliore sarà il modello che utilizzeremo.

Esistono ovviamente altri metodi per calcolare l’indice di bontà e molti altri aspetti da analizzare ma lasciamo ad altri articoli l’approfondimento di questi temi.

Quello che è importante è che abbiamo capito che individuare un modello di regressione con un valore di bontà prossimo a 1 significa poter usare  un modello predittivo di machine learning ottimale.

A questo punto non ci resta che fare un piccolo esempio pratico e per lo scopo, anzichè fare i calcoli a mano ci facciamo aiutare dal mitico excel. Partiamo da un piccolo set di dati campione  ( ovviamente in un caso reale dovremmo avere a disposizione un set significativo)  e proviamo a costruire un sistema predittivo che sia in grado di darci il prezzo di un immobile  ovvero il  valore  predetto, in base ad un valore di ingresso che sarà la nostra richiesta di valutazione in base ai metri quadri.

Partendo dal set di dati inseriamo con excel un grafico a dispersione

Selezionate le righe mt e prezzo ecco  il risultato.

Ovviamente bisogna dire ad Excel di inserire anche le linee di regressione; nel mio caso ho inserito una regressione lineare ed una del terzo grado per dare il senso di come sia possibile modellare il sistema con curve differenti. Per fare questo ultimo passo è stato sufficente  selezionare/cliccare  sui  punti del grafico di dispersione ( punti blu ) e con il tasto destro del mouse selezionare nel menu aggiungi linee di tendenza.

Abbiamo così ottenuto i modelli di regressione ed a questo punto  possiamo valutarne l’efficacia grazie al fattore R².

Nel caso di esempio  la regressione del terzo ordine ha un fattore  leggermente migliore.

y = 3,124x – 49,725
R² = 0,416

Regressione Lineare del terzo ordine

y = -0,0007x3 + 0,2692x2 – 29,143x + 1192,6
R² = 0,4306

articolo precedente ( prima parte )

articolo successivo ( terza parte )

Sono amante della tecnologia e delle tante sfumature del mondo IT, ho partecipato, sin dai primi anni di università ad importanti progetti in ambito Internet proseguendo, negli anni, allo startup, sviluppo e  direzione di diverse aziende; Nei primi anni di carriera ho lavorato come consulente nel mondo dell’IT italiano, partecipando attivamente a progetti nazionali ed internazionali per realtà quali Ericsson, Telecom, Tin.it, Accenture, Tiscali, CNR. Dal 2010 mi occupo di startup mediante una delle mie società techintouch S.r.l che grazie alla collaborazione con la  Digital Magics SpA, di cui sono Partner la Campania, mi occupo di supportare ed accelerare aziende del territorio .

Attualmente sono :

  • CEO e founder di Eclettica S.r.l. , Società specializzata in sviluppo software e System Integration
  • Co-CEO in Techintouch s.r.l. e partner per la Campania di Digital Magics S.p.A.

Manager ed imprenditore dal  2000  sono stato, CTO e co-founder di Nexsoft S.p.A, società specializzata nella Consulenza di Servizi in ambito Informatico e sviluppo di soluzioni di System Integration, CTO della ITsys S.r.l. Società specializzata nella gestione di sistemi IT per la quale ho partecipato attivamente alla fase di startup.

Sognatore da sempre, curioso di novità ed alla ricerca di “nuovi mondi da esplorare“.

Please follow and like us:

Commenti

Privacy Preference Center

Close your account?

Your account will be closed and all data will be permanently deleted and cannot be recovered. Are you sure?