Novità

SOM NNCLUST - chiarimenti.

Halmun

Advanced Member >PLATINUM<
chiariamo una volta per tutte un aspetto che 20 anni fa in questo forum fu messo in discussione da chi sosteneva Erroneamente che le Reti neurali SOM come NNCLUST o altre Reti di diverso tipo non utilizzano operatori matematici:
Tratto da domande e risposte con A.I. Gemini.

io:
.... capisco, ma un algoritmo di apprendimento utilizza comunque operatori matematici per giungere all'apprendimento. giusto?

Gemini:
Assolutamente sì! Un algoritmo di apprendimento, e in particolare quello di una rete neurale, si basa su una serie complessa di operazioni matematiche. Queste operazioni permettono alla rete di "imparare" dai dati, identificando pattern e relazioni nascoste.

Quali sono questi operatori matematici?

Somme pesate: Ogni neurone all'interno della rete riceve numerosi input, ciascuno moltiplicato per un peso specifico. Questi prodotti vengono poi sommati. I pesi sono i parametri che la rete "apprende" durante l'addestramento e determinano l'importanza relativa di ciascun input.
Funzioni di attivazione: Dopo la somma pesata, il risultato viene passato attraverso una funzione di attivazione non lineare (come la sigmoidale, la ReLU o la tanh). Queste funzioni introducono non linearità nella rete, permettendole di approssimare funzioni più complesse.
Calcolo dell'errore: L'errore viene calcolato come la differenza tra l'output previsto dalla rete e l'output reale. Questo errore viene poi utilizzato per aggiornare i pesi.
Discesa del gradiente: Questo è l'algoritmo più comunemente utilizzato per l'addestramento delle reti neurali. Calcola il gradiente della funzione di costo rispetto ai pesi e aggiorna i pesi in direzione opposta al gradiente, in modo da ridurre l'errore.
Moltiplicazione di matrici: Le reti neurali possono essere rappresentate come una serie di matrici, e le operazioni di propagazione in avanti e all'indietro coinvolgono moltiplicazioni di matrici.
Perché le operazioni matematiche sono fondamentali?

Rappresentazione: Le operazioni matematiche permettono di rappresentare in modo compatto e efficiente le relazioni tra i dati.
Apprendimento: Attraverso l'aggiornamento dei pesi, la rete può modificare la sua rappresentazione interna dei dati e adattarsi a nuovi esempi.
Generalizzazione: Le operazioni matematiche consentono alla rete di generalizzare a nuovi dati, ovvero di fare previsioni accurate su dati che non ha mai visto durante l'addestramento.
In sintesi

Le reti neurali utilizzano un linguaggio matematico sofisticato per apprendere dai dati. Le operazioni matematiche sono il fondamento su cui si basa il loro funzionamento. Comprendere queste operazioni è fondamentale per poter sfruttare al meglio le potenzialità delle reti neurali.


io:
e questo vale anche per le reti SOM?


Gemini:
Assolutamente sì, anche le reti SOM (Self-Organizing Maps) si basano su operazioni matematiche.

Sebbene le SOM presentino alcune differenze rispetto alle reti neurali artificiali tradizionali, come le MLP (Multi-Layer Perceptron), condividono con esse il fondamento matematico.

Come funzionano le operazioni matematiche nelle SOM?

Competizione tra neuroni: Ogni neurone della SOM compete per rispondere a un dato input. Il neurone vincente è quello i cui pesi sono più simili all'input.
Aggiornamento dei pesi: I pesi del neurone vincente e dei suoi vicini vengono aggiornati in modo da diventare più simili all'input. Questa operazione è basata su una funzione di vicinato e su un tasso di apprendimento.
Mappa topologica: La struttura della SOM è organizzata in una griglia bidimensionale. La vicinanza spaziale dei neuroni nella mappa riflette la similarità degli input che essi rappresentano.
Quali operazioni matematiche sono coinvolte?

