Classificazione Validazione Decision Tree & kmeans. Renato Mainetti

Documenti analoghi
Operatori di relazione

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

Fondamenti di Informatica

George BOOLE ( ) L algebra booleana. (logica proposizionale)

associate ai corrispondenti valori assunti dall uscita.

Calcolo numerico e programmazione Elementi di logica

Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi. Mercoledì 8 ottobre 2014

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:

Naïve Bayesian Classification

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Informatica. Logica e Algebra di Boole

Data Import pulizia dati e Probabilità. Renato Mainetti

Teoria degli insiemi Principi di base. 12/02/2011 Fondamenti di Informatica - Prof. Gregorio Cosentino 1

Data Import e Probabilità. Renato Mainetti

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Logica booleana, Costrutto IF

I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

Informatica e Bioinformatica: AND, OR, NOT

Classificazione bio-molecolare di tessuti e geni come problema di apprendimento automatico e validazione dei risultati

Data mining. Vincenzo D Elia. vincenzo.delia@polito.it. DBDMG - Politecnico di Torino

Sistemi per la gestione delle basi di dati

Sistemi di numerazione

Algebra di Boole e porte logiche

Circuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale

I Circuiti combinatori: LOGISIM

Proposizioni Algebra di Boole Condizioni Operatori di relazione

MATEMATICA DI BASE 1

Corso di Riconoscimento di Forme. Sommario: Matrice di confusione Cross validation Prestazioni nel KNN

I circuiti elementari

Introduzione al C++ (continua)

Insegnamento Informatica CdS Scienze Giuridiche

Ripasso Generale. e creare HTML/PDF e GUI. Renato Mainetti

17/10/16. Espressioni Booleane

FUNZIONI BOOLEANE. Vero Falso

Sviluppo di programmi

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio

Alberi di Decisione. Fabio Aiolli Sito web del corso

Reti Neurali in Generale

Progettazione di un Sistema di Machine Learning

Algebra di Boole ed elementi di logica

ALGEBRA DI BOOLE. In caso di errori di battitura o se si volesse contribuire a migliorare la seguente guida contattare:

Esplorazione grafica di dati multivariati. N. Del Buono

Progettazione di un Sistema di Machine Learning

35 è congruo a 11 modulo 12

Valutazione delle Prestazioni di un Classificatore. Performance Evaluation

Logica binaria. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!

Introduzione alla probabilità. Renato Mainetti

Richiami di Algebra di Commutazione

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

Elementi di informatica

Training Set Test Set Find-S Dati Training Set Def: Errore Ideale Training Set Validation Set Test Set Dati

ELEMENTI DI ALGEBRA BOOLEANA

Lezione 5. Sommario. La logica booleana. I principi della logica booleana Gli operatori logici

Laboratorio di Programmazione

Dalla precedente lezione: LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 3 LA RAPPRESENTAZIONE DEI DATI (1) 28/02/2016

METODI MATEMATICI PER L INFORMATICA

Classificazione Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007

Corso di Calcolatori Elettronici I

Laboratorio di dati e sistemi multimediali

Indice generale. Introduzione. Capitolo 1 Essere uno scienziato dei dati... 1

senza stato una ed una sola

LE PORTE LOGICHE. Ingresso B Ingresso A Uscita OUT

Reti Neurali. Corso di AA, anno 2016/17, Padova. Fabio Aiolli. 2 Novembre Fabio Aiolli Reti Neurali 2 Novembre / 14. unipd_logo.

HSA HSA HARDWARE SYSTEM ARCHITECTURE. Livelli. Livello assemblativo. Livello di. Sistema Operativo. Livello di. linguaggio macchina.

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

Tecniche di riconoscimento statistico

Caratteristiche di un linguaggio ad alto livello

Lezione2: Circuiti Logici

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Semantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica

e applicazioni al dominio del Contact Management Andrea Brunello Università degli Studi di Udine

