====== Single layer ====== Una Rete neurale artificiale composta da un solo strato di neuroni ha capacità molto limitate. Nel 1969 si è dimostrato che un solo percettrone con **due input** potrebbe imitare solo funzioni //[[http://en.wikipedia.org/wiki/Linearly_separable|linearmente separabili]]// come AND e OR, mentre non potrebbe imitare una funzione XOR perché quest'ultima non è linearmente separabile. http://automatica.ing.unibs.it/mco/cgsa/neurali/il_percettrone.htm Nella seguente figura è mostrata una rete composta da due strati di neuroni (hidden layer, in verde). {{:neurali:rete.png|}} In certi esempi, ho trovato scritto che una rete single layer è composta da ZERO hidden layer Questo tipo di reti sono lineari e permettono di realizzare soluzioni SOLO a problemi che ammettono una soluzione lineare (o le cui classi di soluzioni sono linearmente separabili), escludendo il problema dell'imitazione della funzione XOR, perché i punti non sono linearmente separabili. {{ :neurali:ann_singlelayer.png?200 |}} Approfondimento sull'[[neurali:multi-layer#bias unit|unità con valore "1"]] (unitario) Seguendo un metodo di addestramento [[neurali:supervisioned learning rule]] si deve minimizzare la differenza tra i valori di output attesi e quelli effettivi (detta errore). In questo caso la soluzione dei pesi sinaptici è calcolabile anche analiticamente tramite il metodo della [[neurali:regressione lineare]]. Si deriva la funzione errore rispetto ai pesi sinaptici. Aggiungendo un hidden layer in più e infittendo i neuroni su questo layer si ottengono reti neurali multilayer (non lineari) e si possono realizzare le imitazioni di qualsiasi funzione. È non lineare perché la sua funzione è non lineare???? {{ :neurali:ann_multilayer.png?300 |}}