Reti Neurali

Le tecniche di Ensemble Learning costruiscono modelli complessi combinando più classificatori relativamente semplici. Le reti neurali seguono invece una filosofia differente: invece di combinare classificatori indipendenti, costruiscono un unico modello parametrico in grado di apprendere simultaneamente una rappresentazione dei dati e la funzione di classificazione.

Figura 5.8: Esempio di topologia di una rete neurale.
Image fig_nn

La ricerca sul Machine Learning (e in generale la Visione Artificiale) ha sempre cercato di trarre spunto per lo sviluppo degli algoritmi dal cervello umano. Le reti neurali artificiali (artificial neural networks ANN) si basano sul concetto di “neurone artificiale” ovvero una struttura che, similarmente ai neuroni degli esseri viventi, applica una trasformazione non lineare (detta funzione di attivazione) ai contributi pesati dei diversi ingressi del neurone:

\begin{displaymath}
y_{k} = f_{k} \left(\sum_i w_{k,i} x_{k,i} + b_{k}\right)
\end{displaymath} (5.126)

dove $x_{k,i}$ sono i vari ingressi relativi al $k$-esimo neurone a cui sono associati i pesi $w_{k,i}$, $y_{k}$ è la risposta del neurone e la funzione di attivazione $f$, fortemente non lineare, normalmente è una funzione gradino, una sigmoide o una funzione logistica. Il bias $b$ a volte viene simulato con un ingresso costante $x_{k}=+1$.

La rete neurale più semplice, composta da uno stadio di ingresso e uno stadio di uscita, è assimilabile al modello di perceptrone (perceptron) introdotto da Rosenblatt nel 1957. Similarmente al cervello degli esseri viventi, una rete neurale artificiale consiste nella connessione di diversi neuroni artificiali.

La geometria di una rete neurale feedforward, la topologia normalmente utilizzata in applicazioni pratiche, è quella del MultiLayer Perceptron MLP e consiste nella combinazione di molteplici strati nascosti di neuroni che collegano lo stadio degli ingressi con lo stadio delle uscite, stadio che sarà l'ingresso dello strato successivo.

La fase di addestramento consiste nello stimare i pesi $w^{k}_i$ che minimizzano l'errore tra le etichette di addestramento e i valori predetti dalla rete $f_w(\mathbf{x})$:

\begin{displaymath}
S(\mathbf{w}) = \sum_i \left\Vert \mathbf{y}_i - f_\mathbf{w}(\mathbf{x}_i) \right\Vert^2
\end{displaymath} (5.127)

La stima dei pesi $w^{k}_i$ si può ottenere con tecniche note di ottimizzazione: di norma viene sfruttata la tecnica della back propagation che di fatto è una discesa del gradiente con la chain-rule per il calcolo delle derivate, essendo le MLP strutture stratificate.



Subsections
Paolo medici
2026-10-06