Approcci di segmentazione e dissezione del traffico degli attacchi di rete per l ottimizzazione di classificatori basati sul deep learning

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Approcci di segmentazione e dissezione del traffico degli attacchi di rete per l ottimizzazione di classificatori basati sul deep learning"

Transcript

1 Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Reti di Calcolatori Approcci di segmentazione e dissezione del traffico degli attacchi di rete per l ottimizzazione di classificatori basati sul deep learning Anno Accademico Candidato: William Armando Civero matr. N

2 A mia nonna Ai miei genitori Al mio amore Ai miei parenti Alla mia Hoana

3 Indice Indice... III Introduzione... 4 Capitolo 1: Sicurezza e Deep Learning Sicurezza di rete Analisi del traffico e Deep Learning Discussione della letteratura Deep Learning per la sicurezza di rete Capitolo 2: Input analizzati Input di tipo L5-[X;Y] Procedura d estrazione Input di tipo MAT-[m;n] Procedura d estrazione Capitolo 3: Valutazione sperimentale Descrizione del dataset Specializzazione del framework utilizzata Setup e misure di valutazione delle prestazioni Discussione dei risultati Analisi non filtrata dei risultati Analisi dei risultati filtrati tramite reject option Conclusioni Bibliografia... 30

4 Introduzione La classificazione del traffico è una problematica ancora molto dibattuta dalla comunità scientifica. Di molta rilevanza è la classificazione del traffico relativa agli attacchi di rete: grazie al progresso tecnologico, essi sono sempre più sofisticati e difficili da rilevare o prevenire. Internet ha inoltre subito una crescita esponenziale, arrivando ad essere utilizzato sempre più per la gestione di risorse e servizi critici oltre che nella vita quotidiana di molte persone. Si sente quindi ancora di più la necessità di sistemi, oltre che di protezione, di riconoscimento dei suddetti attacchi. Nella classificazione del traffico le tecniche utilizzate nel tempo sono state tante: si è passati da tecniche tradizionali, come la Deep Packet Inspection e la classificazione port-based, al Machine Learning, che fornisce già risultati migliori dei metodi utilizzati precedentemente, per arrivare all utilizzo del più promettente Deep Learning. Quest ultimo permette di definire architetture molto performanti e di avere i risultati più affidabili. Il contributo del presente lavoro di tesi è rappresentato dallo studio della classificazione degli attacchi di rete mediante tecniche di Deep Learning. Infatti, una tempestiva ed accurata rilevazione e classificazione degli attacchi di rete costituisce attualmente uno dei problemi più rilevanti ed al contempo di più difficile soluzione nel generale contesto della cybersecurity. In questo elaborato è stata studiata la classificazione degli attacchi di rete mediante Deep Learning. In particolare, è stata trattata la dissezione del traffico ed i tipi di input da dare in ingresso alle architetture basate su algoritmi Deep Learning. 4

5 Sono stati quindi proposti due tipi di input che comportano uno l estrazione dell intero payload dei pacchetti, l altro l estrazione soltanto di alcune caratteristiche legate ad essi. Alla fine, attraverso delle prestabilite metriche, saranno mostrati e confrontati i vari risultati sotto i diversi aspetti d interesse. Nella sezione conclusiva saranno sottolineate le caratteristiche di forza dei vari tipi di input trattati e sarà mostrato come l approccio che prevede la sola estrazione di alcuni campi informativi dei pacchetti fornisca le prestazioni più alte. 5

6 Capitolo 1: Sicurezza e Deep Learning La classificazione del traffico (TC) è il processo attraverso il quale si associa il traffico di rete all applicazione che lo ha generato. Tale problematica è molto sentita dalla comunità scientifica, in quanto un classificatore del traffico di rete è parte integrante dell amministrazione delle reti stesse ed è fondamentale per quelle che implementano garanzie di Quality of Service (QoS). Molti sono stati gli approcci proposti negli ultimi anni per renderla più efficiente ed efficace, e tutt ora sono numerosi gli esperti che lavorano in questo campo. Problematica ancora più rilevante è la classificazione del traffico relativo agli attacchi di rete: nel tempo, l utilizzo di Internet è aumentato a dismisura, rendendo sempre più necessarie procedure per la protezione di dati e risorse sensibili poiché, insieme all utilizzo di Internet stesso, è aumentata la quantità di traffico ostile. 1.1 Sicurezza di rete La crescita esponenziale che Internet ha subito negli anni, ha reso ancora più ovvia l entità dei danni che gli attacchi di rete possono causare. Alcuni degli strumenti di difesa più importanti sono rappresentati dagli Intrusion Detection Systems (IDSs) e dagli Intrusion Prevention Systems (IPSs): questo tipo di sistemi permette agli amministratori di rete di rilevare la presenza di attacchi, o di prevenirli, attraverso il riconoscimento del traffico da essi generato. Un importante argomento di ricerca è diventato, quindi, il processo di realizzazione di IDSs e IPSs all avanguardia che riescano a far fronte ad attacchi sempre più sofisticati ed eterogenei. Uno degli ostacoli principali è rappresentato dalla difficoltà di testare la correttezza delle varie tecniche proposte a causa della mancanza di dataset sufficientemente validi. Spesso le tracce di traffico sono o impossibili da reperire a causa di problematiche 6

7 legate alla privacy o, se reperibili, sono inservibili in quanto soggette a pesanti anonimizzazioni. Da tenere in conto è inoltre l evoluzione degli attacchi di rete stessi e la loro diversità. Uno dei più comunemente utilizzati è il Brute Force Attack: esso consiste semplicemente nell effettuare vari tentativi al fine di individuare password o pagine nascoste in applicazioni web. Altri tipi di attacchi spesso utilizzati, divisibili in vari sottotipi, sono i Denial of Service (DoS) ed i Distributed Denial of Service (DDoS): sostanzialmente, l obiettivo di questi è rendere non più utilizzabili i servizi resi disponibili da un sistema informatico. Ciò viene effettuato andando ad esaurire le risorse del sistema informatico inondandolo di richieste. In particolare, gli attacchi DDoS sono perpetrati attraverso l utilizzo di reti Botnet: queste sono costituite da macchine connesse alla rete ed infettate attraverso l utilizzo di malware al fine di poterle controllare per effettuare una vasta gamma di attacchi, tra cui proprio i DDoS. Suddetti malware possono essere inoltre utilizzati sia per accedere ai dati della macchina infetta, sia per utilizzare quest ultima come proxy al fine di garantire all attaccante l anonimato in rete. Essendo dunque l ecosistema di Internet così complesso ed in continua evoluzione, un processo di classificazione del traffico che sia in grado di adattarsi a tali mutamenti rappresenta il primo passo da compiere per la creazione di sistemi di rilevamento e prevenzione di attacchi. 1.2 Analisi del traffico e Deep Learning Sono molti i metodi che nel tempo sono stati utilizzati nella classificazione del traffico. Due approcci che rientrano fra quelli tradizionalmente utilizzati sono la classificazione port-based e la Deep Packet Inspection (DPI). Il primo consiste nell etichettare gli oggetti di classificazione ovvero il traffico segmentato secondo un particolare criterio attraverso l analisi dei porti sorgente e destinazione. Nonostante esso sia un metodo caratterizzato dall'elevata efficienza (alta rapidità e basso costo computazionale) e che esula dall'ispezione del contenuto dei singoli pacchetti (in quanto basta analizzare l header di livello trasporto per ottenere i porti sorgente e destinazione), la sua efficacia è ormai limitata da diversi fattori della rete e di Internet. Ad esempio, spesso le applicazioni non hanno porti registrati presso 7

8 lo IANA 1, ma utilizzano porti già registrati da altre applicazioni e porti selezionati casualmente, oppure i well-known ports per aggirare la presenza di filtri. Inoltre, a causa dell esaurimento degli indirizzi IPv4, sempre più macchine fisiche forniscono servizi utilizzando il medesimo indirizzo IP ma su porti differenti. La DPI, invece, consta nell eseguire un ispezione dettagliata del payload dei pacchetti al fine di classificarli. Questo metodo è molto costoso in termini di tempistica e risorse, ma molto più preciso dell altro. I principali ostacoli, in questo caso, sono rappresentati dalla cifratura sempre più crescente del traffico e dalle sempre più restrittive leggi sulla tutela della privacy. Le limitazioni dei metodi precedentemente discussi hanno aperto la strada all utilizzo di algoritmi di Machine Learning (ML), i quali eseguono un riconoscimento sulla base di alcune informazioni statistiche (denominate feature) legate ai pacchetti ispezionati. Questo approccio, se confrontato con i precedentemente descritti, fornisce risultati migliori a parità dell oggetto d analisi. Esso, inoltre, supera le limitazioni delle tecniche descritte precedentemente dovute all utilizzo di porti non registrati o casuali e alla cifratura del traffico. Tuttavia, sebbene ci sia un notevole miglioramento delle prestazioni rispetto ai sopracitati approcci, architetture di TC basate su ML effettuano un processo di classificazione sulla base di feature progettate manualmente da esperti del dominio. Ciò richiede del lavoro umano rendendo dunque il processo inefficiente in virtù della rapida evoluzione del traffico di rete, la quale richiede una frequente ri-progettazione delle feature utilizzate. Ciò ha spinto all utilizzo di algoritmi di Deep Learning (DL) i quali, in gran parte, si basano su reti neurali artificiali. Tale classe di algoritmi opera utilizzando feature estratte in modo automatico dagli oggetti da classificare. In questo modo non vi è il bisogno di selezionare manualmente le feature sulla base delle quali effettuare la classificazione, come nel caso del ML. Una problematica, in questo caso, è rappresentata dalla quantità di informazioni e di tempo necessari per l addestramento, entrambi decisamente maggiori rispetto a quelli richiest dalle tecniche ML. Attualmente, sono i classificatori che utilizzano questo tipo di 1 Lo IANA (Inrernet Assigned Numbers Authority) è un organismo che ha responsabilità nell assegnazione degni indirizzi IP. 8

