Artificial Neural Network (ANN) in Machine Learning – Data Science Central
Il Settembre 24, 2021 da adminReti Neurali Artificiali – Introduzione
Le reti neurali artificiali (ANN) o reti neurali sono algoritmi computazionali.
Si intende simulare il comportamento di sistemi biologici composti da “neuroni”. Le ANN sono modelli computazionali ispirati al sistema nervoso centrale di un animale. Sono capaci di apprendimento automatico e di riconoscimento di modelli. Si presentano come sistemi di “neuroni” interconnessi che possono calcolare valori dagli input.
Una rete neurale è un grafico orientato. Consiste di nodi che nell’analogia biologica rappresentano i neuroni, collegati da archi. Corrisponde a dendriti e sinapsi. Ogni arco associato ad un peso mentre ad ogni nodo. Applica i valori ricevuti come input dal nodo e definisce la funzione di attivazione lungo gli archi in entrata, regolata dai pesi degli archi.
Una rete neurale è un algoritmo di apprendimento automatico basato sul modello di un neurone umano. Il cervello umano è composto da milioni di neuroni. Esso invia ed elabora segnali sotto forma di segnali elettrici e chimici. Questi neuroni sono collegati con una struttura speciale conosciuta come sinapsi. Le sinapsi permettono ai neuroni di passare segnali. Da un gran numero di neuroni simulati si formano reti neurali.
Una rete neurale artificiale è una tecnica di elaborazione delle informazioni. Funziona come il modo in cui il cervello umano elabora le informazioni. ANN include un gran numero di unità di elaborazione collegate che lavorano insieme per elaborare le informazioni. Generano anche risultati significativi da esso.
Possiamo applicare la rete neurale non solo per la classificazione. Si può anche applicare per la regressione di attributi continui.
Le reti neurali trovano grande applicazione nel data mining utilizzato nei settori. Per esempio economia, medicina legale, ecc. e per il riconoscimento di modelli. Può anche essere usata per la classificazione dei dati in una grande quantità di dati dopo un attento addestramento.
Una rete neurale può contenere i seguenti 3 strati:
- Strato di ingresso – L’attività delle unità di ingresso rappresenta le informazioni grezze che possono alimentare la rete.
- Strato nascosto – Per determinare l’attività di ogni unità nascosta. Le attività delle unità di input e i pesi sulle connessioni tra l’input e le unità nascoste. Ci possono essere uno o più strati nascosti.
- Strato di uscita – Il comportamento delle unità di uscita dipende dall’attività delle unità nascoste e dai pesi tra le unità nascoste e di uscita.
Strati di rete neurale artificiale
La rete neurale artificiale è tipicamente organizzata in strati. Gli strati sono costituiti da molti “nodi” interconnessi che contengono una “funzione di attivazione”. Una rete neurale può contenere i seguenti 3 strati:
a. Strato di input
Lo scopo dello strato di input è di ricevere come input i valori degli attributi esplicativi per ogni osservazione. Di solito, il numero di nodi di input in uno strato di input è uguale al numero di variabili esplicative. Lo ‘strato di input’ presenta i modelli alla rete, che comunica a uno o più ‘strati nascosti’.
I nodi dello strato di input sono passivi, cioè non modificano i dati. Ricevono un singolo valore in ingresso e duplicano il valore alle loro numerose uscite. Dallo strato di input, duplica ogni valore e lo invia a tutti i nodi nascosti.
b. Strato nascosto
Gli strati nascosti applicano delle trasformazioni date ai valori di input all’interno della rete. In questo, gli archi in entrata che vanno da altri nodi nascosti o dai nodi d’ingresso collegati ad ogni nodo. Si connette con gli archi in uscita ai nodi di uscita o ad altri nodi nascosti. Nello strato nascosto, l’elaborazione effettiva viene fatta tramite un sistema di “connessioni” pesate. Ci possono essere uno o più strati nascosti. I valori che entrano in un nodo nascosto vengono moltiplicati per i pesi, un insieme di numeri predeterminati memorizzati nel programma. Gli ingressi ponderati sono poi aggiunti per produrre un singolo numero.
c. Strato di uscita
Gli strati nascosti si collegano poi ad uno “strato di uscita”. Lo strato di uscita riceve le connessioni dagli strati nascosti o dallo strato di ingresso. Restituisce un valore di uscita che corrisponde alla previsione della variabile di risposta. Nei problemi di classificazione, di solito c’è solo un nodo di uscita. I nodi attivi dello strato di uscita combinano e modificano i dati per produrre i valori di uscita.
La capacità della rete neurale di fornire un’utile manipolazione dei dati sta nella corretta selezione dei pesi. Questo è diverso dall’elaborazione convenzionale delle informazioni.
Struttura di una rete neurale
La struttura di una rete neurale viene anche chiamata “architettura” o “topologia”. Consiste nel numero di strati, unità elementari. Consiste anche in un meccanismo di regolazione dei pesi interconnessi. La scelta della struttura determina i risultati che si otterranno. È la parte più critica dell’implementazione di una rete neurale.
La struttura più semplice è quella in cui le unità si distribuiscono in due strati: Uno strato di input e uno strato di output. Ogni unità nello strato di input ha un singolo input e un singolo output che è uguale all’input. L’unità di output ha tutte le unità dello strato di input collegate al suo input, con una funzione di combinazione e una funzione di trasferimento. Ci può essere più di 1 unità di uscita. In questo caso, il modello risultante è una regressione lineare o logistica, a seconda che la funzione di trasferimento sia lineare o logistica. I pesi della rete sono coefficienti di regressione.
Aggiungendo 1 o più strati nascosti tra gli strati di input e di output e le unità in questo strato il potere predittivo della rete neurale aumenta. Ma il numero di strati nascosti dovrebbe essere il più piccolo possibile. Questo assicura che la rete neurale non memorizzi tutte le informazioni dal set di apprendimento ma possa generalizzarle per evitare l’overfitting.
L’overfitting può verificarsi. Si verifica quando i pesi fanno sì che il sistema impari i dettagli dell’insieme di apprendimento invece di scoprire le strutture. Questo accade quando la dimensione del set di apprendimento è troppo piccola in relazione alla complessità del modello.
Uno strato nascosto è presente o meno, lo strato di uscita della rete può talvolta avere molte unità, quando ci sono molte classi da prevedere.
Svantaggi e svantaggi delle reti neurali
Vediamo alcuni vantaggi e svantaggi delle reti neurali:
- Le reti neurali funzionano bene con dati lineari e non lineari ma una critica comune alle reti neurali, in particolare nella robotica, è che richiedono una grande diversità di addestramento per il funzionamento nel mondo reale. Questo perché qualsiasi macchina di apprendimento ha bisogno di sufficienti esempi rappresentativi per catturare la struttura sottostante che le permette di generalizzare a nuovi casi.
- Le reti neurali funzionano anche se una o poche unità non riescono a rispondere alla rete ma per implementare grandi ed efficaci reti neurali software, è necessario impegnare molte risorse di elaborazione e memorizzazione. Mentre il cervello ha un hardware fatto su misura per il compito di elaborare i segnali attraverso un grafico di neuroni, la simulazione anche della forma più semplificata sulla tecnologia Von Neumann può costringere un progettista di reti neurali a riempire milioni di righe di database per le sue connessioni – il che può consumare grandi quantità di memoria del computer e spazio su disco rigido.
- Le reti neurali imparano dai dati analizzati e non richiedono riprogrammazione, ma sono indicate come modelli “scatola nera”, e forniscono molto poco su ciò che questi modelli fanno veramente. L’utente ha solo bisogno di alimentare l’input e guardarlo allenarsi e attendere l’output.
Conclusione
Le RNA sono considerate come semplici modelli matematici per migliorare le tecnologie esistenti di analisi dei dati. Anche se non è paragonabile alla potenza del cervello umano, è comunque l’elemento base dell’intelligenza artificiale.
Lascia un commento