Decision trees. Analisi statistica e matematico-finanziaria II. Alfonso Iodice D Enza iodicede@unicas.it

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Tecnologie per il web e lo sviluppo multimediale. Rappresentazione delle informazioni

Dalla tabella alla funzione canonica

Marta Capiluppi Dipartimento di Informatica Università di Verona

Logica e fondamenti di matematica

Introduzione al data mining. Sistemi di elaborazione delle informazioni 2 Anno Accademico Prof. Mauro Giacomini

MATLAB Elementi di grafica Costrutti di programmazione

Riconoscimento e Recupero dell'informazione per Bioinformatica

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA

Algebra di Boole Cenni all Algebra di Boole. Algebra Booleana: definizione

Algebra di Boole X Y Z V. Algebra di Boole

Corso di Intelligenza Artificiale A.A. 2016/2017

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Ingegneria della Conoscenza e Sistemi Esperti Lezione 4: Alberi di Decisione

Algebra Booleana, Funzioni Logiche e Circuiti Logici

Per contatti, approfondimenti, et cetera

Esempi di applicazioni di reti neurali

Richiami teorici ed esercizi di Logica

Operatori logici e algebra di boole

Algebra di Boole Cenni all Algebra di Boole

Definizioni. Esempi di alfabeti

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Transcript:

Classificazione Validazione Decision Tree & kmeans Renato Mainetti

Apprendimento Supervisionato e Non Supervisionato: forniamo input e output Non supervisionato: forniamo solo input 2

Apprendimento Supervisionato e Non http://quantdare.com/2016/03/machine-learning-a-brief-breakdown/ 3

Pipeline: cosa fare per classificare 1) Dati Noti (Predittori) Risposte Note (Etichette) Modello 2) Modello Nuovi dati (non etichettati) Predizione Risposte 4

Proviamo a creare dei decision-tree: (usando come dati di addestramento le funzioni logiche booleane AND e XOR) AND XOR ma prima rapido ripasso della logica booleana 5

Algebra di Boole (wiki) In matematica l'algebra di Boole è il ramo dell'algebra in cui le variabili possono assumere solamente i valori vero e falso (valori di verità), denotati come 1 e 0; Le operazioni fondamentali non sono addizione e sottrazione ma gli operatori logici: la congiunzione o prodotto logico indicata con oppure AND; la disgiunzione o somma logica indicata con oppure OR; la negazione o complementazione indicata con oppure NOT. 6

AND e XOR (presentati a lezione dal prof. Borghese) U1 and U2 U1 U2 Y 0 0 0 0 1 0 1 0 0 1 1 1 Y sempre falso (0) a meno che U1 e U2 siano entrambe vere(1) U1 xor U2 U1 U2 Y 0 0 0 0 1 1 1 0 1 1 1 0 Y sempre falso (0) quando U1 = U2 Y sempre vero (1) quando U1 U2 7

Classificazione AND Costruiamo un albero di classificazione della funzione booleana AND: U1 U2 Y 0 0 0 0 1 0 1 0 0 1 1 1 8

Classificazione AND U1 U2 Y 0 0 0 Costruiamo un albero di classificazione della funzione booleana AND: 0 1 0 1 0 0 1 1 1 >> U = [0 0; 0 1; 1 0; 1 1]; >> Y = [0; 0; 0; 1]; >> treeand = fitctree(u,y,'predictornames', {'u1' 'u2'}, 'ResponseName', 'y', 'ClassNames', [0 1], 'minparent',1); >> view(treeand,'mode','graph'); Trovate questo esercizio nel file TreeAnd.m, commentato riga per riga. 9

Classificazione XOR Costruiamo un albero di classificazione della funzione booleana XOR: U1 U2 Y 0 0 0 0 1 1 1 0 1 1 1 0 10

Classificazione XOR U1 U2 Y 0 0 0 Costruiamo un albero di classificazione della funzione booleana XOR: 0 1 1 1 0 1 1 1 0 >> U = [0 0; 0 1; 1 0; 1 1]; >> Y = [0; 1; 1; 0]; >> treexor = fitctree(u,y,'predictornames', {'u1' 'u2'}, 'ResponseName', 'y', 'ClassNames', [0 1], 'minparent',1); >> view(treexor,'mode','graph'); 11