9 approccio quelli sui quali si concentra la ricerca e molte sono le architetture che sono state definite ed i tipi di input proposti fino ad ora. 1.3 Discussione della letteratura Sono molti gli studi nei quali è stato affrontato l argomento della classificazione del traffico con alla base algoritmi di DL. Degli esempi sono i lavori descritti in [4,7,8]: in essi vengono mostrate diverse tecniche stato dell arte basate sul DL utilizzate per la classificazione del traffico, al fine di valutarne le performance sotto diversi aspetti. In particolare, in [4,7] viene trattata la classificazione di normale traffico relativo a diverse applicazioni. In [8], invece, la classificazione ha l obiettivo di individuare il traffico generato da malware. Nonostante i risultati presentati in suddetti lavori siano ancora migliorabili, essi sono abbastanza validi da rendere gli approcci basati sul DL i più performanti da utilizzare attualmente per i processi di TC. Per quanto riguarda il tema della sicurezza di rete, sono numerose le ricerche e gli studi effettuati al fine di determinare le prestazioni di metodi basati sul ML per la classificazione del traffico relativo agli attacchi di rete. Un primo approccio al tema è presentato in [6], articolo nel quale viene mostrato come le tecniche basate sul ML per la classificazione di traffico generato da attacchi siano effettivamente affidabili. Un altro esempio di letteratura è riportato in [9], un articolo in cui viene proposto un Intrusion Detection and Classification System basato su note tecniche ML. Il classificatore trattato utilizza solo 12 feature, il che permette di individuare il divario che separa tecniche ML e DL in quanto le seconde sono in grado di estrarre automaticamente un numero basso di feature attraverso l utilizzo di più livelli di reti neurali profonde. Un argomento ancora non pienamente affrontato, è l utilizzo di classificatori con alla base algoritmi di DL per la classificazione del traffico generato dagli attacchi di rete. La necessità di questi nasce dal fatto che, così come il normale traffico di rete, anche quello relativo agli attacchi subisce forti mutamenti a causa della precedentemente illustrata eterogeneità ed evoluzione di essi. 9

10 1.4 Deep Learning per la sicurezza di rete La classificazione del traffico relativo agli attacchi di rete tramite architetture basate su algoritmi DL è dunque un campo di ricerca ancora aperto e non pienamente esplorato. Il contributo di questo lavoro è quello di mostrare e paragonare l efficacia di diversi approcci, già utilizzati per la classificazione di traffico puramente benigno, quando applicati nel contesto degli attacchi di rete. In particolare è stata trattata la fase di estrazione dell input. Essa rappresenta uno dei passaggi critici nella definizione di un processo di classificazione del traffico basato sul DL. Da sottolineare, che la validità dal punto di vista sperimentale dello studio presentato in quest elaborato si basa sull utilizzo di un dataset contenente traffico relativo ad attacchi creato nel 2017 (CICIDS2017), dunque molto recente. La maggior parte dei lavori precedenti che discutono la classificazione del traffico tramite l utilizzo di tecniche ML/DL, invece, mostrano risultati sperimentali ottenuti utilizzando il dataset KDD99 (o sue versioni modificate) del quale una breve descrizione è presente in [5]. Ciò rende le conclusioni di tali studi obsolete, a causa della continua e sempre più veloce evoluzione del traffico di rete. 10

11 Capitolo 2: Input analizzati Quando si definisce un processo di classificazione del traffico basato su algoritmi di DL, raccolti i dati da utilizzare per il processo di classificazione, i passi da seguire sono i quattro riportati nella Figura 1. Definizione dell'oggetto della classificazione Estrazione dell'input sul quale effettuare la TC Definizione dell'architettura da utilizzare per il processo di classificazione Valutazione dei risultati Figura 1: fasi fondamentali di un processo di TC basato sul DL La definizione dell oggetto di classificazione, che determina il criterio con cui il traffico viene segmentato, è un passaggio già impostato. Alcuni degli oggetti di classificazione più comuni, con diverse granularità, sono: Flussi: definiti come tutti i pacchetti aventi la medesima quintupla {IP sorgente, IP destinazione, porto sorgente, porto destinazione, protocollo} Biflussi: come i flussi, con l unica differenza che sono inclusi pacchetti che viaggiano in entrambe le direzioni Hosts: utilizzati in approcci che mirano a classificare un host in base al tipo di traffico predominante generato da e diretto verso l host stesso Connessioni TCP: osservando i flag nei pacchetti, si tenta di identificare inizio e fine delle sessioni di comunicazione TCP per poi classificarle Nella seconda fase, definito l oggetto della classificazione, si effettuano sui dati raccolti delle elaborazioni al fine di estrarre un input da utilizzare per il processo di classificazione. Tale input può variare sia per una differente scelta dei parametri 11

12 che lo caratterizzano come ad esempio il numero di pacchetti da associare ad ogni oggetto da classificare, quali campi informativi dei pacchetti usare etc. sia nella struttura, poiché questa deve essere compatibile con l architettura utilizzata. Il terzo passaggio è quello in cui si sceglie l architettura DL da utilizzare per il processo di classificazione. Questa varia in base al tipo di reti neurali che si vogliono utilizzare ed in base all ordine in cui i livelli ad esse relativi sono disposti. Inoltre, in presenza di eventuali problematiche, l architettura può essere predisposta per effettuare operazioni preliminari sull input. In tale lavoro, le reti neurali profonde su cui si basano le architetture utilizzate per i processi di classificazione sono di due tipi: Convolutional Neural Networks (CNNs): sono reti neurali ispirate al modo in cui gli organismi viventi percepiscono visivamente gli oggetti. Attraverso vari livelli di convoluzione, in cui si utilizzano dei filtri invarianti alle traslazioni, la rete tenta di estrarre particolari caratteristiche presenti in alcune regioni dell input. I livelli di convoluzione possono essere ad una o due dimensioni, in base al tipo di input che si vuole analizzare (vettore o matrice). L idea alla base delle CNNs, è quella di mettere in cascata più livelli di convoluzione al fine di estrarre automaticamente feature più complesse. Un ulteriore componente importante, sono i livelli di pooling frapposti fra due livelli convolutivi, il cui scopo è effettuare un sottocampionamento al fine di diminuire la complessità ed il volume dell input. Long Short-Term Memory (LSTM): tali reti sono una variante delle Recurrent Neural Networks (RNNs). Esse sono più facili da addestrare e sono in grado di modellare dipendenze a lungo termine. Una singola unità di una rete LSTM è responsabile di ricordare valori su un intervallo di tempo ed è composta da una cella e tre porte definite input gate, output gate e forget gate. L input è invece composto da una sequenza temporale di vettori: in pratica, viene data in ingresso una matrice le cui righe rappresentano l evoluzione temporale di un vettore. L ultima fase è anch essa definita ormai in modo rigoroso. Un esempio delle metriche utilizzate in quest ambito lo si ha in [1]: nell articolo è affrontato il tema della classificazione del traffico mobile mediante l utilizzo di classificatori DL, e 12

13 nel par. Classification Results della sez. V sono mostrate le prestazioni tramite gli indici statistici e le informazioni utilizzate più comunemente per tali classificatori. Le fasi più critiche sono la seconda e la terza: è su di esse che si continuano ad effettuare ricerche e studi al fine di migliorare i risultati ottenuti. Come specificato nel paragrafo 1.4, il presente elaborato si concentra sulla fase di estrazione degli input che alimentano le architetture di DL. Gli approcci analizzati sono stati in particolare due: estrazione di X byte complessivi di dati dal payload di livello applicativo, corrispondente al livello cinque dello stack TCP/IP, dei primi Y pacchetti appartenenti all oggetto di classificazione, input definito in questa trattazione come L5-[X;Y]; estrazione di m campi informativi dei primi n pacchetti appartenenti agli oggetti identificati al fine di associare ad ognuno una matrice di misura n m, input definito come MAT-[m;n]. 2.1 Input di tipo L5-[X;Y] Il primo input trattato è stato il tipo L5-[X;Y]: per la classificazione di ogni oggetto, sono considerati i primi X byte risultanti dalla concatenazione dei dati presenti nel payload di livello applicativo dei primi Y pacchetti rilevati appartenenti ad ognuno di essi. Quindi, in questo caso, viene condotta una classificazione che, a partire dal contenuto del livello applicativo dei vari pacchetti, mira a riconoscere il traffico generato da un attacco ed a distinguerlo da quello appartenente agli oggetti benigni. Questo approccio viene proposto poiché, solitamente, i dati contenuti nei primi pacchetti trasmessi sono utilizzati per la connessione, quindi sono quelli che al meglio potrebbero riflettere la natura dei pacchetti appartenenti all oggetto. Questo tipo di input, una volta scelti i parametri X ed Y, a seguito dell estrazione è stato dato in ingresso ad una delle architetture DL descritte in [7,8] basata sulle precedentemente descritte CNNs. Tale architettura, implementata attraverso l ausilio della libreria keras del linguaggio python, è ottenuta attraverso l utilizzo di livelli di convoluzione ad una dimensione, dunque l input deve essere sotto forma di vettore. Nella sezione relativa ai risultati quest architettura sarà riferita come Wang