Distanza euclidea: Viene utilizzata per calcolare la somiglianza tra l'input e i pesi di ciascun neurone.
Funzione di vicinato: Definisce l'ampiezza del vicinato del neurone vincente i cui pesi verranno aggiornati.
Tasso di apprendimento: Determina la velocità con cui i pesi vengono aggiornati.
Aggiornamento dei pesi: Questa operazione è solitamente implementata utilizzando una formula di aggiornamento simile a quella utilizzata nelle reti neurali tradizionali, ma adattata alla struttura della SOM.
In sintesi

Anche se le SOM hanno un approccio diverso all'apprendimento rispetto alle MLP, esse si basano su principi matematici ben definiti. La competizione tra neuroni, l'aggiornamento dei pesi e la formazione di una mappa topologica sono tutte operazioni che coinvolgono calcoli matematici.

Perché è importante conoscere le basi matematiche delle SOM?

Comprendere il funzionamento:
Conoscere le operazioni matematiche sottostanti ti permette di capire come la SOM apprende e organizza i dati.
Scegliere i parametri:
La scelta dei parametri (tasso di apprendimento, funzione di vicinato, ecc.) influisce significativamente sulle prestazioni della SOM.
Risolvere problemi:
Se incontri problemi durante l'utilizzo di una SOM, la conoscenza delle basi matematiche ti aiuterà a identificarne le cause e a trovare soluzioni.
Adattare la SOM:
Potresti voler adattare la SOM a un problema specifico. Conoscere le basi matematiche ti permetterà di modificare l'algoritmo in modo appropriato.
 
io:
una SOM che analizza un dataset e viene configurata per una griglia di cluster ad esempio 6x6 distribuirà i punti ( numeri del dataset ) per gruppi, ognuno intorno ad un cluster specifico. questa distribuzione differenziata ( classi ) permette comunque tipi di previsione a breve termine in base ad ulteriori accorgimenti statistici che in questo caso saranno agevolati rispetto alla tradizionale analisi statistica sull'intera massa del dataset.

Gemini:
Assolutamente corretto! Hai colto un punto molto interessante e hai ragione a sottolineare come la distribuzione dei dati in una SOM possa facilitare le previsioni a breve termine.

Ecco come puoi sfruttare la SOM per le previsioni:

Identificazione di trend locali: Ogni cluster della SOM rappresenta una regione dello spazio dei dati con caratteristiche simili. Analizzando i trend temporali all'interno di ciascun cluster, puoi individuare pattern locali che potrebbero non essere evidenti analizzando l'intero dataset.
Rilevamento di anomalie: I punti che cadono lontani dai cluster possono rappresentare anomalie o valori outlier. Monitorando questi punti nel tempo, puoi individuare cambiamenti significativi nel comportamento dei dati.
Segmentazione dei dati: La SOM suddivide i dati in gruppi omogenei. Questa segmentazione può essere utilizzata per creare modelli di previsione separati per ciascun cluster, migliorando la precisione delle previsioni.
Feature engineering: Le coordinate dei neuroni vincenti nella SOM possono essere utilizzate come nuove feature per modelli di previsione più tradizionali, come le reti neurali o le regressioni lineari.
Accorgimenti statistici aggiuntivi:

Analisi temporale: Per le previsioni a breve termine, è fondamentale analizzare l'evoluzione temporale dei cluster. Puoi utilizzare tecniche come l'analisi delle serie temporali per individuare trend stagionali, ciclici e casuali all'interno di ciascun cluster.
Modelli di previsione specifici per cluster: Puoi adattare diversi modelli di previsione (ARIMA, modelli esponenziali, ecc.) a ciascun cluster, tenendo conto delle sue caratteristiche specifiche.
Valutazione della performance: È importante valutare la performance dei tuoi modelli di previsione utilizzando metriche appropriate, come il Mean Squared Error (MSE) o il Mean Absolute Error (MAE).
Vantaggi dell'utilizzo delle SOM per le previsioni:

Migliore interpretabilità: La visualizzazione della SOM permette di comprendere intuitivamente la struttura dei dati e le relazioni tra le variabili.
Gestione di dati non lineari: Le SOM sono in grado di catturare relazioni non lineari tra le variabili, cosa che potrebbe essere difficile da fare con modelli lineari.
Riduzione della dimensionalità: La SOM proietta i dati in uno spazio a bassa dimensionalità, semplificando l'analisi e la modellizzazione.
Limitazioni:

