Attualmente sto concludendo le pratiche finali di 7.3 Reti Neurali in Modellazione predittiva e text mining modulo nel Corso JMP STIPS .Adattare una rete neurale e comprendere la funzione di base di un nodo nello strato nascosto come modello di regressione appare intuitivamente facile. Tuttavia, mi chiedo se e spero che qualcuno con più conoscenze nella comunità possa fornire risposte alle domande che ho ancora dopo la formazione di base che ho appena seguito. Per l'esempio di cui voglio discutere ho usato file GreenPolymerProduction.jmp e la versione standard di JMP. Si allega copia del file comprensivo del modello.
Lo schema del modello è mostrato di seguito. Possiamo vedere che i dati per ciascuno degli otto predittori vengono inseriti in ciascuno dei tre nodi nel livello nascosto. Ogni nodo nel livello utilizza una funzione di attivazione TanH.

Ho salvato le formule per il modello nella tabella. Di seguito sono mostrate le schermate delle formule utilizzate in ciascuno dei tre nodi.
Domanda n.1: Come posso interpretare il fatto che ogni nodo ha una formula diversa per la stessa funzione di attivazione? Intuitivamente sembra ingenuo aspettarsi che la stessa formula venga utilizzata in ciascun nodo, ma mi chiedo ancora come JMP arrivi ai risultati mostrati di seguito. Un'interpretazione a cui ho pensato è che ogni nodo riceve dati di input diversi, il che mi porterebbe ad aspettarmi formule diverse come mostrato di seguito, ma questa ipotesi potrebbe essere grossolanamente sbagliata.
Domanda n. 2: Qualcuno che può condividere buoni riferimenti (usando preferibilmente spiegazioni fenomenologiche) per documentarsi sulle reti neurali per principianti?



Saluti @Victor_G , Non ho dubbi che questo migliorerà la mia comprensione. Lo apprezzo.
CIAO @Ressel ,
Buon anno a te !
Per quanto riguarda le tue domande:
- Il Teorema dell'Approssimazione Universale ( https://en.m.wikipedia.org/wiki/Universal_appimation_theorem ) afferma che le reti neurali con sufficienti strati nascosti e numero di neuroni sono in grado di rappresentare qualsiasi funzione lineare o non lineare. Sono in grado di approssimare questa grande varietà di funzioni/profili, poiché si basano su una combinazione ponderata di più funzioni matematiche semplici (TanH, sigmoide, ...). Ogni nodo sta solo cercando di avere un pezzo utile del puzzle (funzione) che sta cercando di risolvere, quindi arrivano gli stessi dati, ma vengono create parti diverse (della funzione finale) per essere combinate e ottenere l'output desiderato.
Nello screenshot, tre funzioni TanH sono combinate con pesi diversi (e formule diverse che mescolano gli input) per arrivare alla formula di previsione finale.
Informazioni sulle risorse:
- Puoi dare un'occhiata a questo sito che spiega in grande dettaglio un esempio per ricostruire una funzione con le reti neurali: http://neuralnetworksanddeeplearning.com/chap4.html#:~:text=No%20matter%20what%20the%20function,m)%2C%20and%20many%20outputs
- Mi piace molto anche il canale YouTube StatQuest, dove Josh Starmer ha spiegato davvero bene il funzionamento interno di una rete neurale su un semplice caso d'uso: https://youtu.be/CqOfi41LfDw?si=leA0KeTcgSY3YW70
- C'è anche una pagina di apprendimento dedicata alle Reti Neurali realizzata dal team di MLU Explain, davvero ben fatta e facile da seguire: https://mlu-explain.github.io/neural-networks/
- Infine, puoi anche provare diverse configurazioni di reti neurali su vari casi di classificazione/regressione di casi d'uso in questo parco giochi interattivo di reti neurali, per vedere come vengono eseguiti l'addestramento e l'adattamento dei pesi: https://playground.tensorflow.org/#activation=tanh&batchSize=10&dataset=circle®Dataset=reg-plane&learningRate=0.03®ularizationRate=0&noise=0&networkShape=4,2&seed=0.88242&showTestData=false&discretize=false&percTrainData=50&x=true&y=true&xTimesY=fal se&xSquared=false&ySquared =false&cosX=false&sinX=false&cosY=false&sinY=false&collectStats=false&problem=classification&initZero=false&hideText=false
Spero che questa prima risposta ti possa aiutare 