Predizione classe di nuove misurazioni >> predict(treeand, [0 0]) ans = 0 Come parametri di input la funzione predict richiede il nome del decision-tree e un array con i nuovi valori su cui eseguire la predizione. Provate a sperimentare con gli altri valori 12

Decision-Making Fasi e Passi Intelligenza Raccolta informazioni e dati Riconoscimento del problema Design Formulazione del modello Analisi del modello Scelte Generazione e Valutazione Selezione FSM e Alberi di Decisione - Lezione 3 13

Albero di decisione (Machine learning) Apprendimento supervisionato Il Dataset contiene i parametri e le etichette (ricavato da mesi e mesi di osservazioni) Proviamo ad eseguire l addestramento di un albero di decisione: Problema predire se il giocatore di golf andrà a giocare oggi, conoscendo umidità e temperatura: Inseriamo: >>Meteo = [80 30; 70 15; 70 20; 50 20] >>Gioca = [0 1 0 1] >>t = fitctree(meteo,gioca,'predictornames', {'umidità' 'temperatura'}, 'ResponseName', 'y', 'ClassNames', [0 1], 'minparent',1); >>view(playtree,'mode','graph') FSM e Alberi di Decisione - Lezione 3 14

Albero di decisione (Machine learning) FSM e Alberi di Decisione - Lezione 3 15

Qualche link di riferimento: Dataset già presenti in Matlab UCI Machine Learning Repository Molto usati per pubblicazioni scientifiche 16

Facciamo esperimenti con il dataset Fisher s Iris Data Iris Setosa Iris Virginica Iris Versicolor 17

Addestramento Classificare i fiori in funzione della dimensioni di petali e sepali: 18

Validazione Tecniche di validazione del modello addestrato: Nessuna (rischio overfitting) Holdout (consigliato per dataset grandi) Si divide il dataset in due insiemi, uno dedicato al training e l altro dedicato al test. Cross Validation (funziona bene anche con dataset piccoli) Si suddivide il dataset in K sottoinsiemi, K-1 insiemi vengono usati per l addestramento e il rimanente per il testing. Questa operazione si ripete K volte (K addestramenti diversi), usando di volta in volta un diverso insieme per il test. 19

Parliamo di overfitting Un algoritmo di apprendimento viene allenato usando un certo insieme di esempi (il training set). Si assume che l'algoritmo di apprendimento raggiungerà uno stato in cui sarà in grado di predire gli output per tutti gli altri esempi che ancora non ha visionato, cioè si assume che il modello di apprendimento sarà in grado di generalizzare. Tuttavia, soprattutto nei casi in cui l'apprendimento è stato effettuato troppo a lungo o dove c'era uno scarso numero di esempi di allenamento, il modello potrebbe adattarsi a caratteristiche che sono specifiche solo del training set, ma che non hanno riscontro nel resto dei casi; perciò, in presenza di overfitting, le prestazioni (cioè la capacità di adattarsi/prevedere) sui dati di allenamento aumenteranno, mentre le prestazioni sui dati non visionati saranno peggiori. (wiki) 20

Esempio manuale matlab sulla classificazione(decision tree): http://it.mathworks.com/help/stats/examples/class ification.html Analizzare visivamente i dati attraverso il plot Per limitare l overfitting su decision tree: PRUNING possiamo regolare la profondità dell albero 21

Usiamo il tool di matlab: classification learner Importiamo il dataset IRIS leggendo la tabella dal file csv: >> fishertable = readtable( Fisher.csv'); Per maggiori informazioni guardare il manuale di matlab 22

Validation 23

Esportazione del classificatore 24

kmeans Come funziona: 25

Esempio passi kmean 26

kmeans Generiamo un dataset e proviamo ad applicare questo metodo. Il file: kmean.m 27