Il teorema di Cybenko

Teorema di Cybenko

Il teorema di Cybenko, formulato dal matematico ucraino George Cybenko nel 1989, afferma che ogni funzione continua può essere approssimata da una rete neurale a strati (feedforward) con un singolo strato nascosto, a patto che la funzione di attivazione utilizzata nei nodi di questo strato sia non costante, limitata e monotona crescente.

In altre parole, questo teorema dimostra che una rete neurale con un singolo strato nascosto può approssimare qualsiasi funzione continua, e che questo strato potrebbe contenere un numero sufficientemente grande di neuroni se si utilizza una funzione di attivazione adeguata.

Il teorema di Cybenko dimostra la potenza e la flessibilità delle reti neurali, e offre una base teorica alla comprensione e all’utilizzo di questo tipo di algoritmo di apprendimento automatico.

Consideriamo la funzione f(x) = sin(x), che è una funzione continua con un dominio infinito su tutta la retta reale.

Secondo il teorema di Cybenko, questa funzione potrebbe essere approssimata da una rete neurale a strati con un singolo strato nascosto, a patto che si utilizzi una funzione di attivazione non costante, limitata e monotona crescente. Ad esempio, si potrebbe utilizzare la funzione sigmoide, definita come 1/(1+e-x).

Per addestrare la rete neurale, si potrebbe utilizzare un algoritmo di discesa del gradiente e un metodo di regolarizzazione per evitare l’overfitting dei dati di addestramento. In questo caso, i dati di addestramento consisterebbero in una serie di input x e di output f(x) corrispondenti.

In pratica, la rete neurale con un singolo strato nascosto potrebbe approssimare con sufficiente precisione la funzione sinusoidale, oltre ad altre funzioni continue. Reti neurali più complesse, a più strati, possono fornire prestazioni migliori nel

"KNIME Analytics Platform per Data Scientists, corso base o intermedio" su Udemy a 12.99€