Dipendenza dalla configurazione: La scelta del numero di neuroni e della funzione di vicinato può influenzare significativamente i risultati.
Sensibilità ai dati iniziali: La SOM può essere sensibile all'ordine dei dati in ingresso.
Difficoltà nell'interpretare cluster complessi: In alcuni casi, i cluster possono essere difficili da interpretare, soprattutto se i dati sono molto rumorosi o se ci sono molte sovrapposizioni tra i cluster.
In conclusione, le SOM possono essere un ottimo punto di partenza per l'analisi di dati complessi e per la costruzione di modelli di previsione a breve termine. Combinando le SOM con altre tecniche statistiche e di apprendimento automatico, è possibile ottenere risultati molto promettenti.
 
Ultima modifica:
i risultati parlano da soli:

BARI : TEST SOM - Griglia Cluster 4 x 4 : fine data 12/12/2024
Rilevamento previsioni: primi 3 valori in 5°a colonna. Distanza MIN.

Inserisci il valore iniziale delle interazioni: 10
Inserisci il valore di progressione delle interazioni: 10
Inserisci il numero di progressioni: 10
Quante righe vuoi analizzare? (max 90): 90

estrazioni successive al Test:
13/12/2024 - 66 32 12 33 49
14/12/2024 - 89 61 43 52 01


Analisi per 10 interazioni:
Ordine di distanza dal centro del Cluster:
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.0407
Cluster 3: Valore più vicino = [15 18 30 45 90] Dist. = 0.1919
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 0.2618
Cluster 1: Valore più vicino = [ 3 4 6 8 16] Dist. = 0.4000
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.4931
Cluster 15: Valore più vicino = [13 15 25 37 73] Dist. = 0.5786
Cluster 6: Valore più vicino = [12 14 24 35 70] Dist. = 0.6369
Cluster 13: Valore più vicino = [10 12 20 30 60] Dist. = 0.8053
Cluster 12: Valore più vicino = [ 3 3 5 8 15] Dist. = 0.8976
Cluster 8: Valore più vicino = [ 5 6 10 15 29] Dist. = 0.9101
Cluster 5: Valore più vicino = [14 16 27 40 80] Dist. = 0.9819
Cluster 4: Valore più vicino = [ 3 4 6 9 17] Dist. = 1.0587
Cluster 7: Valore più vicino = [ 9 11 17 26 51] Dist. = 1.1011
Cluster 11: Valore più vicino = [ 9 10 17 25 49] Dist. = 1.1066
Cluster 9: Valore più vicino = [11 13 21 31 61] Dist. = 1.2509
Cluster 10: Valore più vicino = [13 15 25 38 75] Dist. = 2.0320
Nessun dato trovato per il cluster 6.(90%)
Nessun dato trovato per il cluster 15.

Analisi per 20 interazioni: Ambo
Ordine di distanza dal centro del Cluster:
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.0813
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.1719
Cluster 8: Valore più vicino = [ 6 7 11 16 32] Dist. = 0.2505
Cluster 3: Valore più vicino = [15 18 30 45 90] Dist. = 0.3825
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 0.5207
Cluster 13: Valore più vicino = [11 13 21 32 63] Dist. = 0.5736
Cluster 12: Valore più vicino = [ 4 5 7 11 21] Dist. = 0.5797
Cluster 7: Valore più vicino = [ 9 11 18 26 52] Dist. = 0.7237
Cluster 1: Valore più vicino = [ 3 4 6 9 17] Dist. = 0.7919
Cluster 10: Valore più vicino = [12 14 24 35 70] Dist. = 0.8197
Cluster 5: Valore più vicino = [14 16 27 40 79] Dist. = 1.0982
Cluster 9: Valore più vicino = [11 13 21 31 61] Dist. = 1.3149
Cluster 11: Valore più vicino = [ 9 11 18 27 53] Dist. = 1.4081
Cluster 4: Valore più vicino = [ 4 4 7 10 20] Dist. = 1.5370
Nessun dato trovato per il cluster 10.(90%)