14 2.1.1 Procedura d estrazione La prima operazione è l estrazione degli oggetti e dei loro pacchetti dai file pcap presenti nel dataset: ad ogni oggetto individuato sono associati i primi Y pacchetti a payload applicativo non nullo rilevati appartenenti ad esso utilizzando un dizionario python 2. Questo viene poi serializzato in formato pickle. Tale processo va effettuato per ogni file pcap del dataset. Attraverso un altro programma, e col supporto di file csv contenenti gli oggetti con le label relative, sono creati altri due dizionari: il primo contenente l associazione fra gli oggetti ed i primi X byte dati dalla concatenazione del payload applicativo dei relativi pacchetti; l altro contenente le corrispondenze fra oggetti e label. Per gli oggetti di classificazione che presentano un numero insufficiente di byte a seguito della concatenazione, viene eseguita un ulteriore operazione di riempimento tramite zeri per raggiungere la quota di byte prestabilita, mantre per quelli che hanno una quantità di byte associata maggiore di X, viene effettuato un troncamento. Tali dizionari sono utilizzati per creare in maniera incrementale un file csv unico per tutti gli oggetti, contenente per ogni riga, corrispondente ad un singolo oggetto, gli X byte estratti e la label relativa. Come ultima operazione, il file csv è dato in input ad un ultimo script per la normalizzazione a valori decimali fra 0 ed 1 della stringa di byte e la sostituzione delle label, in formato stringa, con dei valori categorici, con conseguente serializzazione del tutto in un file pickle da dare in ingresso al classificatore. 2.2 Input di tipo MAT-[m;n] Il secondo tipo di input analizzato, è stato quello definito come MAT-[m;n]: per la classificazione degli oggetti, ad ognuno viene associata una matrice n m in cui le righe si riferiscono al numero n di pacchetti ordinati appartenenti all oggetto e le colonne al numero m di campi informativi estratti da ogni pacchetto. Tali campi sono stabiliti in un momento precedente alla vera e propria estrazione dell input. I casi considerati sono stati due, in cui a parità del numero n di pacchetti associati all oggetto è stato fatto variare il numero m di campi informativi d interesse. 2 I dizionari sono un tipo built-in di python contenente elementi formati da una chiave ed un valore, quest ultimo acceduto attraverso l utilizzo della chiave. 14

15 Con questo tipo di input, viene dunque testato il riconoscimento del traffico relativo agli attacchi attraverso l uso delle sole caratteristiche dei pacchetti stessi, senza considerarne il contenuto vero e proprio. Un primo evidente vantaggio di questo approccio è la minore quantità di dati forniti in ingresso al classificatore. Le valutazioni sull efficacia degli input di questo tipo sono state effettuate dandoli in ingresso a delle architetture DL descritte in [4]. L articolo tratta l utilizzo di architetture realizzate combinando dei livelli di LSTM insieme ad altri di CNNs a due dimensioni, confrontando i risultati ottenuti con reti LSTM e CNN prese singolarmente. In questo caso le reti neurali considerate sono tali da prendere in ingresso una matrice, il che le rende adatte a ricevere il tipo MAT-[m;n] come input. Ci si riferirà in seguito alle architetture descritte in [4] come Lopez Procedura d estrazione Definiti gli m campi informativi d interesse, per l estrazione va eseguita una procedura simile a quella descritta precedentemente. La prima fase è l estrazione degli oggetti dai file del dataset: questa volta ad ogni oggetto, sempre tramite un dizionario python, sono associati i primi n pacchetti rilevati come appartenenti ad esso. Successivamente, si crea un ulteriore dizionario in cui ad ogni oggetto si associa una lista contenente, in ordine, gli m campi informativi di tutti i pacchetti ad esso appartenenti presenti nel primo dizionario. Per ogni oggetto che presenta un numero di pacchetti minore di n, va eseguita un operazione di riempimento tramite zeri dei campi informativi. Il risultato è quindi l associazione ad ogni oggetto da classificare di una matrice n m. Il tutto viene poi serializzato in dei file pickle, uno per ogni file pcap del dataset. Con un altro programma, che riceve in ingresso un file pickle risultante dall elaborazione precedente ed il file csv corrispondente, si crea in modo incrementale un ulteriore file pickle unico contenente le matrici n m di tutti gli oggetti ed una lista ordinata delle label ad essi corrispondenti. L ultimo script eseguito, dopo l esecuzione di un operazione di filtraggio a seguito della quale sono eliminati gli oggetti non associati alla label corrispondente in modo corretto, effettua analogamente al caso precedente la categorizzazione delle label, in modo da poter creare il file pickle da dare in ingresso all architettura. 15

16 Capitolo 3: Valutazione sperimentale In questo capitolo sono inizialmente descritti i dati elaborati per l estrazione degli input e le scelte fatte riguardanti il framework descritto in Figura 1. Sono poi riportate le metriche utilizzate per la valutazione delle prestazioni ed il setup delle architetture. In fine sono mostrati e confrontati i risultati delle sperimentazioni. 3.1 Descrizione del dataset L analisi è stata condotta utilizzando il dataset CICIDS2017. Esso contiene tracce di traffico raccolte in un lasso di tempo di 5 giorni, di cui fa parte sia traffico relativo ad attività benigna sia relativo ad alcuni fra i più comuni attacchi di rete. Tale dataset è descritto dettagliatamente in [2]. Inoltre, viene mostrato in [5] come questo sia al momento il più adeguato, fra quelli disponibili pubblicamente, per valutare in modo affidabile le prestazioni che vari tipi di architetture ed input permettono di raggiungere in un processo di classificazione del traffico generato da attacchi di rete. I file di partenza da segmentare per estrarre gli input desiderati sono stati: i cinque file pcap che compongono il dataset; dei file csv (uno per ogni file pcap) in cui per ogni oggetto sono riportate le caratteristiche dello stesso tra cui la label di appartenenza, che può essere o BENIGN, traffico benigno, o il nome di uno degli attacchi di rete generanti traffico; la lista degli indirizzi IP delle macchine generanti traffico al fine di determinare la direzione dei pacchetti 3, in quanto questa è stata un campo informativo da considerare nell estrazione degli input di tipo MAT-[m;n]. 3 Definite le macchine generanti traffico, la direzione di un pacchetto viene stabilita in base a quale dei due indirizzi IP di esso corrisponde ad una di queste macchine. 16

17 3.2 Specializzazione del framework utilizzata Riguardo l oggetto di classificazione, la scelta è ricaduta sull utilizzo dei biflussi, in quanto spesso utilizzati nei processi di TC con architetture DL. L obiettivo finale di questo approccio è dunque associare ad ogni biflusso una classe che identifichi il tipo di traffico a cui esso appartenente. Gli input estratti sono stati tre: uno di tipo L5-[X;Y] e due di tipo MAT-[m;n]. Per il primo è stato scelto un numero di byte X pari a 576 ed un numero di pacchetti Y pari a 32. Per gli altri due è stato scelto un numero di pacchetti n pari a 20, mentre il numero di campi informativi per uno è stato m=6 mente per l altro m=4. Nel caso m=6, i campi informativi estratti dai pacchetti sono stati in ordine: Porto sorgente Porto destinazione Direzione del pacchetto Lunghezza del payload di livello applicativo (se presente) Tempo trascorso fra l arrivo di due pacchetti consecutivi (posto a zero per il primo pacchetto considerato di ogni biflusso) Dimensione della finestra di congestione (posta a zero se utilizzato il protocollo UDP) Nel caso m=4, invece, i campi informativi scelti sono stati questi appena mostrati a meno dei porti. Questa scelta è dovuta ad un problema già nominato nel par. 1.2: ad oggi, a causa dei diversi motivi già accennati, i processi di classificazione del traffico port-based non sono più affidabili. Dunque una classificazione port-biased, nonostante possa dare risultati anche migliori durante il testing, non può essere ritenuta molto performante se applicata in contesto reale. Una volta estratti in modo completo i tre tipi di input tramite le procedure descritte nei parr e 2.2.1, questi sono stati utilizzati per effettuare la classificazione attraverso le rispettive architetture accennate nei parr 2.1 e 2.2 che li accettavano in ingresso. L input L5-[576;32] è stato utilizzato come ingresso di un architettura basata su delle CNNs ad una dimensione, riferita come Wang2017. L input MAT-[6;20], invece, è stato dato in ingresso ad un architettura realizzata attraverso l utilizzo di CNNs a due dimensioni, definita Lopez2017-CNN-1. Infine, l input MAT-[4;20] è stato dato in ingresso a tre architetture diverse: una basata su CNNs 17

18 a due dimensioni (la stessa utilizzata per l input MAT-[6;20]); una seconda basata invece su reti LSTM, denominata Lopez2017-RNN-1; una terza creata utilizzando sia livelli di CNN che di reti LSTM, riferita come Lopez2017-CNN-RNN-2a. Per l addestramento è stato scelto un numero di epoche pari a 60 per l architettura il cui ingresso è stato l input L5-[576;32], pari a 90 per quelle che in ingresso hanno ricevuto l input MAT-[6;20] o MAT-[4;20]. Inoltre, è stato previsto un meccanismo di Early Stopping. Questo prevede che se durante l addestramento, per un certo numero di epoche consecutive, definito patience, l accuratezza raggiunta non migliora di una quantità minima, detta min_delta, l addestramento viene fermato. I parametri patience e min_delta sono stati posti pari a 10 e 0.01 rispettivamente. 3.3 Setup e misure di valutazione delle prestazioni Le architetture utilizzate prevedevano tutte un addestramento effettuato tramite una K-fold stratified cross validation. Questa tecnica viene utilizzata per superare la problematica relativa alla scelta di quale parte dei dati utilizzare per l addestramento e quale come test set. Attraverso di essa viene effettuata una divisione del dataset in K fold e ciclicamente ne vengono usati K-1 per l addestramento ed uno per il test. In questo modo, il risultato finale è che ogni dato presente nel dataset è stato utilizzato sia per l addestramento che per la parte di test. Il numero di epoche indica, invece, per quante volte viene ripetuto il ciclo di addestramento per ogni fold. Il funzionamento del procedimento è illustrato in Figura 2. Figura 2: schema della K-fold stratified cross validation 18

