[Python] Scelta del modello di AI da usare

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

[Python] Scelta del modello di AI da usare

Messaggio da vaeVictis »

Ciao a tutti.
Pongo una domanda generica perché sono all'inizio di un progetto.

Supponete di avere una serie storica (ovvero un insieme di dati in funzione di un tempo discreto, mettiamo pure un singolo dato raccolto ogni minuto).

Supponete di aver sviluppato una serie di indicatori che permettano di analizzare questa serie storica e prendere decisioni "ragionate".

Supponete che questi indicatori non siano fissi ma dipendano da alcuni parametri.

Quale sarebbe, secondo voi, il miglior modello di machine/deep learning da implementare per poter permettere a un programma di migliorare da solo la scelta in funzione di tali parametri e in funzione di quello che avviene dopo (inteso come mirusazioni successive alla scelta).

Un esempio banale: ho una serie storica che mi misura le temperature di casa e un indicatore che "indica" se queste temperature raggiungono un massimo (o un minimo).
La scelta magari è quella di spegnere (o di accendere) il riscaldamento perché l'indicatore mi "indica" che ho raggiunto un presunto massimo (o minimo).
Io vorrei che queste scelte aiutate dagli indicatori venissero ottimizzate dal modello, in virtù di quello che avviene dopo la scelta. Pertanto, il modello di AI dovrebbe capire se l'indicatore segnala di spegnere, ma poi la temperatura successiva indica che la scelta è sbagliata, o vice versa.

Spero di essere stato chiaro.
Grazie in anticipo
:ciao:
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1720
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: [Python] Scelta del modello di AI da usare

Messaggio da korda »

Purtroppo non sono in grado di darti indicazioni tecniche, però a livello teorico quello che cerchi non mi sembra necessiti di deep learning.

Mi sembra si avvicini di più a modelli basati su catene nascoste di Markov. Hai già provato a cercare un po' di materiale su HMM?

Ho toccato solo di striscio l'argomento, non sono esperto, ma prova a vedere se questo potrebbe servirti:

https://stats.stackexchange.com/questio ... l-networks

https://www.researchgate.net/post/HMM_v ... ecognition
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2872
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: [Python] Scelta del modello di AI da usare

Messaggio da DoctorStrange »

Credo che tu abbia bisogno di un algoritmo di ordinamento e riduzione dei dati. Ordini tutte le letture del termostato in funzione della rispettiva marcatura temporale.

A questo punto non leggi semplicemente l'ultima lettura disponibile per ogni zona, ma leggi anche le precedenti tre o dieci. In questo modo hai un'idea precisa dell'andamento della temperatura.

Se ti accorgi che la temperatura diminuisce costantemente, allora è ragionevole pensare che accendere realmente i riscaldamenti possa essere una buona idea, altrimenti se ti accorgi che la temperatura è costante nelle letture precedenti, ma solo nell'ultima lettura hai una caduta vertiginosa, eviti di accendere i riscaldamenti. Magari il termostato è esposto all'esterno ed una raffica di vento ha fatto ridurre momentaneamente la lettura del termostato stesso, generando un falso positivo.
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1720
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: [Python] Scelta del modello di AI da usare

Messaggio da korda »

Io ho letto un pochino di HMM perché dovevo usare HMMER per un mio progetto e volevo capire come funzionasse.

Il tuo problema sulle serie storiche di temperature mi sembra molto simile a fare pattern matching su sequenze: vedo diverse analogie. Non ho però la più pallida idea di come si implementi la cosa in pratica.

Chiusa parentesi :ot:
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: [Python] Scelta del modello di AI da usare

Messaggio da vaeVictis »

Vai tranquillo, korda, non sei ot.
Appena ho modo rispondo.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1720
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: [Python] Scelta del modello di AI da usare

Messaggio da korda »

vaeVictis ha scritto:
giovedì 23 settembre 2021, 14:55
Vai tranquillo, korda, non sei ot.
Appena ho modo rispondo.
Riguardo a qualcosa di simile alle reti neurali io ho lavorato su un progettino di sviluppo di SOM (sempre ambito bio), ma si trattava di MatLab (di cui non ho più la costosa licenza) e non so se possa esserti utile.
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: [Python] Scelta del modello di AI da usare

Messaggio da vaeVictis »

Al momento non ho molto tempo per controllare le risposte dettagliatamente, chiedo scusa.