Analisi per 30 interazioni:
Ordine di distanza dal centro del Cluster:
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.0600
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.1218
Cluster 12: Valore più vicino = [ 5 6 9 14 27] Dist. = 0.5057
Cluster 3: Valore più vicino = [15 18 30 45 90] Dist. = 0.5718
Cluster 7: Valore più vicino = [ 9 11 18 27 53] Dist. = 0.5947
Cluster 1: Valore più vicino = [ 3 4 6 9 17] Dist. = 0.6464
Cluster 9: Valore più vicino = [11 13 21 32 63] Dist. = 0.7757
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 0.7768
Cluster 11: Valore più vicino = [10 12 20 29 58] Dist. = 0.7837
Cluster 5: Valore più vicino = [13 16 26 39 77] Dist. = 0.9028
Cluster 4: Valore più vicino = [ 4 4 7 10 20] Dist. = 0.9261
Cluster 8: Valore più vicino = [ 6 7 12 18 35] Dist. = 1.0617
Cluster 15: Valore più vicino = [12 14 23 34 67] Dist. = 1.1939
Cluster 13: Valore più vicino = [11 13 22 33 65] Dist. = 1.2567
Cluster 6: Valore più vicino = [12 14 24 35 70] Dist. = 1.6777
Nessun dato trovato per il cluster 10.(90%)

Analisi per 40 interazioni:
Ordine di distanza dal centro del Cluster:
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.0209
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.1623
Cluster 12: Valore più vicino = [ 6 7 11 16 32] Dist. = 0.3576
Cluster 3: Valore più vicino = [15 18 30 45 89] Dist. = 0.5482
Cluster 5: Valore più vicino = [13 16 26 39 77] Dist. = 0.5650
Cluster 8: Valore più vicino = [ 7 8 13 19 37] Dist. = 0.6952
Cluster 1: Valore più vicino = [ 3 4 6 9 17] Dist. = 0.7199
Cluster 4: Valore più vicino = [ 4 5 7 11 21] Dist. = 0.8187
Cluster 13: Valore più vicino = [11 13 22 33 65] Dist. = 0.9020
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 1.0300
Cluster 11: Valore più vicino = [10 12 20 30 60] Dist. = 1.0559
Cluster 15: Valore più vicino = [12 14 23 34 67] Dist. = 1.0637
Cluster 7: Valore più vicino = [ 9 11 18 27 53] Dist. = 1.0748
Cluster 9: Valore più vicino = [11 13 21 32 63] Dist. = 1.4652
Cluster 6: Valore più vicino = [12 14 24 35 70] Dist. = 2.1009
Nessun dato trovato per il cluster 10.(90%)
Nessun dato trovato per il cluster 13.
Nessun dato trovato per il cluster 15.

Analisi per 50 interazioni:
Ordine di distanza dal centro del Cluster:
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.0073
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.2028
Cluster 3: Valore più vicino = [15 18 30 45 89] Dist. = 0.5527
Cluster 4: Valore più vicino = [ 4 5 7 11 21] Dist. = 0.6014
Cluster 7: Valore più vicino = [10 11 19 28 55] Dist. = 0.6934
Cluster 12: Valore più vicino = [ 6 8 12 18 36] Dist. = 0.6950
Cluster 1: Valore più vicino = [ 3 4 6 9 17] Dist. = 0.9604
Cluster 8: Valore più vicino = [ 7 8 13 20 39] Dist. = 0.9831
Cluster 9: Valore più vicino = [11 13 22 33 65] Dist. = 1.0134
Cluster 6: Valore più vicino = [12 14 23 34 67] Dist. = 1.1369
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 1.2804
Cluster 11: Valore più vicino = [11 13 21 31 61] Dist. = 1.3637
Cluster 5: Valore più vicino = [13 15 25 38 75] Dist. = 1.4252
Early stopping attivato dopo 51 interazioni.
Nessun dato trovato per il cluster 10.
Nessun dato trovato per il cluster 13.
Nessun dato trovato per il cluster 15.