19 In particolare, in questo lavoro è stata scelto un numero di fold K pari a 10. Inoltre, essendo stato utilizzato il meccanismo di Early Stopping precedentemente descritto, il passaggio da un fold al successivo è avvenuto nella maggior parte dei casi senza arrivare al numero di epoche prestabilito. A seguito dell addestramento, le informazioni e le metriche che sono state utilizzate per valutare la performance delle reti sono le seguenti: Accuracy: definita come il rapporto!" # # $%%&$'(%)& Precision: definita per la classe i come * + =!" #!" # -." # Recall: definita per la classe i come / + =!" #!" # -.0 # F-Measure: definita per la classe i come 2 " #2 # " # -2 # Macro-F-Measure: calcolata effettuando la media aritmetica delle F-Measure di tutte le classi Top-K-Accuracy: definita come la capacità del classificatore di associare un elemento di una delle K classi più probabili ad una di queste Matrici di confusione: riportano sulle righe la classe attesa e sulle colonne la predetta. Ogni elemento M ij rappresenta il numero di campioni della classe i riconosciuti come classe j. Per i = j si hanno i Veri Positivi della classe i (TP i ). Per i j con j costante, si hanno i Falsi Positivi della classe j (FP j ). Per i j con i costante, si hanno i Falsi Negativi della classe i (FN i ). I valori nelle matrici sono stati normalizzati, per ogni riga, rispetto al numero di campioni della classe attesa. Inoltre, per maggiore completezza, sono stati riportati anche dei risultati ottenuti tenendo conto di una reject option. Per effettuare la scelta su quale classe assegnare ad un campione, la rete neurale associa ad esso un vettore di confidenza che riporta le probabilità di appartenenza ad ognuna delle classi e, fra queste, quella con la probabilità più alta viene assegnata al campione in esame. E possibile, però, effettuare un operazione di thresholding in quest ultima fase: decisa una soglia, se un campione ha un vettore di confidenza associato in cui la classe con la probabilità più alta non supera suddetta soglia, la rete neurale non considera il campione come valido. Impostando varie soglie, si può dunque osservare la variazione del numero 19

20 di campioni che vengono effettivamente classificati (Classified Ratio) e presi in considerazione per il calcolo degli indici di qualità dell addestramento. La reject option viene dunque utilizzata per valutare alcuni parametri, come ad esempio F-Measure ed Accuracy, considerando solo i campioni che, durante il processo di classificazione, sono stati assegnati ad una classe con una probabilità generalmente alta. 3.4 Discussione dei risultati In questa sezione sono riportati e discussi i risultati ottenuti. Nel par sono analizzati e comparati i risultati delle classificazioni effettuate con i diversi input. In tale paragrafo sono riportate, oltre alle matrici di confusione, delle tabelle con i valori di: Accuracy, Macro-F-Measure, Top-K-Accuracy con K pari ad uno, tre e cinque. Nel par , invece, sono trattati i risultati relativi alla reject option con diversi valori di soglia. In questo paragrafo sono riportati i grafici di Accuracy, F-Measure e Classified Ratio al variare della suddetta soglia Analisi non filtrata dei risultati In Figura 3 è stato riportato il grafico rappresentante la matrice di confusione risultata dalla classificazione tramite l input L5-[576;32], mentre nella Tabella 1 la legenda relativa. INDICE LABEL 1 BENIGN 2 Bot 3 BruteForce 4 DoSHulk 5 DoSSlowhttptest 6 DoSslowloris 7 Heartbleed 8 PortScan 9 SSH-Patator 10 SqlInjection 11 XSS Figura 3: matrice di confusione input L5-[576;32] in ingresso a Wang2017 Tabella 1: legenda matrice di confusione input di tipo L5-[X;Y] 20

21 Dalla matrice di confusione si può constatare che otto classi su undici presentano veri positivi e che, inoltre, il loro valore percentuale nella maggior parte dei casi è molto alto: la classe PortScan presenta circa l 85% di veri positivi mentre le classi BENIGN, Bot, BruteForce, DoSHulk e SSH-Patator superano tutte il 95%. A seguito di analisi più approfondite, è risultato che tali classi hanno tutte un numero di campioni elevato, sebbene molto differente fra loro (ad esempio si hanno 2800 biflussi per la classe SSH-Patator, più di 6000 per la classe DoSHulk, fino ad arrivare ad oltre per la classe BENIGN). Vi è una percentuale discreta di veri positivi per le classi DoSSlowhttptest e DoSslowloris, 35% e 60% rispettivamente, nonostante queste presentino un numero discreto di campioni. Inoltre, entrambe presentano falsi positivi appartenenti quasi totalmente alla classe DoSHulk, la quale fa parte della stessa tipologia di attacco, ovvero Denial of Service (DoS). Le classi Heartbleed, SqlInjection e XSS non posseggono veri positivi. Nel caso delle classi Heartbleed e SqlInjection, ciò è riconducibile al fatto che vi siano pochi biflussi associati ad ognuna (uno e dodici biflussi rispettivamente). Entrambe, inoltre, sono state identificate totalmente come BENIGN (la classe con il maggior numero di campioni). La classe XSS, invece, nonostante presenti una quantità discreta di campioni, viene confusa con BENIGN e BruteForce. Un primo svantaggio, molto importante, è che tramite questo tipo di input, non è possibile classificare i biflussi i cui pacchetti presentano tutti un payload di livello applicativo nullo, in quanto tali pacchetti sono scartati durante la fase di estrazione. Infatti è stato constatato che le classi, a seguito dell estrazione dell input di tipo MAT-[m;n], hanno in generale più biflussi associati di quanti ne abbiano a seguito dell estrazione di tipo L5-[X;Y]. Inoltre, le classi considerate erano originariamente quindici, ma alcune non presentavano biflussi associati ad esse poiché tutti i pacchetti di questi erano a payload applicativo nullo. La conseguenza è stata l esclusione di queste classi dalla classificazione effettuata con l input L5-[576;32]. In particolare, le classi escluse sono state: DDoS, DoSGoldenEye, FTP-Patator, Infiltration. Tali classi sono state invece considerate per gli input di tipo MAT-[m;n], poiché, in caso di pacchetti con payload applicativo nullo, l unica conseguenza è l impostazione a zero del campo lunghezza payload per questi. 21

22 Nella Figura 3 e nella Tabella 2 di seguito, sono riportate la matrice di confusione relativa al training dell architettura con input MAT-[6;20] e la corrispondente legenda (valida anche per le martrici di confusione dell input MAT-[4;20]). INDICE LABEL 1 BENIGN 2 Bot 3 BruteForce 4 DDoS 5 DoSGoldenEye 6 DoSHulk 7 DoSSlowhttptest 8 DoSslowloris 9 FTP-Patator 10 Heartbleed 11 Infiltration 12 PortScan 13 SSH-Patator 14 SqlInjection 15 XSS Figura 4: matrice di confusione input MAT-[6;20] in ingresso a Lopez2017-CNN-1 Tabella 2: legenda matrici di confusione input di tipo MAT-[m;n] In questo caso tredici classi su quindici presentano veri positivi. In particolare, le classi BENIGN, BruteForce, DDoS, FTP-Patator, PortScan e SSH-Patator presentano circa il 100% di campioni classificati correttamente. Le altre classi con veri positivi hanno mediamente una percentuale comunque alta, nella maggior parte dei casi maggiore al 90%. L unica di queste ad avere una quantità molto esigua di veri positivi è la classe XSS che ha una percentuale inferiore al 5%. Da notare, inoltre, che la classe DoSHulk presenta falsi positivi appartenenti quasi totalmente alla classe DoSGoldenEye e viceversa: ciò potrebbe stare ad indicare un elevata somiglianza fra i pacchetti appartenenti ai biflussi generati dai due tipi di attacco. Le uniche classi senza veri positivi sono Hartbleed e DoSslowloris, il che comporta sia un peggioramento, in quanto la classe DoSslowloris utilizzando l input L5-[576;32] presenta una buona quantità di veri positivi, sia un miglioramento, in quanto nel precedente caso le classi senza veri positivi erano tre (senza considerare le classi escluse dalla classificazione). Un ulteriore differenza è che nel caso precedente i falsi positivi appartenevano maggiormente alla classe BENIGN, mentre adesso sono più distribuiti. 22

23 Nelle figure presenti di seguito sono riportate le matrici di confusione risultate dall addestramento tramite l input MAT-[4;20] delle già specificate architetture. Figura 5: matrice di confusione input MAT-[4;20] in ingresso a Lopez2017-CNN-1 Figura 6: matrice di confusione input MAT-[4;20] in ingresso a Lopez2017-RNN-1 Figura 7: matrice di confusione input MAT-[4;20] in ingresso a Lopez2017-CNN-RNN-2a Osservando la matrice di confusione risultata dall addestramento dell architettura CNN-1, si può constatare che le classi che presentano veri positivi sono diminuite. In particolare, non vi sono più veri positivi per le classi Infiltration, SqlInjection e XSS. Ciò indica un primo calo di performance utilizzando l input MAT-[4;20] invece del MAT-[6;20]. Tuttavia, questo comportamento era previsto in quanto, logicamente, diminuendo il numero di campi informativi estratti, le reti neurali hanno avuto meno informazioni da elaborare per la classificazione. L architettura RNN-1 ha ottenuto prestazioni paragonabili alla CNN-1: hanno lo stesso numero di classi con veri positivi senza considerare la classe XSS che ne ha un numero esiguo ed inoltre le percentuali di questi sono nella maggior parte 23

