IAML Blog


Uno degli articoli scientifici più influenti dell'ultima decade è sicuramente Attention is All You Need.1 Come da titolo, l'obiettivo dell'articolo era semplice: mostrare come una componente delle reti neurali fino a quel momento di nicchia (neural attention, o semplicemente attenzione in questo post) bastava da sola a costruire architetture neurali estremamente sofisticate. La famiglia di modelli così ottenuti, i Transfor…

Continue Reading...


In questo breve articolo, mostriamo con un caso pratico alcune delle possibilità che offrono gli algoritmi di Machine Learning per il controllo di progetti complessi.

La teoria classica del Project Management prevede che all’inizio di ogni progetto sia definita una project charter, all’interno della quale sono stabiliti i KPI (di solito variabili continue) che misureranno il grado di successo del progetto. Questi KPI possono essere i tempi di consegna del progetto, oppure valori di tipo economico (es., il RO…

Continue Reading...


Continuano i nostri articoli dedicati al processamento di serie temporali! Nel secondo articolo della serie abbiamo visto come confrontare sequenze diverse utilizzando il SAX Encoding. Ma se volessimo quantificare la distanza tra due Time Series? A questo scopo, introduciamo un'altra tecnica estremamente utile, il Dynamic Time Warping (DTW).


Il Symbolic Aggregate approXimation (SAX) encoding è un metodo per semplificare le serie storiche. È stato inventato da Eamonn Keogh e Jessica Lin nel 2002. SAX è un modo di trasformare una serie temporale in una sequenza di simboli. L'idea di base è che ogni simbolo rappresenta un intervallo. Questa tecnica permette di condurre una dimensionality reduction sulle serie storiche, quindi possiamo considerarlo un metodo non supervisionato.

Bisogna evidenziare che il SAX è una t…

Continue Reading...


Il trattamento e l'imputazione dei valori mancanti (missing values) sono due step molto delicati per ogni progetto di data science. Nonostante esistano diverse strategie per l'imputazione, tutte possono portare a errori perchè si sta introducendo un dato "artificiale".

Un consiglio che viene dato spesso è, in fase di imputazione di valori mancanti, creare per ogni feature che si sta trattando una nuova variabile booleana "nomeFeature_isMissing" per tracciare quali valori sono reali e quali indott…

Continue Reading...