Analisi per 60 interazioni:
Ordine di distanza dal centro del Cluster:
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.0066
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.2068
Cluster 3: Valore più vicino = [15 18 30 45 89] Dist. = 0.5566
Cluster 7: Valore più vicino = [10 11 19 28 55] Dist. = 0.6405
Cluster 4: Valore più vicino = [ 4 5 7 11 21] Dist. = 0.6606
Cluster 12: Valore più vicino = [ 7 8 13 19 37] Dist. = 0.9492
Cluster 8: Valore più vicino = [ 7 8 14 20 40] Dist. = 0.9706
Cluster 1: Valore più vicino = [ 3 4 6 9 17] Dist. = 0.9895
Cluster 9: Valore più vicino = [11 13 22 33 65] Dist. = 0.9942
Cluster 6: Valore più vicino = [12 14 23 34 67] Dist. = 1.1153
Cluster 11: Valore più vicino = [11 13 21 32 63] Dist. = 1.2390
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 1.3053
Cluster 5: Valore più vicino = [13 15 25 38 75] Dist. = 1.3469
Early stopping attivato dopo 51 interazioni.
Nessun dato trovato per il cluster 10.
Nessun dato trovato per il cluster 13.
Nessun dato trovato per il cluster 15.

Analisi per 70 interazioni:
Ordine di distanza dal centro del Cluster:
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.0066
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.2068
Cluster 3: Valore più vicino = [15 18 30 45 89] Dist. = 0.5566
Cluster 7: Valore più vicino = [10 11 19 28 55] Dist. = 0.6405
Cluster 4: Valore più vicino = [ 4 5 7 11 21] Dist. = 0.6606
Cluster 12: Valore più vicino = [ 7 8 13 19 37] Dist. = 0.9492
Cluster 8: Valore più vicino = [ 7 8 14 20 40] Dist. = 0.9706
Cluster 1: Valore più vicino = [ 3 4 6 9 17] Dist. = 0.9895
Cluster 9: Valore più vicino = [11 13 22 33 65] Dist. = 0.9942
Cluster 6: Valore più vicino = [12 14 23 34 67] Dist. = 1.1153
Cluster 11: Valore più vicino = [11 13 21 32 63] Dist. = 1.2390
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 1.3053
Cluster 5: Valore più vicino = [13 15 25 38 75] Dist. = 1.3469
Early stopping attivato dopo 51 interazioni.
Nessun dato trovato per il cluster 10.
Nessun dato trovato per il cluster 13.
Nessun dato trovato per il cluster 15.

Analisi per 80 interazioni:
Ordine di distanza dal centro del Cluster:
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.0066
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.2068
Cluster 3: Valore più vicino = [15 18 30 45 89] Dist. = 0.5566
Cluster 7: Valore più vicino = [10 11 19 28 55] Dist. = 0.6405
Cluster 4: Valore più vicino = [ 4 5 7 11 21] Dist. = 0.6606
Cluster 12: Valore più vicino = [ 7 8 13 19 37] Dist. = 0.9492
Cluster 8: Valore più vicino = [ 7 8 14 20 40] Dist. = 0.9706
Cluster 1: Valore più vicino = [ 3 4 6 9 17] Dist. = 0.9895
Cluster 9: Valore più vicino = [11 13 22 33 65] Dist. = 0.9942
Cluster 6: Valore più vicino = [12 14 23 34 67] Dist. = 1.1153
Cluster 11: Valore più vicino = [11 13 21 32 63] Dist. = 1.2390
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 1.3053
Cluster 5: Valore più vicino = [13 15 25 38 75] Dist. = 1.3469
Early stopping attivato dopo 51 interazioni.
Nessun dato trovato per il cluster 10.
Nessun dato trovato per il cluster 13.
Nessun dato trovato per il cluster 15.