24 dei casi molto simili. Anche i falsi positivi, inoltre, sono distribuiti in modo quasi equivalente. Guardando infine la matrice di confusione risultata dall addestramento dell architettura CNN-RNN-2a, questa presenta un ulteriore classe senza veri positivi, ovvero DoSSlowhttptest, ed inoltre i falsi negativi presenti sono leggermente più distribuiti. Nonostante a primo impatto possa sembrare un risultato da considerare negativo, in realtà potrebbe indicare che la rete non è stata addestrata abbastanza. Come già spiegato, quando la rete deve valutare un campione a quale classe appartenga, gli associa un vettore di confidenza contenente un valore percentuale per ogni classe considerata e la classe con la percentuale più alta è quella che si assegna al campione. Una maggiore distribuzione dei falsi negativi indica che per campioni della stessa classe i vettori di confidenza hanno una classe predominante quella a percentuale più alta che varia. Una minore distribuzione potrebbe indicare che l architettura ha imparato a classificare in modo errato certe classi, poiché ad esse associa vettori di confidenza in cui la classe con la maggior probabilità è di solito sempre la stessa ma è quella sbagliata. Per ulteriori considerazioni sui risultati, nella seguente tabella sono riportate Accuracy e Macro-F-Measure per ciascuna coppia input-architettura testata. Accuracy Macro-F-Measure L5-[576;32]_Wang (±0.21) (±2.38) MAT-[6;20]_Lopez2017-CNN (±0.03) (±6.92) MAT-[4;20]_Lopez2017-CNN (±0.04) (±4.83) MAT-[4;20]_Lopez2017-RNN (±0.03) (±4.63) MAT-[4;20]_Lopez2017-CNN-RNN-2a (±0.07) (±6.07) Tabella 3: indici statistici Accuracy e Macro-F-Measure [%] delle varie combinazioni input-architettura testate, nella forma media (± std.) Osservando l Accuracy, si nota immediatamente che gli input di tipo MAT-[m;n] permettono di incrementare tale valore almeno dell 8% rispetto all input L5-[576;32], il che indica un primo miglioramento di prestazioni. Discorso più dettagliato merita invece la Macro-F-Measure. Mentre a seguito dell addestramento tramite l input L5-[576;32] si raggiunge un valore del 67% circa, questo viene superato dal 77% raggiunto con l input MAT-[6;20]. Vi è invece un calo quando si utilizza l input MAT-[4;20]. Ciò è dovuto al numero di classi che 24

25 non hanno veri positivi in ogni caso analizzato. Essendo la F-Measure di una classe legata a Precision e Recall della stessa, tramite la formula riportata nel par. 3.3, se una classe non ha veri positivi, sempre per le formule presenti nel medesimo paragrafo, essa ha Precision e Recall nulle, e tale è quindi la F-Measure. Essendo la Macro-F-Measure calcolata come media delle F-Measure delle varie classi, il contributo delle classi senza veri positivi nel calcolo della Macro-F-Measure è pari a zero: più sono le classi senza veri positivi, più si abbassa sensibilmente il valore della Macro-F-Measure. Dunque, un eventuale crescita o diminuzione di tale parametro è dovuta in gran parte al numero di classi che presentano veri positivi, oltre che alla quantità di questi ultimi. Tuttavia, se si hanno più classi senza veri positivi, più è alta la Macro-F-Measure, più sono alte le F-Measure delle classi singole, dunque le prestazioni rimangono buone ma solo per determinate classi. Da tenere in conto, però, il fatto che i margini d errore della Macro-F-Measure sono molto alti. Nella Tabella 4 sono invece riportati i valori della Top-K-Accuracy. Essa permette di valutare l accuratezza quando si definisce corretta una classificazione se la classe a cui un campione appartiene è fra le K più probabili del suo vettore di confidenza. K=1 K=3 K=5 L5-[576;32]_Wang (±0.21) (±0.05) (±0.03) MAT-[6;20]_Lopez2017-CNN (±0.03) 100 (±0.00) 100 (±0.00) MAT-[4;20]_Lopez2017-CNN (±0.04) 100 (±0.00) (±0.00) MAT-[4;20]_Lopez2017-RNN (±0.03) (±0.01) (±0.01) MAT-[4;20]_Lopez2017-CNN-RNN-2a (±0.07) (±0.00) (±0.00) Tabella 4: indice statistico Top-K-Accuracy [%] con K={1,3,5} delle varie combinazioni input-architettura testate, nella forma media (± std.) Mentre si osserva un aumento del 9% circa passando da K=1 a K=3 per l input L5-[576;32], i valori relativi agli input MAT-[6;20] e MAT-[4;20] si mantengono intorno al 99% per K=1 ed intorno, o addirittura pari, al 100% per K=3 e K=5. Ciò indica che nel caso degli input di tipo MAT-[m;n], la classe più probabile del vettore di confidenza è quasi sempre quella corretta. Tuttavia, se si considerano le prime tre o cinque classi più probabili, entrambi i tipi di input permettono di avere un accuratezza quasi totale. Ciò indica un pregio generale dell approccio DL alla classificazione di questo tipo di traffico. 25

26 3.4.2 Analisi dei risultati filtrati tramite reject option Nel paragrafo precedente sono state fatte varie constatazioni riguardo le differenze di prestazione in base agli indici statistici e osservando le matrici di confusione. In questo paragrafo, viene effettuata un analisi ancora più dettagliata riguardo gli indici Accuracy e Macro-F-Measure. Come già spiegato precedentemente, è possibile utilizzare una soglia per fare in modo che siano classificati, e quindi considerati per calcolare gli indici statistici, solo campioni considerati validi secondo il criterio esposto nel par Nelle figure seguenti sono riportati dei grafici per ogni combinazione analizzata di input e architettura in cui, al variare della soglia di reject option, si può osservare come varino il numero di campioni classificati (Classified Ratio) ed i valori di Accuracy e Macro-F-Measure. Nei grafici è riportato l andamento dei loro valori medi, raggiunti a seguito dell addestramento, al variare della soglia 3. In trasparenza è riportato l intervallo di confidenza pari a ±3σ. Figura 7: reject option input L5-[576;32] in ingresso a Wang2017 Figura 8: reject option input MAT-[6;20] in ingresso a Lopez2017-CNN-1 (a) (b) (c) Figura 9: reject option input MAT-[4;20] in ingresso a (a) Lopez2017-CNN-1, (b) Lopez2017-RNN-1, (c) Lopez2017-CNN-RNN-2a Si nota immediatamente che i grafici relativi agli input di tipo MAT-[m;n] sono molto simili fra di loro mentre ben diverso andamento hanno i valori nel caso 26

27 dell input di tipo L5-[X;Y]. Per l input L5-[576;32], al crescere della soglia si nota un aumento della Macro-F-Measure, che passa da un minimo del 67% ad un massimo dell 80%, e dell Accuracy, che passa dal 90% a circa il 100%. Il numero di campioni classificati, invece, superato il valore 0.5 della soglia, subisce una decrescita molto rapida, arrivando per 3=0.9 a meno dell 80%. Ciò indica che dei campioni hanno un vettore di confidenza in cui non vi è un netto distacco fra la classe più probabile e le altre. Per tali campioni è come se il classificatore non riuscisse a stabilire con sicurezza a quale classe essi appartengano. Considerando, ad esempio, un valore di 0.5 per la soglia, se un campione non viene ritenuto valido vuol dire che nel suo vettore di confidenza non c è alcuna classe cui il campione potrebbe appartenere con una probabilità maggiore del 50%. Per quanto riguarda gli input MAT-[6;20] e MAT-[4;20], essi hanno un andamento praticamente equivalente di Accuracy e Classified Ratio. L Accuracy assume inizialmente valori del 97%-98%, mentre la Classified Ratio parte dal valore del 100%. Per i valori di 3, l Accuracy comincia a crescere mentre la Classified Ratio decresce. Per la soglia di circa 0.6 i due andamenti si intersecano e per 3 =0.9 si osserva l Accuracy arrivare a circa il 100% e la Classified Ratio a circa il 97%-98%. Il fatto che la Classified Ratio non scenda molto, sta ad indicare che quasi ogni volta che il classificatore ha associato una classe ad un campione, la probabilità d appartenenza era superiore al 90%. La differenza sostanziale fra i due input si nota dalla Macro-F-Measure: l andamento è abbastanza simile, ma mentre nel caso di MAT-[4;20] passa dal 60%-65% a circa il 75%, per MAT-[6;20] passa dal 77% ad oltre il 90%. Ciò è dovuto alle quantità differenti di veri positivi riscontrati. Dunque la mancanza di porti sorgente e destinazione per il riconoscimento non va a peggiorare l addestramento vero e proprio, in quanto la rete neurale impara a riconoscere i pacchetti assegnando probabilità di appartenenza comunque molto alte, ma, poiché il classificatore associa meno volte ad un campione la classe giusta d appartenenza, va ad intaccare più che altro la correttezza di tale addestramento. Risultano ancora più evidenti, inoltre, gli elevati margini d errore della Macro-F-Measure per questi tipi di input rispetto all input L5-[X;Y]. 27

28 Conclusioni In questo elaborato è stata studiata la classificazione degli attacchi di rete mediante Deep Learning. In particolare, è stata analizzata la dissezione del traffico ed i tipi di input da poter dare in ingresso alle architetture DL. Sono stati proposti due tipi di input utilizzabili fra i tanti possibili: uno che prevede l estrazione del payload dei pacchetti, l altro l estrazione soltanto di alcuni campi informativi di questi. Definito il framework operativo, tali input sono stati utilizzati per un processo di classificazione. Sono stati poi analizzati i risultati attraverso l utilizzo di note metodologie ed è stato mostrato come l estrazione di un input sia del tipo L5-[X;Y] che del tipo MAT-[m;n] permetta di raggiungere risultati non di poco conto. Riguardo l input L5-[X;Y], è possibile affermare che esso comporti l utilizzo di elevate quantità di dati. Come precedentemente affermato, inoltre, questo tipo di input non è sempre utilizzabile nei processi di classificazione, a causa del bisogno della presenza di payload applicativo nei pacchetti. In quanto basato su un principio molto semplice, ovvero l estrazione di una certa quantità di byte appartenenti al payload applicativo dei pacchetti, eventuali ricerche e studi potrebbero essere indirizzati a ridurre tale numero di byte considerati. In questo modo si potrebbero ridurre sia le dimensioni vere e proprie dell input, sia il numero di pacchetti estratti per ogni biflusso, il che velocizzerebbe il processo d estrazione. Riguardo l input MAT-[m;n], questo si è rivelato senz altro più performante del tipo L5-[X;Y]. La quantità di dati estratti è sicuramente minore, la problematica rappresentata dai biflussi con soli pacchetti a payload applicativo nullo non è 28