Aggiungo però al volo un dettaglio che mi era sfuggito.
La serie storica è multivariata. Nel caso del termostato, io controllo le temperature e "decido" in base a quelle ma ci sono anche altri dati con la stessa cadenza temporale, come umidità e via dicendo (non elenco le altre perché comunque è un esempio).
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1720
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: [Python] Scelta del modello di AI da usare

Messaggio da korda »

vaeVictis ha scritto:
venerdì 24 settembre 2021, 0:30
Al momento non ho molto tempo per controllare le risposte dettagliatamente, chiedo scusa.

Aggiungo però al volo un dettaglio che mi era sfuggito.
La serie storica è multivariata. Nel caso del termostato, io controllo le temperature e "decido" in base a quelle ma ci sono anche altri dati con la stessa cadenza temporale, come umidità e via dicendo (non elenco le altre perché comunque è un esempio).
Numericamente, di quante variabili stiamo parlando?

Prima di partire con il machine learning io tratterei i dati.

Se si trattasse di decine di variabili io procederei a normalizzare i valori e ne farei un'autodecomposizione (vedi anche lo scaling multidimensionale, che però necessiterebbe alcune correzioni). Quindi selezionerei solo gli autovettori e autovalori essenziali che descrivano il fenomeno, stabilendo un criterio di significatività (già se solo i primi 5 autovettori/autovalori riuscissero a spiegare il 75% della variabilità sarebbe una cosa buona).

In questo modo non lavorerei più direttamente sulle misurazioni fisiche, ma avrei un numero di variabili da gestire decisamente inferiore.

N.B.
: ci sono però alcuni limiti in questo approccio. Prima di tutto bisognerebbe capire se ha senso normalizzare le variabili (non solo matematicamente parlando). In secondo luogo la "forma" della matrice dei dati (es. se è allungata o distesa) influenza pesantemente il risultato ottenuto.
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: [Python] Scelta del modello di AI da usare

Messaggio da vaeVictis »

Le variabili del modello sono meno di dieci. Quasi sempre sono sei.
Gli indicatori (costruiti su queste variabili e se cui si basano le scelte) sono un numero a piacere, nel senso che il modello prevede che se ne possano creare altri e testarne l'efficacia. Generalmente se ne usa un insieme ridotto, tre o quattro al massimo.

Appena ho modo, mi lego per bene quello che hai scritto. Alcune cose le conosco ma non altre.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
runblade
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 396
Iscrizione: martedì 3 aprile 2007, 14:28
Distribuzione: 16 Valvole monoalbero in testa.
Località: Soave

Re: [Python] Scelta del modello di AI da usare

Messaggio da runblade »

Un modello a stati logici tipico della programmazione di PLC
-Pensare che i videogames possano aver condizionato le menti delle persone è come se chi avesse giocato a pac-man ora ce lo ritovassimo in un ambiente buio, al suono di musica tecno, che gira attorno la pista e continuamente si impasticca...
-Non discutere mai con un idiota: ti trascina al suo livello e poi ti batte con l'esperienza
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: [Python] Scelta del modello di AI da usare

Messaggio da vaeVictis »

runblade ha scritto:
sabato 25 settembre 2021, 10:33
Un modello a stati logici tipico della programmazione di PLC
Ciao, potresti cortesemente argomentare un po' il suggerimento?
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
runblade
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 396
Iscrizione: martedì 3 aprile 2007, 14:28
Distribuzione: 16 Valvole monoalbero in testa.
Località: Soave

Re: [Python] Scelta del modello di AI da usare

Messaggio da runblade »

Per alcuni lavori di controllo con delle grandezze analogiche discrete e continue e stati on/off ho letteralmente tradotto un "listato" ladder per plc.
Ciclo while (1) che legge status input digitali e acquisizione valori analogici analizzati con soglie che davano esito truefalse. La sequenza di logical AND or OR metteva il risultato in variabili tipo bit (flag).
Alla fine della analisi in base allo stato delle flag attivo/disattivo rele/azionamento/valvole etc.
Per cui se un flag non viene alterato nel ciclo successivo mantiene sempre lo status del precedente/i
-Pensare che i videogames possano aver condizionato le menti delle persone è come se chi avesse giocato a pac-man ora ce lo ritovassimo in un ambiente buio, al suono di musica tecno, che gira attorno la pista e continuamente si impasticca...
-Non discutere mai con un idiota: ti trascina al suo livello e poi ti batte con l'esperienza
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: nik1404 e 9 ospiti