Analisi per 90 interazioni:
Ordine di distanza dal centro del Cluster:
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.0066
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.2068
Cluster 3: Valore più vicino = [15 18 30 45 89] Dist. = 0.5566
Cluster 7: Valore più vicino = [10 11 19 28 55] Dist. = 0.6405
Cluster 4: Valore più vicino = [ 4 5 7 11 21] Dist. = 0.6606
Cluster 12: Valore più vicino = [ 7 8 13 19 37] Dist. = 0.9492
Cluster 8: Valore più vicino = [ 7 8 14 20 40] Dist. = 0.9706
Cluster 1: Valore più vicino = [ 3 4 6 9 17] Dist. = 0.9895
Cluster 9: Valore più vicino = [11 13 22 33 65] Dist. = 0.9942
Cluster 6: Valore più vicino = [12 14 23 34 67] Dist. = 1.1153
Cluster 11: Valore più vicino = [11 13 21 32 63] Dist. = 1.2390
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 1.3053
Cluster 5: Valore più vicino = [13 15 25 38 75] Dist. = 1.3469
Early stopping attivato dopo 51 interazioni.
Nessun dato trovato per il cluster 10.
Nessun dato trovato per il cluster 13.
Nessun dato trovato per il cluster 15.

Analisi per 100 interazioni:
Ordine di distanza dal centro del Cluster:
Cluster 14: Valore più vicino = [11 14 22 33 66] Dist. = 0.0066
Cluster 0: Valore più vicino = [ 8 9 15 22 43] Dist. = 0.2068
Cluster 3: Valore più vicino = [15 18 30 45 89] Dist. = 0.5566
Cluster 7: Valore più vicino = [10 11 19 28 55] Dist. = 0.6405
Cluster 4: Valore più vicino = [ 4 5 7 11 21] Dist. = 0.6606
Cluster 12: Valore più vicino = [ 7 8 13 19 37] Dist. = 0.9492
Cluster 8: Valore più vicino = [ 7 8 14 20 40] Dist. = 0.9706
Cluster 1: Valore più vicino = [ 3 4 6 9 17] Dist. = 0.9895
Cluster 9: Valore più vicino = [11 13 22 33 65] Dist. = 0.9942
Cluster 6: Valore più vicino = [12 14 23 34 67] Dist. = 1.1153
Cluster 11: Valore più vicino = [11 13 21 32 63] Dist. = 1.2390
Cluster 2: Valore più vicino = [ 8 10 16 23 46] Dist. = 1.3053
Cluster 5: Valore più vicino = [13 15 25 38 75] Dist. = 1.3469
Progressione delle interazioni: 90/100 (90%)

Frequenza dei numeri nella quinta colonna:
Numero Frequenza
43 10
46 10
17 10
66 10
21 8
63 8
65 8
67 8
75 7
89 7
37 6
55 6
40 5
70 4
90 3
61 3
53 3
60 2
20 2
32 2
77 2
16 1
80 1
51 1
29 1
49 1
15 1
73 1
79 1
52 1
35 1
58 1
27 1
39 1
36 1

Analisi completata!
Premi invio per chiudere...
 
complimenti per le tue analisi Halmun sicuramente complesse e affascinanti anche per profani come me che per adesso purtroppo non riescono a decifrarle... :) Riguardo a questo esempio avresti beccato 66 al 1° colpo e 43 al 2° in classe 4 su ruota unica di BA vero? 👋:)
 
complimenti per le tue analisi Halmun sicuramente complesse e affascinanti anche per profani come me che per adesso purtroppo non riescono a decifrarle... :) Riguardo a questo esempio avresti beccato 66 al 1° colpo e 43 al 2° in classe 4 su ruota unica di BA vero? 👋:)
complimenti per le tue analisi Halmun sicuramente complesse e affascinanti anche per profani come me che per adesso purtroppo non riescono a decifrarle... :) Riguardo a questo esempio avresti beccato 66 al 1° colpo e 43 al 2° in classe 4 su ruota unica di BA vero? 👋:)
mi scuso per la doppia replica. Esatto Tom. ma ti invito ad osservare il punto di rottura fra le 40 interazioni e le 100 interazioni, dove per le 40 interazioni abbiamo la Quartina 66 43 32 89 tutti centrati in 2 colpi. mentre dalle 50 alle 100 interazioni abbiamo la stabilizzazione di un'unica Terzina 66 43 89 .... attenzione ora ai successivi di questa terzina. naturalmente il tutto sempre e solo su BARI. riguardo il procedimento ho semplicemente riprodotto le funzioni basilari di NNCLUST ma con l'aggiunta di osservazioni del tutto personali sul tipo di ricerca.
 