QUANTIZZATORE VETTORIALE

QUANTIZZATORE VETTORIALE QUANTIZZATORE VETTORIALE Introduzione Nel campo delle reti neurali, la scelta del numero di nodi nascosti da usare per un determinato compito non è sempre semplice. Per tale scelta potrebbe venirci in

Dettagli

Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello

Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello Tesina di Intelligenza Artificiale Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello Roberto Fortino S228682

Dettagli

Riconoscimento automatico di oggetti (Pattern Recognition)

Riconoscimento automatico di oggetti (Pattern Recognition) Riconoscimento automatico di oggetti (Pattern Recognition) Scopo: definire un sistema per riconoscere automaticamente un oggetto data la descrizione di un oggetto che può appartenere ad una tra N classi

Dettagli

Analisi dei segnali audio basata su Deep Learning per applicazione di sicurezza

Analisi dei segnali audio basata su Deep Learning per applicazione di sicurezza Analisi dei segnali audio basata su Deep Learning per applicazione di sicurezza Alessandro Neri, Francesco Calabrò, Federica Battisti, Marco Carli, Federico Colangelo, BOLOGNA, 12 aprile 2017 Università

Dettagli

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 10 Combinazione di classificatori Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

Dettagli

BLAND-ALTMAN PLOT. + X 2i 2 la differenza ( d ) tra le due misure per ognuno degli n campioni; d i. X i. = X 1i. X 2i

BLAND-ALTMAN PLOT. + X 2i 2 la differenza ( d ) tra le due misure per ognuno degli n campioni; d i. X i. = X 1i. X 2i BLAND-ALTMAN PLOT Il metodo di J. M. Bland e D. G. Altman è finalizzato alla verifica se due tecniche di misura sono comparabili. Resta da comprendere cosa si intenda con il termine metodi comparabili

Dettagli

Utilizzo di architetture di Deep Learning per la classificazione del traffico degli attacchi di rete

Utilizzo di architetture di Deep Learning per la classificazione del traffico degli attacchi di rete Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Reti di Calcolatori Utilizzo di architetture di Deep Learning per la classificazione del traffico

Dettagli

Teoria e tecniche dei test

Teoria e tecniche dei test Teoria e tecniche dei test Lezione 9 LA STANDARDIZZAZIONE DEI TEST. IL PROCESSO DI TARATURA: IL CAMPIONAMENTO. Costruire delle norme di riferimento per un test comporta delle ipotesi di fondo che è necessario

Dettagli

la dimensione massima dell arena è di 30x30 m la dimensione massima dei marker è di 50x50 cm la dimensione minima dei marker è di 20x20 cm

la dimensione massima dell arena è di 30x30 m la dimensione massima dei marker è di 50x50 cm la dimensione minima dei marker è di 20x20 cm Il seguente documento formalizza le regole del contest Drone Vision Cup 2015, ideato e promosso dal MIVIA Lab, Laboratorio di Macchine Intelligenti per il riconoscimento di Immagini, Video e Audio, nell

Dettagli

Implementazione degli algoritmi.

Implementazione degli algoritmi. Implementazione degli algoritmi. 4.1. Introduzione. In questo capitolo sarà discussa l implementazione software per l ambiente MATLAB 6.1 che è stata fatta degli algoritmi di identificazione presentati

Dettagli

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.00.005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Classificazione degli algoritmi Tassonomia di costo: algoritmo costante: c

Dettagli

Lezione n.3 LIVELLO TRASPORTO

Lezione n.3 LIVELLO TRASPORTO Università degli Studi di Pisa Lezione n.3 SSIS INFORMATICA LIVELLO TRASPORTO 30/11/2007 Laura Ricci Laura Ricci 1 LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti

Dettagli

Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete Neuronale

Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete Neuronale Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete Neuronale Il presente lavoro, facente segiuto a quanto scritto precedentemente ha il fine di descrivere il codice di calcolo

Dettagli

I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci

I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE Disciplina: Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazione Cognome e Nome:

Dettagli

Definizione della variabile c 2 Distribuzione della variabile c 2

Definizione della variabile c 2 Distribuzione della variabile c 2 Definizione della variabile c Distribuzione della variabile c In queste definizioni ho N variabili indipendenti, nessun vincolo e quindi N coincide con i gradi di libertà In un sistema fisico dove il numero

Dettagli

ADDESTRAMENTO DI UNA RETE NEURALE ED EVENTUALI CONSIDERAZIONI PRESTAZIONALI. (a cura di Buttolo Marco).

ADDESTRAMENTO DI UNA RETE NEURALE ED EVENTUALI CONSIDERAZIONI PRESTAZIONALI. (a cura di Buttolo Marco). ADDESTRAMENTO DI UNA RETE NEURALE ED EVENTUALI CONSIDERAZIONI PRESTAZIONALI. (a cura di Buttolo Marco). Lalgoritmo più utilizzato per addestrare una rete neurale è lalgoritmo di bac-propagation. In sostanza

Dettagli

Correttezza (prima parte)

Correttezza (prima parte) Fondamenti di informatica Oggetti e Java (prima parte) Capitolo 16 ottobre 2015 1 Contenuti Introduzione alla correttezza dei programmi specifica di un programma correttezza di un programma verifica di

Dettagli

Un processo a supporto della classificazione di pagine client Anno Accademico 2006/2007

Un processo a supporto della classificazione di pagine client Anno Accademico 2006/2007 tesi di laurea Un processo a supporto della classificazione di pagine client Anno Accademico 2006/2007 relatore Ch.mo prof. Porfirio Tramontana candidato Marco Calandro Matr. 885/73 Introduzione Il passaggio

Dettagli

Uso di Internet: Esempio. Prof. Franco Callegati

Uso di Internet: Esempio. Prof. Franco Callegati Uso di Internet: Esempio Prof. Franco Callegati http://deisnet.deis.unibo.it Consultazione di una pagina WEB Per collegarsi a Internet un Utente apre il proprio Browser Web (B) Dal Sistema Operativo (Es:

Dettagli

Intelligenza Artificiale. Clustering. Francesco Uliana. 14 gennaio 2011

Intelligenza Artificiale. Clustering. Francesco Uliana. 14 gennaio 2011 Intelligenza Artificiale Clustering Francesco Uliana 14 gennaio 2011 Definizione Il Clustering o analisi dei cluster (dal termine inglese cluster analysis) è un insieme di tecniche di analisi multivariata

Dettagli

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

Project Management. Nozioni fondamentali. Definizione di Project Management. Prof.ssa E. Gentile a.a

Project Management. Nozioni fondamentali. Definizione di Project Management. Prof.ssa E. Gentile a.a Project Management Prof.ssa E. Gentile a.a. 2011-2012 Prof.ssa E. Gentile Sistemi Informativi su Web 1 Nozioni fondamentali Imparare le procedure per la creazione di un piano, la verifica dell'avanzamento

Dettagli

R. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010

R. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010 1 11. Data link layer: codici di rilevazione di errore, gestione degli errori La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere al ricevente di determinare se vi sono

Dettagli

FACOLTÀ DI INGEGNERIA DELL INFORMAZIONE, INFORMATICA E STATISTICA ESAMI DI STATO PER L ABILITAZIONE ALLA PROFESSIONE DI INGEGNERE DELL INFORMAZIONE

FACOLTÀ DI INGEGNERIA DELL INFORMAZIONE, INFORMATICA E STATISTICA ESAMI DI STATO PER L ABILITAZIONE ALLA PROFESSIONE DI INGEGNERE DELL INFORMAZIONE ARTIFICIAL INTELLIGENCE AND ROBOTICS Tema 1 Il candidato discuta, con opportuni esempi, le tipologie di problemi che meglio si prestano ad un approccio risolutivo basato su Machine Learning (ML); descriva

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

Sistemi e Tecnologie della Comunicazione

Sistemi e Tecnologie della Comunicazione Sistemi e Tecnologie della Comunicazione Lezione 11: data lin layer: codici di rilevazione di errore, gestione degli errori 1 La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere

Dettagli

Tipo Livello e Corso di Studio Anno di corso Semestre e modulo Numero di crediti 3 Propedeuticità Docente Cognome Nome

Tipo Livello e Corso di Studio Anno di corso Semestre e modulo Numero di crediti 3 Propedeuticità Docente Cognome Nome Insegnamento Informatica Tipo Livello e Corso di Studio Anno di corso 2013-2014 Semestre e modulo Numero di crediti 3 Propedeuticità Docente Cognome Nome Vinci Mauro Dipartimento Stanza Telefono Email

Dettagli

Lo strato di Trasporto

Lo strato di Trasporto Corso di Fondamenti di Reti di Telecomunicazioni LT - ELE / LM-TLC Reti di Telecomunicazioni a.a. 2016-2017 Lo strato di Trasporto Internet è composta da host connessi a reti a commutazione di pacchetto,

Dettagli

L adozione di MATLAB e Simulink nei Corsi di Ingegneria al Politecnico di Milano. Maurizio Magarini MATLAB EXPO Milano, 4 novembre 2014

L adozione di MATLAB e Simulink nei Corsi di Ingegneria al Politecnico di Milano. Maurizio Magarini MATLAB EXPO Milano, 4 novembre 2014 L adozione di MATLAB e Simulink nei Corsi di Ingegneria al Politecnico di Milano MATLAB EXPO Milano, 4 novembre 2014 Sommario Introduzione. Il ruolo dei laboratori informatici nella didattica, formazione

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

CORSO DI: SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI I

CORSO DI: SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI I CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA CORSO DI: SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI I Anno Accademico 2017/2018 Dott. Silvio Pardi Lezione N 3 Il Protocollo

Dettagli