dimenticavo. Epoche di apprendimento 100. con Rete resa Deterministica. quindi al ripetersi dell'analisi con gli stessi parametri d'ingresso restituisce esattamente gli stessi risultati dello SCAN precedente.
 
per chi vuole prendere spunti:

Introduzione:

In questa presentazione, illustrerò alcuni dettagli di uno script Python che utilizza una rete Self-Organizing Map (SOM) per analizzare le interazioni di un dataset.

Lo script è progettato per identificare i cluster presenti nel dataset e calcolare le distanze minime dal centro di ciascun cluster.

Verrà inoltre mostrata una classifica delle interazioni che hanno prodotto le distanze minime più basse.

Descrizione dello Script:

Importazione delle Librerie Necessarie:

numpy per le operazioni matematiche.

MiniSom per la rete Self-Organizing Map.

time per le funzioni di temporizzazione.

Counter dalla libreria collections per il conteggio delle frequenze.

Configurazione dei Parametri:

Lo script inizia richiedendo all'utente di inserire alcuni parametri: il numero iniziale di interazioni, il valore di progressione delle interazioni, il numero di progressioni e il numero di righe da analizzare.

Viene poi limitato il dataset in base alla richiesta dell'utente.

Definizione della Rete SOM:

La rete SOM viene configurata con dimensioni 4x4 e un tasso di apprendimento di 0.1.

La rete viene inizializzata con pesi casuali per garantire la riproducibilità dei risultati.

Addestramento della Rete SOM:

Il ciclo di addestramento viene eseguito per ogni progressione specificata dall'utente.

Viene utilizzata una tecnica di Early Stopping per fermare l'addestramento quando non vi sono miglioramenti nelle epoche successive.

Visualizzazione dei Cluster:

Lo script identifica i cluster vincenti per ogni dato del dataset.

Viene calcolata la distanza minima dal centro del cluster e mostrato il valore più vicino.

Viene gestito il caso in cui un cluster non contenga dati, segnalandolo opportunamente.

Calcolo delle Frequenze:

Viene calcolata la frequenza dei numeri presenti nella quinta colonna del dataset.

I risultati vengono ordinati per frequenza e mostrati all'utente.

Classifica delle Interazioni Vincenti:

Viene aggiunta una classifica finale che mostra le interazioni che hanno prodotto le distanze minime più basse.

Questa classifica permette di identificare rapidamente le iterazioni più efficaci.

Risultati:

un esempio di output dello script mostra la classifica delle interazioni vincenti.

nella foto abbiamo prima classificata l'interazione con 50 iterazioni, che ha prodotto le prime 3 previsioni centrate in brevissimo tempo.

Conclusione:

Questo script offre un metodo efficiente per analizzare e visualizzare i cluster presenti in un dataset utilizzando una rete SOM.

La classifica finale delle interazioni vincenti fornisce un'ulteriore analisi per identificare le iterazioni più efficaci.
 

Allegati

  • CLS-1.jpg
    CLS-1.jpg
    71,7 KB · Visite: 6

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 14 dicembre 2024
    Bari
    89
    61
    43
    52
    01
    Cagliari
    56
    55
    17
    38
    15
    Firenze
    51
    79
    50
    28
    27
    Genova
    45
    21
    04
    12
    86
    Milano
    77
    46
    76
    85
    49
    Napoli
    42
    05
    21
    55
    11
    Palermo
    57
    49
    12
    63
    35
    Roma
    27
    10
    34
    07
    12
    Torino
    13
    37
    69
    68
    04
    Venezia
    34
    06
    76
    79
    45
    Nazionale
    81
    19
    61
    39
    42
    Estrazione Simbolotto
    Venezia
    14
    32
    20
    16
    34

Ultimi Messaggi

Indietro
Alto