Multi classificatori. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Multi classificatori. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Multi classificatori Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Combinazione di classificatori Idea: costruire più classificatori di base e predire la classe di appartenza di

Dettagli

Naïve Bayesian Classification

Naïve Bayesian Classification Naïve Bayesian Classification Di Alessandro rezzani Sommario Naïve Bayesian Classification (o classificazione Bayesiana)... 1 L algoritmo... 2 Naive Bayes in R... 5 Esempio 1... 5 Esempio 2... 5 L algoritmo

Dettagli

Il livello trasporto: Introduzione e protocollo UDP

Il livello trasporto: Introduzione e protocollo UDP Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori a.a. 2009/10 Roberto Canonico (roberto.canonico@unina.it) Antonio Pescapè (pescape@unina.it) Il livello trasporto: Introduzione e

Dettagli

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE Verifica e validazione dei modelli Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Passi del processo Simulativo Formulare

Dettagli

Low Level Vision: Trasformata di Hough

Low Level Vision: Trasformata di Hough Low Level Vision: Trasformata di Hough Prof Sebastiano Battiato Rilevamento di linee Le linee sono feature importanti perché permettono di definire analiticamente o approssimare molte forme (in particolare

Dettagli

Video Analysis (cenni) Annalisa Franco

Video Analysis (cenni) Annalisa Franco 1 Video Analysis (cenni) Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ 2 Visual motion Un video è una sequenza di frame catturati nel corso del tempo Il valori dell immagine sono

Dettagli

CALCOLO DELL ERRORE E VALUTAZIONE DI UN METODO ANALITICO

CALCOLO DELL ERRORE E VALUTAZIONE DI UN METODO ANALITICO CALCOLO DELL ERRORE E VALUTAZIONE DI UN METODO ANALITICO In chimica analitica un settore importante riguarda il calcolo dell errore e la valutazione della significatività di una misura. Generalmente nell

Dettagli

University of Messina, Italy

University of Messina, Italy ERRORI CASUALI NELL ANALISI CHIMICA 1 Errori casuali Gli errori casuali si incontrano tutte le volte che un sistema di misura viene usato al massimo della sua sensibilità. In queste circostanze i risultati

Dettagli

Elaborazione statistica di dati

Elaborazione statistica di dati Elaborazione statistica di dati CONCETTI DI BASE DI STATISTICA ELEMENTARE Taratura strumenti di misura IPOTESI: grandezza da misurare identica da misura a misura Collaudo sistemi di produzione IPOTESI:

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

La simulazione è l'imitazione di un processo o di un sistema reale per un

La simulazione è l'imitazione di un processo o di un sistema reale per un 1 2 La simulazione è l'imitazione di un processo o di un sistema reale per un determinato periodo di tempo. La simulazione è l'imitazione di un processo o di un sistema reale per un determinato periodo

Dettagli

Metodologia di rilevazione dei prezzi

Metodologia di rilevazione dei prezzi Metodologia di rilevazione dei prezzi Sommario Descrizione generale Ambito di applicazione Ambito geografico Ambito temporale Descrizione della metodologia Panoramica del processo Selezione del campione

Dettagli

Advanced IPv4 Access List

Advanced IPv4 Access List Advanced IPv4 Access List 1 Extended Numbered Access List Le Extended Numbered Access List sono utilizzate per permettere ad un router Cisco di poter bloccare determinati flussi dati e permetterne degli

Dettagli

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. la rilevazione automatica dei problemi: IDS e affini

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. la rilevazione automatica dei problemi: IDS e affini la rilevazione automatica dei problemi: IDS e affini 1 applicabilità di ciò che segue log/event audting Network Intrusion Detection Systems Host Intrusion Detection Systems Intrusion Prevention Systems

Dettagli

Quanti soggetti devono essere selezionati?

Quanti soggetti devono essere selezionati? Quanti soggetti devono essere selezionati? Determinare una appropriata numerosità campionaria già in fase di disegno dello studio molto importante è molto Studi basati su campioni troppo piccoli non hanno

Dettagli

Paolo Mogorovich

Paolo Mogorovich Sistemi Informativi Territoriali Paolo Mogorovich www.di.unipi.it/~mogorov .4 Dati vettoriali - Tecniche di rappresentazione Un layer areale può essere rappresentato utilizzando diverse tecniche. Per esempio:

Dettagli

Simulazione. D.E.I.S. Università di Bologna DEISNet

Simulazione. D.E.I.S. Università di Bologna DEISNet Simulazione D.E.I.S. Università di Bologna DEISNet http://deisnet.deis.unibo.it/ Introduzione Per valutare le prestazioni di un sistema esistono due approcci sostanzialmente differenti Analisi si basa

Dettagli

Impiego della concept analisys nella classificazione di pagine web ai fini del reverse engineering

Impiego della concept analisys nella classificazione di pagine web ai fini del reverse engineering tesi di laurea Impiego della concept analisys nella classificazione di pagine web ai fini del reverse engineering Anno Accademico 2005/2006 relatore Ch.ma prof. Anna Rita Fasolino correlatore Ch.mo prof.

Dettagli

Implementazione di DFA in C

Implementazione di DFA in C Implementazione di DFA in C Dispensa di Laboratorio di Linguaggi di Programmazione Sommario Corrado Mencar, Pasquale Lops, Stefano Ferilli Questa dispensa fornisce le linee guida per l implementazione,

Dettagli

Reti Neurali in Generale

Reti Neurali in Generale istemi di Elaborazione dell Informazione 76 Reti Neurali in Generale Le Reti Neurali Artificiali sono studiate sotto molti punti di vista. In particolare, contributi alla ricerca in questo campo provengono

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 5 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Rete Ethernet di Prova: 1 Ogni computer inserito nella rete contiene almeno una scheda di interfaccia Ethernet. I

Dettagli

Indirizzamento IP. Politecnico di Milano Facoltà di Ingegneria dell Informazione

Indirizzamento IP. Politecnico di Milano Facoltà di Ingegneria dell Informazione Politecnico di Milano Facoltà di Ingegneria dell Informazione Indirizzamento IP -Indirizzamento classful -Subnetting e Supernetting -Indirizzamento classless Reti TCP/IP Reti a pacchetto (datagram) Mediante

Dettagli

Riconoscimento e recupero dell informazione per bioinformatica

Riconoscimento e recupero dell informazione per bioinformatica Riconoscimento e recupero dell informazione per bioinformatica Classificazione: validazione Manuele Bicego Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Introduzione

Dettagli

SPETTROSCOPIA CON UN RETICOLO DI DIFFRAZIONE: LE LINEE TELLURICHE D. TREZZI 08/04/2013

SPETTROSCOPIA CON UN RETICOLO DI DIFFRAZIONE: LE LINEE TELLURICHE D. TREZZI 08/04/2013 SPETTROSCOPIA CON UN RETICOLO DI DIFFRAZIONE: LE LINEE TELLURICHE D. TREZZI (davide@astrotrezzi.it) 08/04/2013 In questo articolo sono riportate le misure di lunghezza d onda delle linee telluriche (più

Dettagli

Prima di iniziare: Inviare una mail all indirizzo : Scaricare i files per la lezione di oggi dal sito:

Prima di iniziare: Inviare una mail all indirizzo : Scaricare i files per la lezione di oggi dal sito: Prima di iniziare: Inviare una mail all indirizzo : rmgmrc@unife.it Scaricare i files per la lezione di oggi dal sito: http://www.unife.it/ing/lm.meccanica/insegnamenti/statistica-e-modellidi-dati-sperimentali

Dettagli

Il livello trasporto: Introduzione e protocollo UDP

Il livello trasporto: Introduzione e protocollo UDP Corsi di Laurea in Ingegneria Informatica Ingegneria delle Telecomunicazioni Ingegneria dell Automazione Corso di Reti di Calcolatori Simon Pietro Romano (spromano@unina.it) Antonio Pescapè (pescape@unina.it)

Dettagli

Conti significativi. In sede di pianificazione:

Conti significativi. In sede di pianificazione: Corso di revisione aziendale 2009-2010 Treviglio - 1) I conti significativi e la strategia di revisione - 2) Il campionamento: aspetti teorici ed esempi di applicazione - 3) Riepilogo delle differenze

Dettagli

L EVOLUZIONE DEL PATRIMONIO ABITATIVO ITALIANO: QUARANT ANNI DI ABITAZIONI ATTRAVERSO I CENSIMENTI ISTAT

L EVOLUZIONE DEL PATRIMONIO ABITATIVO ITALIANO: QUARANT ANNI DI ABITAZIONI ATTRAVERSO I CENSIMENTI ISTAT L EVOLUZIONE DEL PATRIMONIO ABITATIVO ITALIANO: QUARANT ANNI DI ABITAZIONI ATTRAVERSO I CENSIMENTI ISTAT a cura di Alice Ciani e Lucilla Scelba Tecnoborsa 1. Introduzione I Quaderni di Tecnoborsa, tornano

Dettagli

Sviluppo di una funzione in Matlab per la realizzazione di una SVM con impulsi centrati

Sviluppo di una funzione in Matlab per la realizzazione di una SVM con impulsi centrati Sviluppo di una funzione in Matlab per la realizzazione di una SVM con impulsi centrati Luca Peretti - matr. 50239/IE Corso di laurea in Ingegneria Elettronica - VOD 16 dicembre 2003 Indice 1 Scopo del

Dettagli

Un layer areale può essere rappresentato utilizzando diverse tecniche.

Un layer areale può essere rappresentato utilizzando diverse tecniche. Dati vettoriali - Tecniche di rappresentazione Dati vettoriali - Tecniche di rappresentazione Sistemi Informativi Territoriali Paolo Mogorovich www.di.unipi.it/~mogorov Un layer areale può essere rappresentato

Dettagli

Stima della qualità dei classificatori per l analisi dei dati biomolecolari

Stima della qualità dei classificatori per l analisi dei dati biomolecolari Stima della qualità dei classificatori per l analisi dei dati biomolecolari Giorgio Valentini e-mail: valentini@dsi.unimi.it Rischio atteso e rischio empirico L` apprendimento di una funzione non nota

Dettagli

Data Journalism. Analisi dei dati. Angelica Lo Duca

Data Journalism. Analisi dei dati. Angelica Lo Duca Data Journalism Analisi dei dati Angelica Lo Duca angelica.loduca@iit.cnr.it Obiettivo L obiettivo dell analisi dei dati consiste nello scoprire trend, pattern e relazioni nascosti nei dati. di analisi

Dettagli

Sistemi per la gestione delle basi di dati

Sistemi per la gestione delle basi di dati Sistemi per la gestione delle basi di dati Esercitazione #5 Data mining Obiettivo Applicare algoritmi di data mining per la classificazione al fine di analizzare dati reali mediante l utilizzo dell applicazione

Dettagli

Regressione Lineare Multipla

Regressione Lineare Multipla Regressione Lineare Multipla Fabio Ruini Abstract La regressione ha come scopo principale la previsione: si mira, cioè, alla costruzione di un modello attraverso cui prevedere i valori di una variabile

Dettagli

Classificazione Mario Guarracino Data Mining a.a. 2010/2011

Classificazione Mario Guarracino Data Mining a.a. 2010/2011 Classificazione Mario Guarracino Data Mining a.a. 2010/2011 Introduzione I modelli di classificazione si collocano tra i metodi di apprendimento supervisionato e si rivolgono alla predizione di un attributo

Dettagli

Introduzione. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari.

Introduzione. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari. Introduzione Corso di Tecniche di Simulazione, a.a. 2005/2006 Francesca Mazzia Dipartimento di Matematica Università di Bari 6 Marzo 2006 Francesca Mazzia (Univ. Bari) Introduzione 6/03/2006 1 / 23 Introduzione

Dettagli

Integrazione con E/Commerce Mytho Manuale tecnico

Integrazione con E/Commerce Mytho Manuale tecnico Integrazione con E/Commerce Mytho Manuale tecnico Applicativo: E/ Versione: 02.17.00 Build: 562 Data pubblicazione: 21-12-2016 Riferimento: Allegati Classificazione: Guida Utente INDICE 1 INTRODUZIONE...

Dettagli

Introduzione al Foglio Elettronico

Introduzione al Foglio Elettronico Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella le cui righe e colonne si intersecano in celle Le celle possono contenere differenti dati Numeri

Dettagli

CORSO DI PERFEZIONAMENTO

CORSO DI PERFEZIONAMENTO UNIVERSITÀ DEGLI STUDI DI SIENA DIPARTIMENTO DI FISICA CORSO DI PERFEZIONAMENTO PERCORSI DIDATTICI DI FISICA E MATEMATICA: MODELLI, VERIFICHE SPERIMENTALI, STATISTICA ATOMI E CARICA ELETTRICA: PROPOSTA

Dettagli

Misura della performance di ciascun modello: tasso di errore sul test set

Misura della performance di ciascun modello: tasso di errore sul test set Confronto fra modelli di apprendimento supervisionato Dati due modelli supervisionati M 1 e M costruiti con lo stesso training set Misura della performance di ciascun modello: tasso di errore sul test

Dettagli

Modelli e Metodi per la Simulazione (MMS)

Modelli e Metodi per la Simulazione (MMS) Modelli e Metodi per la Simulazione (MMS) adacher@dia.uniroma3.it Programma La simulazione ad eventi discreti, è una metodologia fondamentale per la valutazione delle prestazioni di sistemi complessi (di

Dettagli

Introduzione al Foglio Elettronico

Introduzione al Foglio Elettronico Microsoft Excel Introduzione al Foglio Elettronico A. Saetti 1 Il Foglio Elettronico n Si presenta come una grande tabella le cui righe e colonne si intersecano in celle n Le celle possono contenere differenti

Dettagli

Listini Dinamici. Indice degli argomenti

Listini Dinamici. Indice degli argomenti Listini Dinamici Indice degli argomenti Premessa 1. Utilizzo dei listini dinamici 2. Impostazione delle tabelle utili per la creazione di un listino dinamico 3. Creazione di un Listino Dinamico 4. Utilizzo

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica

Corso di Laurea Specialistica in Ingegneria Informatica UNIVERSITÀ DEGLI STUDI DI PADOVA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica Ragionamento Qualitativo e Apprendimento Automatico per l'analisi di Dati di Genomica RELATORE:

Dettagli

Livello di trasporto:

Livello di trasporto: Livello di : Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material copyright 1996-2007 J.F Kurose and

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Protocolli di trasmissione 2 Introduzione Un protocollo di trasmissione è un insieme di regole

Dettagli

Algoritmi di apprendimento con rinforzo applicati al problema del Windy Gridworld

Algoritmi di apprendimento con rinforzo applicati al problema del Windy Gridworld Algoritmi di apprendimento con rinforzo applicati al problema del Windy Gridworld Barbara PRALIO Corso di Dottorato in Sistemi di Produzione XXIII Ciclo Corso di Apprendimento Mimetico Pagina 1 La presente

Dettagli

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 9 Alberi di decisione Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

Dettagli

3: Architettura TCP/IP

3: Architettura TCP/IP 1 1 3: Architettura TCP/IP Architettura di rete e Modello TCP/IP 2 Il modello TCP/IP nasce da un progetto del Dipartimento della Difesa USA per la realizzazione di una rete di trasmissione solida per le

Dettagli

Machine Learning: apprendimento, generalizzazione e stima dell errore di generalizzazione

Machine Learning: apprendimento, generalizzazione e stima dell errore di generalizzazione Corso di Bioinformatica Machine Learning: apprendimento, generalizzazione e stima dell errore di generalizzazione Giorgio Valentini DI Università degli Studi di Milano 1 Metodi di machine learning I metodi

Dettagli

Fogli Elettronici: MS Excel

Fogli Elettronici: MS Excel Fogli Elettronici: MS Excel Foglio Elettronico Un foglio elettronico (o spreadsheet) è un software applicativo nato dall esigenza di: organizzare insiemi di dati tramite tabelle, schemi, grafici, etc.

Dettagli

Lettura al cruscotto statistico. Pavia

Lettura al cruscotto statistico. Pavia Lettura al cruscotto statistico Pavia 2 Trimestre 2013 LETTURA AL CRUSCOTTO STATISTICO Provincia di Pavia 1. Dati congiunturali del secondo trimestre 2013 Il saldo tra iscrizioni e cessazioni Il secondo

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche Mariarosaria Napolitano Architettura TCP/IP Corso di: Laboratorio di tecnologie informatiche e telematiche Contesto e Prerequisiti Contesto E' rivolto agli studenti del V anno degli Istituti Tecnici Industriali

Dettagli

Rappresentazione dei numeri

Rappresentazione dei numeri Rappresentazione dei numeri Così come per qualsiasi altro tipo di dato, anche i numeri, per essere immagazzinati nella memoria di un calcolatore, devono essere codificati, cioè tradotti in sequenze di

Dettagli

In passato, occuparsi di informatica era sinonimo di programmare computer

In passato, occuparsi di informatica era sinonimo di programmare computer Programmare =? In passato, occuparsi di informatica era sinonimo di programmare computer attività poco stimolante, atto finale di un processo dove le fasi creative - analisi e progetto - sono già avvenute

Dettagli

Manuale d uso della procedura Importazione fatture elettroniche

Manuale d uso della procedura Importazione fatture elettroniche Manuale d uso della procedura Importazione fatture elettroniche Il programma è in grado di elaborare i file delle fatture elettroniche ricevuti con uno dei seguenti metodi: Automaticamente tramite il servizio

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 3

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 3 Reti di Calcolatori Sommario Software di rete Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) Livello Trasporto (TCP) I protocolli di trasporto sono eseguiti

Dettagli

ELABORAZIONE DELLE IMMAGINI:

ELABORAZIONE DELLE IMMAGINI: Università degli Studi di Catania Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica, Secondo Livello ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Corso di Analisi Numerica

Dettagli

CREDIT VALUATION ADJUSTMENT: RILEVANZA, REGOLAMENTAZIONE ED IMPLEMENTAZIONE NUMERICA

CREDIT VALUATION ADJUSTMENT: RILEVANZA, REGOLAMENTAZIONE ED IMPLEMENTAZIONE NUMERICA UNIVERSITÀ DI PISA DIPARTIMENTO DI ECONOMIA E MANAGEMENT Corso di Laurea Magistrale in Banca, Finanza Aziendale e Mercati Finanziari TESI DI LAUREA CREDIT VALUATION ADJUSTMENT: RILEVANZA, REGOLAMENTAZIONE

Dettagli

PROCEDURE DI VERIFICA

PROCEDURE DI VERIFICA PROCEDURE DI VERIFICA 1)Procedure di validità a) Documentale b) Comparativa 2) Procedure di conformità La verifica documentale tende alla conferma di un valore espresso in bilancio Le procedure di analisi

Dettagli

SETTEMBRE / OTTOBRE 2018

SETTEMBRE / OTTOBRE 2018 DIPARTIMENTO CENTRO STUDI FONDAZIONE CONSIGLIO NAZIONALE DEGLI INGEGNERI info@centrostudicni.it www.fondazionecni.it C.R. 533_5 MONITORAGGIO SUI BANDI PER SERVIZI DI INGEGNERIA Ancora in crescita il mercato

Dettagli

Unità E1. Obiettivi. Non solo problemi matematici. Problema. Risoluzione di un problema. I dati

Unità E1. Obiettivi. Non solo problemi matematici. Problema. Risoluzione di un problema. I dati Obiettivi Unità E1 Dall analisi del problema alla definizione dell algoritmo Conoscere il concetto di algoritmo Conoscere le fasi di sviluppo di un algoritmo (analisi, progettazione, verifica) Conoscere

Dettagli