TEORIE E TECNICHE DEL RICONOSCIMENTO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "TEORIE E TECNICHE DEL RICONOSCIMENTO"

Transcript

1 TEORIE E TECNICHE DEL RICONOSCIMENTO INTRODUZIONE A SCIKIT-LEARN CLASSIFICAZIONE REGRESSIONE ALTRE LIBRERIE PER L APPRENDIMENTO AUTOMATICO IN PYTHON Come abbiamo visto, la libreria NLTK permeie di apprendere diversi Lpi di classificatori a parlre da tesl Ma in Python esistono diverse librerie piu generali e piu potenl specificamente per l apprendimento Tra queste la piu usata e la libreria SciKit- Learn 1

2 SCIKIT- LEARN Una libreria open- source di funzioni per l apprendimento automalco Basata su numpy, scipy, e matplotlib Fornisce funzioni per Classificazione Regressione Clustering Riduzione di dimensionalita Sito web: hip://scikit- learn.org/stable/ SCIKIT- LEARN PER APPRENDIMENTO AUTOMATICO Codice per I capitoli del libro: hips://github.com/luispedro/buildingmachinelearningsystemswithpython 2

3 APPRENDIMENTO AUTOMATICO CON SCIKIT- LEARN 1. Leggere i dal (e ripulirli se necessario) 2. Analizzarli, per esempio tramite visualizzazione 3. IdenLficare il miglior algoritmo di apprendimento 4. Analizzare le prestazioni PACCHETTI COMPRESI CON SCIKIT- LEARN NumPy Operazioni su array SciPy ConLene implementazioni di pralcamente tu` gli algoritmi numerici Matplotlib StrumenL per visualizzare I dal 3

4 NUMPY >>> import numpy as np >>> a = np.array([0,1,2,3,4,5]) >>> a array([0, 1, 2, 3, 4, 5]) >>> a.ndim 1 >>> a.shape (6,) SCIPY SciPy package constants fftpack integrate interpolate io linalg maxentropy ndimage odr optimize signal sparse spatial Functionality Physical and mathematical constants Conversion methods Discrete Fourier transform algorithms Integration routines Interpolation (linear, cubic, and so on) Data input and output Linear algebra routines using the optimized BLAS and LAPACK libraries Functions for fitting maximum entropy models n-dimensional image package Orthogonal distance regression Optimization (finding minima and roots) Signal processing Sparse matrices Spatial data structures and algorithms 4

5 MATPLOTLIB Il paccheio di visualizzazione in Python piu noto USO DI QUESTE LIBRERIE: CLASSIFICAZIONE CON IL DATASET IRIS Un classico dataset per apprendimento automalco Dataset molto piccolo (150 esempi) DaL su istanze di fiore (iris) Per ogni fiore il dataset conlene La specie (Iris Setosa, Iris Virginica, Iris Versicolor) QuaIro airibul: Sepal length / width, Petal length / width Il problema di classificazione: Date certe caraierislche di un Iris, e possibile prevederne la specie? 5

6 Come caricare i dal from matplotlib import pyplot as plt import numpy as np # Load the data with load_iris from sklearn from sklearn.datasets import load_iris data = load_iris() features = data.data feature_names = data.feature_names target = data.target target_names = data.target_names Il dataset >>> data {'target_names': array(['setosa', 'versicolor', 'virginica'], dtype=' S10'), 'data': array([[ 5.1, 3.5, 1.4, 0.2], [ 4.9, 3., 1.4, 0.2], [ 4.7, 3.2, 1.3, 0.2], [ 4.6, 3.1, 1.5, 0.2], [ 5., 3.6, 1.4, 0.2], [ 5.4, 3.9, 1.7, 0.4], [ 4.6, 3.4, 1.4, 0.3], [ 5., 3.4, 1.5, 0.2], [ 4.4, 2.9, 1.4, 0.2], [ 4.9, 3.1, 1.5, 0.1], [ 5.4, 3.7, 1.5, 0.2], [ 4.8, 3.4, 1.6, 0.2], [ 4.8, 3., 1.4, 0.1],... 6

7 Features >>> features array([[ 5.1, 3.5, 1.4, 0.2], [ 4.9, 3., 1.4, 0.2], [ 4.7, 3.2, 1.3, 0.2], [ 4.6, 3.1, 1.5, 0.2], [ 5., 3.6, 1.4, 0.2], [ 5.4, 3.9, 1.7, 0.4], [ 4.6, 3.4, 1.4, 0.3], [ 5., 3.4, 1.5, 0.2], [ 4.4, 2.9, 1.4, 0.2], [ 4.9, 3.1, 1.5, 0.1], [ 5.4, 3.7, 1.5, 0.2], [ 4.8, 3.4, 1.6, 0.2], [ 4.8, 3., 1.4, 0.1], [ 4.3, 3., 1.1, 0.1], [ 5.8, 4., 1.2, 0.2], Classe degli ogge` >>> target array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]) 7

8 ScaIerplot per ogni coppia di features Codice per produrre quesl scaierplots Vedi figure1.py 8

9 Subplots PermeIe di meiere diversi diagrammi in un unica figura allineandoli in modi diversi hip://matplotlib.org/examples/ pylab_examples/subplots_demo.html Visualizzazione per studiare il dataset Sulla base del diagramma possiamo concludere per esempio che l aiributo petal length discrimina Iris Setosa dagli altri esempi di Iris Possiamo scoprire automalcamente qual e il punto di separazione 9

10 Il cutoff labels = target_names[target] plength = features[:, 2] is_setosa = (labels == 'setosa') max_setosa =plength[is_setosa].max() min_non_setosa = plength[~is_setosa].min() print('maximum of setosa: {0}.'.format(max_setosa)) print('minimum of others: {0}.'.format(min_non_setosa)) Output: 1.9, 3.0 Il classificatore if features[:,2] < 2: print 'Iris Setosa' else: print 'Iris Virginica or Iris Versicolour' 10

11 Come separare Virginica e Versicolor? REGRESSIONE CON SKLEARN In questo secondo esempio di apprendimento con scikit learn, vedremo un esempio di REGRESSIONE invece che di CLASSIFICAZIONE 11

12 DUE TIPI DI APPRENDIMENTO SUPERVISIONATO CLASSIFICAZIONE: Spam, non- spam Spam? 1(Y) ClassificaLon Discrete valued output (0 or 1) 0(N) Length of message (words) Length of message (words) 12

13 REGRESSIONE: PREDIRRE IL COSTO DELLE CASE 400 Prezzo ( ) in 1000 s Dimensione in m 2 Supervised Learning right answers given Regression: Predict conlnuous valued output (price) ESEMPIO DI APPRENDIMENTO: REGRESSIONE La REGRESSIONE LINEARE e un algoritmo di apprendimento che dovrebbe essere familiare almeno a quelli di voi che hanno seguito analisi PermeIe di imparare la funzione che meglio approssima il rapporto tra input ed output in esempi come quello del costo delle case in cui l output e NUMERICO 13

14 UN ESEMPIO DI REGRESSIONE CON SKLEARN Obie`vo: sviluppare una funzione che predice la quanlta di accessi ad un sito web I DATI 14

15 LEGGERE I DATI In [1]: import scipy as sp In [2]: data = sp.genfromtxt("web_traffic.tsv", delimiter="\t ) In [3]: data Out[3]: array([[ e+00, e+03], [ e+00, nan], [ e+00, e+03],..., [ e+02, e+03], [ e+02, e+03], [ e+02, e+03]]) In [4]: print(data.shape) (743, 2) In [6]: x = data[:,0] In [7]: y = data[:,1] PULIRE I DATI In [33]: sp.sum(sp.isnan(y)) Out[33]: 8 In [34]: x = x[~sp.isnan(y)] In [35]: y = y[~sp.isnan(y)] 15

16 VISUALIZZARE I DATI VISUALIZZARE I DATI: CODICE In [1]: import matplotlib.pyplot as plt In [8]: plt.scatter(x, y) In [9]: plt.title("web traffic over the last month") In [10]: plt.xlabel("time") In [11]: plt.ylabel("hits/hour") In [12]: plt.xticks(...: [w * 7 * 24 for w in range(10)], ['week %i' % w for w in range(10)]) plt.autoscale(tight=true) plt.grid(true, linestyle='-', color='0.75') plt.savefig("1400_01_01.png") 16

17 APPRENDERE UNA FUNZIONE Nell apprendimento supervisionato (sia regressione che classificazione) si cerca di trovare la funzione che fornisca la migliore rappresentazione dei dal Si definisce migliore rappresentazione dei dal come rappresentazione che minimizza l ERRORE ERRORE NEL CASO DELLA REGRESSIONE def error (f, x, y): return sp,sum((f(x)-y)**2) 17

18 IMPARARE LA FUNZIONE CHE RAPPRESENTA MEGLIO I DATI fp1, res1, rank1, sv1, rcond1 = sp.polyfit(x, y, 1, full=true) In [37]: print("model parameters of fp1: %s" % fp1) Model parameters of fp1: [ ] f(x) = *x In [39]: print("error of the model of fp1:", res1) Error of the model of fp1: [ e+08] f1 = sp.poly1d(fp1) VISUALIZZARE IL RISULTATO fx = sp.linspace(0,x[-1], 1000) # generate X-values for plotting plt.plot(fx, f1(fx), linewidth=4) plt.legend(["d=%i" % f1.order], loc="upper left") Dopodiche e chiaro che c e un problema con l idea che la funzione sia una linea reia La funzione approssima bene I dal le prime quairo se`mane 18

19 UN APPROSSIMAZIONE MIGLIORE >>> f2p = sp.polyfit(x, y, 2) >>> print(f2p) array([ e-02, e+00, >>> f2 = sp.poly1d(f2p) >>> print(error(f2, x, y)) e+03]) he f(x) following = chart shows the * model x**2 we trained before *(straight x line of one d ANCORA MEGLIO? Error d=1: 317,389, Error d=2: 179,983, Error d=3: 139,350, Error d=10: 121,942, Error d=100: 109,318,

20 OVERFITTING Aumentando il grado del polinomio oieniamo delle funzioni che oiengono risultal migliori `memorizzando i dal di addestramento, ma non generalizzano a sufficienza TRAIN E TEST Come nei casi di classificazione visl in precedenza, per trovare la soluzione migliore vogliamo dividere i dal in train e test e valutare solo su test 20

21 RISULTATI SU TEST Error d=1: 7,917, Error d=2: 6,993, Error d=3: 7,137, Error d=10: 8,805, Error d=100: 10,877, Se valulamo l accuratezza su test vediamo che il modello con d=2 o`ene l errore piu basso LEZIONE DI BASE Sviluppando algoritmi di apprendimento automalco e importante non limitarsi a provare tu` I metodi possibili e tu` I parametri possibili, ma cercare di capire cosa sta succedendo (per esempio visualizzando i dal) e scegliere sulla base dell analisi 21

22 QUESTA LEZIONE Echert & Coelho, capitoli 1 e 2 LETTURE 22

23 More datasets UCI Machine Learning Dataset Repository The University of California at Irvine (UCI) maintains an online repository of machine learning datasets (at the time of writing, they are listing 233 datasets). Both the Iris and Seeds dataset used in this chapter were taken from there. The repository is available online: 23

Laboratorio Apprendimento Automatico

Laboratorio Apprendimento Automatico Laboratorio Apprendimento Automatico Laurea Magistrale in Informatica Mirko Polato 14 novembre 2016 Python Perché python? Molti moduli per l analisi e la visualizzazione dei dati pre esistenti; Facile

Dettagli

Classificazione Validazione Decision Tree & kmeans. Renato Mainetti

Classificazione Validazione Decision Tree & kmeans. Renato Mainetti Classificazione Validazione Decision Tree & kmeans Renato Mainetti Apprendimento Supervisionato e Non Supervisionato: forniamo input e output Non supervisionato: forniamo solo input 2 Apprendimento Supervisionato

Dettagli

Introduzione a Python per il calcolo scientifico

Introduzione a Python per il calcolo scientifico Introduzione a Python per il calcolo scientifico Ma ia Penati 23 gennaio 2014 Python Python è un linguaggio di programmazione dinamico orientato agli ogge i >>> import t h i s The Zen o f Python, by Tim

Dettagli

Esplorazione grafica di dati multivariati. N. Del Buono

Esplorazione grafica di dati multivariati. N. Del Buono Esplorazione grafica di dati multivariati N. Del Buono Scatterplot Scatterplot permette di individuare graficamente le possibili associazioni tra due variabili Variabile descrittiva (explanatory variable)

Dettagli

Apprendimento Automatico (Intro)

Apprendimento Automatico (Intro) Apprendimento Automatico (Intro) Fabio Aiolli www.math.unipd.it/~aiolli Sito web del corso www.math.unipd.it/~aiolli/corsi/1718/aa/aa.html Orario 40 ore di lezione in aula (5cfu) 8 ore di laboratorio (1cfu)

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

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

Introduzione a SciPy

Introduzione a SciPy Introduzione a SciPy Mario Rosati CINECA Roma m.rosati@cineca.it Introduzione Il#pacche)o#SciPy#con0ene#diversi# toolbox #dedica0#ai#problemi#più# comuni#del#calcolo#scien0fico## I#suoi#diversi#so)o>moduli#corrispondono#a#diverse#applicazioni,#come#

Dettagli

Apprendimento Automatico (Lezione 1)

Apprendimento Automatico (Lezione 1) Apprendimento Automatico (Lezione 1) Fabio Aiolli www.math.unipd.it/~aiolli Sito web del corso www.math.unipd.it/~aiolli/corsi/1516/aa/aa.html Orario 40 ore di lezione in aula (5cfu) 8 ore di laboratorio

Dettagli

Computazione per l interazione naturale: macchine che apprendono

Computazione per l interazione naturale: macchine che apprendono Computazione per l interazione naturale: macchine che apprendono Corso di nterazione aturale Prof Giuseppe Boccignone Dipartimento di nformatica Università di ilano boccignone@diunimiit boccignonediunimiit/_016html

Dettagli

Laboratorio di Apprendimento Automatico. Fabio Aiolli Università di Padova

Laboratorio di Apprendimento Automatico. Fabio Aiolli Università di Padova Laboratorio di Apprendimento Automatico Fabio Aiolli Università di Padova Underfitting e Overfitting Complessità spazio ipotesi SVM: aumenta con kernel non lineari, RBF con maggiore pendenza, aumenta con

Dettagli

Esplorazione grafica di dati multivariati. N. Del Buono

Esplorazione grafica di dati multivariati. N. Del Buono Esplorazione grafica di dati multivariati N. Del Buono Scatterplot Scatterplot permette di individuare graficamente le possibili associazioni tra due variabili Variabile descrittiva (explanatory variable)

Dettagli

Apprendimento Automatico (Intro)

Apprendimento Automatico (Intro) Apprendimento Automatico (Intro) Fabio Aiolli www.math.unipd.it/~aiolli Sito web del corso www.math.unipd.it/~aiolli/corsi/1617/aa/aa.html Orario 40 ore di lezione in aula (5cfu) 8 ore di laboratorio (1cfu)

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

Sistemi di Elaborazione dell Informazione 170. Caso Non Separabile

Sistemi di Elaborazione dell Informazione 170. Caso Non Separabile Sistemi di Elaborazione dell Informazione 170 Caso Non Separabile La soluzione vista in precedenza per esempi non-linearmente separabili non garantisce usualmente buone prestazioni perchè un iperpiano

Dettagli

Dare ai computer la capacità di apprendere dai dati

Dare ai computer la capacità di apprendere dai dati Capitolo 1 Dare ai computer la capacità di apprendere dai dati È mia opinione che il machine learning, o apprendimento automatico, ovvero l applicazione e lo studio degli algoritmi che estraggono informazioni

Dettagli

IM-IU v0.1. alternata e continua. pag. 1 / 5

IM-IU v0.1. alternata e continua. pag. 1 / 5 MANUALE OPERATIVO IM-IU v0.1 INSTRUCTION MANUAL SERIE TTC-V-485 Trasformatore di corrente alternata e continua PROTOCOLLO DI COMUNICAZIONE MODBUS TTC-V-485 SERIES AC/DC current transformer MODBUS COMMUNICATION

Dettagli

Laboratorio di Statistica e Analisi dei Dati

Laboratorio di Statistica e Analisi dei Dati Laboratorio di Statistica e Analisi dei Dati Nicolò Campolongo Università degli Studi di Milano nicolo.campolongo@unimi.it November 16, 2018 Nicolò Campolongo (UniMi) Lezione 3 November 16, 2018 1 / 17

Dettagli

Python Start. Docente: M. Chiara Debernardi. Lingua del corso. Descrizione del corso e obiettivi. Destinatari. Italiano

Python Start. Docente: M. Chiara Debernardi. Lingua del corso. Descrizione del corso e obiettivi. Destinatari. Italiano Python Start Docente: M. Chiara Debernardi Lingua del corso Italiano Descrizione del corso e obiettivi Il corso mira a far conoscere i fondamenti di Python i cui ambiti di utilizzo sono molteplici: intelligenza

Dettagli

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

e applicazioni al dominio del Contact Management Andrea Brunello Università degli Studi di Udine al e applicazioni al dominio del Contact Management Parte I: Il Processo di, Principali tipologie di al Cos è il Il processo di Università degli Studi di Udine Unsupervised In collaborazione con dott.

Dettagli

Plotting: matplotlib & pyplot

Plotting: matplotlib & pyplot Plotting: matplotlib & pyplot Programmazione Orientata agli Oggetti e Scripting in Python Matplotlib: summary Matplotlib: libreria per la gestione di grafici 2d Matplotlib: summary Matplotlib: libreria

Dettagli

Classificazione introduzione

Classificazione introduzione - Classificazione introduzione Vittorio Maniezzo Università di Bologna 1 Ringraziamenti Questi lucidi derivano anche da adattamenti personali di materiale prodotto (fornitomi o reso scaricabile) da: A.

Dettagli

Interpolazione e approssimazione di dati

Interpolazione e approssimazione di dati Interpolazione e approssimazione di dati Corso di Metodi Numerici 22 Marzo 2018 Introduzione Implementazione in MATLAB di interpolazione polinomiale e approssimazione di dati. Date n + 1 coppie di punti

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

Introduzione a matplotlib: il modulo pyplot

Introduzione a matplotlib: il modulo pyplot Introduzione a matplotlib: il modulo pyplot Mario Rosati CINECA Roma m.rosati@cineca.it Cos è Matplotlib Matplotlib!è!un!modulo!per!la!generazione!di!grafici!2D!(in!piccola!parte!anche! 3D):! è!completamente!sviluppata!in!python,!!

Dettagli

Computazione per l interazione naturale: macchine che apprendono

Computazione per l interazione naturale: macchine che apprendono Computazione per l interazione naturale: macchine che apprendono Corso di Interazione uomo-macchina II Prof. Giuseppe Boccignone Dipartimento di Scienze dell Informazione Università di Milano boccignone@dsi.unimi.it

Dettagli

Apprendimento Automatico

Apprendimento Automatico Apprendimento Automatico Fabio Aiolli www.math.unipd.it/~aiolli Sito web del corso www.math.unipd.it/~aiolli/corsi/1516/aa/aa.html Rappresentazione dei dati con i kernel Abbiamo una serie di oggetti S

Dettagli

Data Mining and Machine Learning Lab. Lezione 8 Master in Data Science for Economics, Business and Finance 2018

Data Mining and Machine Learning Lab. Lezione 8 Master in Data Science for Economics, Business and Finance 2018 Data Mining and Machine Learning Lab. Lezione 8 Master in Data Science for Economics, Business and Finance 2018 18.05.18 Marco Frasca Università degli Studi di Milano SVM - Richiami La Support Vector Machine

Dettagli

Metodi supervisionati di classificazione

Metodi supervisionati di classificazione Metodi supervisionati di classificazione Giorgio Valentini e-mail: valentini@dsi.unimi.it DSI - Dipartimento di Scienze dell'informazione Classificazione bio-molecolare di tessuti e geni Diagnosi a livello

Dettagli

Introduction to this Course

Introduction to this Course Introduction to this Course Shahram Rahatlou Computing Methods in Physics http://www.roma1.infn.it/people/rahatlou/cmp/ Anno Accademico 2018/19 About this course Io sono un fisico e faccio ricerca in fisica

Dettagli

Interpolazione e approssimazione di dati

Interpolazione e approssimazione di dati Interpolazione e approssimazione di dati 08 Aprile 2019 Introduzione Implementazione in MATLAB di interpolazione polinomiale e approssimazione di dati. Date n + 1 coppie di punti (x i, y i ) con i = 0,

Dettagli

Introduzione alle Reti Neurali

Introduzione alle Reti Neurali Introduzione alle Reti Neurali Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: twitter: blog: stefano.gualandi@unipv.it @famo2spaghi http://stegua.github.com Reti Neurali Terminator

Dettagli

Computazione per l interazione naturale: macchine che apprendono

Computazione per l interazione naturale: macchine che apprendono Computazione per l interazione naturale: macchine che apprendono Corso di Interazione uomo-macchina II Prof. Giuseppe Boccignone Dipartimento di Scienze dell Informazione Università di Milano boccignone@dsi.unimi.it

Dettagli

Tipici tempi di esecuzione. Martedì 7 ottobre 2014

Tipici tempi di esecuzione. Martedì 7 ottobre 2014 Tipici tempi di esecuzione Martedì 7 ottobre 2014 Punto della situazione Abbiamo definito il tempo di esecuzione di un algoritmo Scelto l analisi asintotica Abbiamo definito le notazioni asintotiche che

Dettagli

Computazione per l interazione naturale: macchine che apprendono

Computazione per l interazione naturale: macchine che apprendono Comput per l inter naturale: macchine che apprendono Corso di Inter uomo-macchina II Prof. Giuseppe Boccignone Dipartimento di Informatica Università di Milano boccignone@di.unimi.it http://boccignone.di.unimi.it/ium2_2014.html

Dettagli

Indice generale. Introduzione. Ringraziamenti dell autore...xxi. Capitolo 1 Dare ai computer la capacità di apprendere dai dati...

Indice generale. Introduzione. Ringraziamenti dell autore...xxi. Capitolo 1 Dare ai computer la capacità di apprendere dai dati... Premessa Introduzione...xiii...xv Struttura del libro...xvi Dotazione software necessaria...xvii A chi è rivolto questo libro...xviii Convenzioni...xviii Scarica i file degli esempi...xix L autore...xix

Dettagli

xvi Machine Learning con Python

xvi Machine Learning con Python Introduzione Probabilmente non ho bisogno di dirvi che il machine learning è una delle tecnologie più stimolanti della nostra epoca. Tutte le grandi aziende, fra cui Google, Facebook, Apple, Amazon, IBM

Dettagli

Esercizio: apprendimento di congiunzioni di letterali

Esercizio: apprendimento di congiunzioni di letterali input: insieme di apprendimento istemi di Elaborazione dell Informazione 18 Esercizio: apprendimento di congiunzioni di letterali Algoritmo Find-S /* trova l ipotesi più specifica consistente con l insieme

Dettagli

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

Training Set Test Set Find-S Dati Training Set Def: Errore Ideale Training Set Validation Set Test Set Dati " #!! Suddivisione tipica ( 3 5 6 & ' ( ) * 3 5 6 = > ; < @ D Sistemi di Elaborazione dell Informazione Sistemi di Elaborazione dell Informazione Principali Paradigmi di Apprendimento Richiamo Consideriamo

Dettagli

SUPPORT VECTOR MACHINES. a practical guide

SUPPORT VECTOR MACHINES. a practical guide SUPPORT VECTOR MACHINES a practical guide 1 SUPPORT VECTOR MACHINES Consideriamo un problema di classificazione binaria, a partire da uno spazio di input X R n e uno spazio di output Y = { 1, 1} Training

Dettagli

Algoritmi di classificazione supervisionati

Algoritmi di classificazione supervisionati Corso di Bioinformatica Algoritmi di classificazione supervisionati Giorgio Valentini DI Università degli Studi di Milano 1 Metodi di apprendimento supervisionato per problemi di biologia computazionale

Dettagli

Introduzione. Reti neurali. Una rete di percettroni

Introduzione. Reti neurali. Una rete di percettroni Introduzione Con questa guida il mio obiettivo è quello di presentare il tema delle reti neurali in modo semplice per coloro che hanno almeno delle basi universitarie dei concetti di Analisi 1 e 2 per

Dettagli

Apprendimanto automatico

Apprendimanto automatico Docente: Matteo Re UNIVERSITÀ DEGLI STUDI DI MILANO Apprendimanto automatico Matteo Re Matteo.re@unimi.it http://homes.di.unimi.it/~re DI Dipartimento di Scienze dell Informazione Università degli Studi

Dettagli

Fondamenti di Informatica Esercitazione 8/5/2014

Fondamenti di Informatica Esercitazione 8/5/2014 Fondamenti di Informatica Esercitazione 8/5/2014 Ing. Luca Silvestri silvestri@ing.uniroma2.it Covered Topics n Cell Arrays Cell arrays are vectors of containers; their elements can be manipulated either

Dettagli

Regressione. Lineare Simple linear regression Multiple linear regression Regression vs Geometrical fitting

Regressione. Lineare Simple linear regression Multiple linear regression Regression vs Geometrical fitting Lineare Simple linear regression Multiple linear regression Regression vs Geometrical fitting Non lineare Variabile indipendente non lineare Ottimizzazione numerica (metodi iterativi) 1 Definizioni Nei

Dettagli

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

e applicazioni al dominio del Contact Management Andrea Brunello Università degli Studi di Udine e applicazioni al dominio del Contact Management Parte V: combinazione di Università degli Studi di Udine In collaborazione con dott. Enrico Marzano, CIO Gap srl progetto Active Contact System 1/10 Contenuti

Dettagli

Preprocessing. Corso di AA, anno 2017/18, Padova. Fabio Aiolli. 27 Novembre Fabio Aiolli Preprocessing 27 Novembre / 14

Preprocessing. Corso di AA, anno 2017/18, Padova. Fabio Aiolli. 27 Novembre Fabio Aiolli Preprocessing 27 Novembre / 14 Preprocessing Corso di AA, anno 2017/18, Padova Fabio Aiolli 27 Novembre 2017 Fabio Aiolli Preprocessing 27 Novembre 2017 1 / 14 Pipeline di Apprendimento Supervisionato Analisi del problema Raccolta,

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

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come Problemi e algoritmi Il che cosa e il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come effettuare un calcolo

Dettagli

Segmentazione basata su colore. Annalisa Franco

Segmentazione basata su colore. Annalisa Franco Segmentazione basata su colore Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ 2 La segmentazione Scopo di questa esercitazione è l implementazione di tecniche di segmentazione basate

Dettagli

Reti neurali con weka Soluzioni degli esercizi

Reti neurali con weka Soluzioni degli esercizi Reti neurali con weka Soluzioni degli esercizi Dott.ssa Elisa Turricchia Alma Mater Studiorum - Università di Bologna ANN in weka Linee guida Scelta dell algoritmo di classificazione Classifiers/Functions/MultilyerPerceptron

Dettagli

Exam of ELECTRONIC SYSTEMS June 15 th, 2012 Prof. Marco Sampietro

Exam of ELECTRONIC SYSTEMS June 15 th, 2012 Prof. Marco Sampietro Exam of ELECTRONIC SYSTEMS June 15 th, 2012 Prof. Marco Sampietro Matr. N NAME Problem 1 Operational Amplifier circuit 1. Considerare l amplificatore della figura seguente. Supporre inizialmente di usare

Dettagli

Lezione 5, 5/11/2014

Lezione 5, 5/11/2014 Lezione 5, 5/11/2014 Elena Gaburro, elenagaburro@gmail.com 1 Ordine di convergenza di un metodo Definizione 1.1. Sia {x k } una successione convergente ad α. Consideriamo l errore assoluto in modulo al

Dettagli

Computazione per l interazione naturale: macchine che apprendono

Computazione per l interazione naturale: macchine che apprendono Computazione per l interazione naturale: macchine che apprendono Corso di Interazione Naturale! Prof. Giuseppe Boccignone! Dipartimento di Informatica Università di Milano! boccignone@di.unimi.it boccignone.di.unimi.it/in_2015.html

Dettagli

Laboratorio di dati e sistemi multimediali

Laboratorio di dati e sistemi multimediali Laboratorio di dati e sistemi multimediali Scienze e tecnologie Multimediale Prof. Christian Micheloni Introduzione Nel corso di questa lezione faremmo uso dell iris data set per introdurre i concetti

Dettagli

Introduzione ai Laboratori di Fondamenti di Analisi dei Dati. Antonino Furnari

Introduzione ai Laboratori di Fondamenti di Analisi dei Dati. Antonino Furnari Introduzione ai Laboratori di Fondamenti di Analisi dei Dati Antonino Furnari furnari@dmi.unict.it www.dmi.unict.it/~furnari/ Laboratori di FAD Docente: Antonino Furnari (www.dmi.unict.it/~furnari/); Ricevimento:

Dettagli

Apprendimento automatico e Reti Neurali. Francesco Sambo tel

Apprendimento automatico e Reti Neurali. Francesco Sambo  tel Apprendimento automatico e Reti Neurali Francesco Sambo www.dei.unipd.it/~sambofra francesco.sambo@dei.unipd.it tel. 049 827 7834 Apprendimento automatico Capacità di un agente di sintetizzare nuova conoscenza

Dettagli

Clustering con Weka. L interfaccia. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna. Algoritmo utilizzato per il clustering

Clustering con Weka. L interfaccia. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna. Algoritmo utilizzato per il clustering Clustering con Weka Testo degli esercizi Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna L interfaccia Algoritmo utilizzato per il clustering E possibile escludere un sottoinsieme

Dettagli

Clustering con Weka Testo degli esercizi. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Clustering con Weka Testo degli esercizi. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Clustering con Weka Testo degli esercizi Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna L interfaccia Algoritmo utilizzato per il clustering E possibile escludere un sottoinsieme

Dettagli

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4-23/3/2015

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4-23/3/2015 Complementi di Matematica e Calcolo Numerico A.A. 2014-2015 Laboratorio 4-23/3/2015 Equazioni non lineari (fzero) Sia f : R R una funzione che ammette una radice α, ovvero t.c. f(α) = 0. Possiamo utilizzare

Dettagli

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) Secondo Parziale - 11 Giugno 2018

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) Secondo Parziale - 11 Giugno 2018 DIPARTIMENTO DI INGEGNERIA GESTIONALE, DELL INFORMAZIONE E DELLA PRODUZIONE Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) Secondo Parziale - 11 Giugno 2018 Nome: Cognome: Matricola:

Dettagli

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04) Problemi e algoritmi Il che cosa e il come Il che cosa ed il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come

Dettagli

Reti Neurali (Parte I)

Reti Neurali (Parte I) Reti Neurali (Parte I) Corso di AA, anno 2017/18, Padova Fabio Aiolli 30 Ottobre 2017 Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 1 / 15 Reti Neurali Artificiali: Generalità Due motivazioni diverse

Dettagli

Python. Loriano Storchi.

Python. Loriano Storchi. Python Loriano Storchi loriano@storchi.org http:://www.storchi.org/ I linguaggi di programmazione Abbiamo visto che i linguaggi di programmaione sono: Dichiarativi Logici Funzionali Imperativi Procedurali

Dettagli

Linguistica dei Corpora (2) Lezione 8: Principi di Apprendimento Automatico

Linguistica dei Corpora (2) Lezione 8: Principi di Apprendimento Automatico Linguistica dei Corpora (2) Lezione 8: Principi di Apprendimento Automatico Malvina Nissim malvina.nissim@unibo.it 22 Aprile 2009 1 Contesto set Context within ( give []* up within s;) expand

Dettagli

Cosa intendiamo per Intelligenza Artificiale?

Cosa intendiamo per Intelligenza Artificiale? Cosa intendiamo per Intelligenza Artificiale? tutto ciò che avreste voluto sapere e non avete mai osato chiedere! Matteo Matteucci matteo.matteucci@polimi.it Ho chiaramente un bias sull analisi di immagini!

Dettagli

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS MANUALE OPERATIVO / INSTRUCTION MANUAL IM-IU v0.1 EML-16 Concentratore impulsi PROTOCOLLO DI COMUNICAZIONE MODBUS EML-16 Pulses concentrator MODBUS COMMUNICATION PROTOCOL PROTOCOLLO MODBUS Il concentratore

Dettagli

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

Reti Neurali. Corso di AA, anno 2016/17, Padova. Fabio Aiolli. 2 Novembre Fabio Aiolli Reti Neurali 2 Novembre / 14. unipd_logo. Reti Neurali Corso di AA, anno 2016/17, Padova Fabio Aiolli 2 Novembre 2016 Fabio Aiolli Reti Neurali 2 Novembre 2016 1 / 14 Reti Neurali Artificiali: Generalità Due motivazioni diverse hanno spinto storicamente

Dettagli

INTRODUZIONE AD OMNET++

INTRODUZIONE AD OMNET++ INTRODUZIONE AD OMNET++ Omnet++ OMNET++ è una piattaforma di simulazione : È utile per: Modulare: gerarchia di moduli Ad eventi Orientata agli Oggetti (in C++) Open Source Versione comm. OMNEST analizzare

Dettagli

Prova scritta di ASM - Modulo Analisi Esplorativa del

Prova scritta di ASM - Modulo Analisi Esplorativa del Cognome:... Nome:... Matricola:......... Prova scritta di ASM - Modulo Analisi Esplorativa del 14.02.2017 La durata della prova è di 90 minuti. Si svolgano gli esercizi A e B riportando il risultato dove

Dettagli

OOP: Object Oriented Programming

OOP: Object Oriented Programming OOP: Object Oriented Programming Riferimenti per questa parte: 1. Capitoli 7 e 8 del testo di riferimento 2. https://docs.python.org/3.6/tutorial/classes.html OOP: Idea Principale L idea principale della

Dettagli

Regressione Lineare. Corso di Intelligenza Artificiale, a.a Prof. Francesco Trovò

Regressione Lineare. Corso di Intelligenza Artificiale, a.a Prof. Francesco Trovò Regressione Lineare Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 23/04/2018 Regressione Lineare Supervised Learning Supervised Learning: recap È il sottocampo del ML più vasto

Dettagli

Quadrature. Emma Perracchione. Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD)

Quadrature. Emma Perracchione. Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD) Emma Perracchione Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD) Gli esercizi sono presi dal libro: S. De Marchi, D. Poggiali, Exercices of numerical calculus with solutions

Dettagli

Linguistica dei Corpora (2) Lezione 8: Principi di Apprendimento Automatico

Linguistica dei Corpora (2) Lezione 8: Principi di Apprendimento Automatico Linguistica dei Corpora (2) Lezione 8: Principi di Apprendimento Automatico Malvina Nissim malvina.nissim@unibo.it 22 Aprile 2009 Contesto set Context within ( give []* up within s;) expand

Dettagli

A Quick Intro to Machine Learning. The field of study that gives computers the ability to learn without being explicitly programmed

A Quick Intro to Machine Learning. The field of study that gives computers the ability to learn without being explicitly programmed A Quick Intro to Machine Learning The field of study that gives computers the ability to learn without being explicitly programmed Dati Informazioni Utili Un approccio per cercare di estrarre informazioni

Dettagli

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

Classificazione bio-molecolare di tessuti e geni come problema di apprendimento automatico e validazione dei risultati Classificazione bio-molecolare di tessuti e geni come problema di apprendimento automatico e validazione dei risultati Giorgio Valentini e-mail: valentini@dsi.unimi.it DSI Dip. Scienze dell'informazione

Dettagli

Classificatore K-NN 1

Classificatore K-NN 1 Classificatore K-NN 1 Esercizio: Implementare il classificatore K-NN: [labelassegnate_test error_test] = mio_knn( ds_train, ds_test, k) Traccia: La funzione DIST(A,B') del toolbox reti neurali calcola

Dettagli

Laboratorio Di Statistica Con R Eserciziario Ediz Mylab Con Espansione Online

Laboratorio Di Statistica Con R Eserciziario Ediz Mylab Con Espansione Online Laboratorio Di Statistica Con R Eserciziario Ediz Mylab Con Espansione Online We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing

Dettagli

Apprendimento Automatico Esercitazione 15/04/2009 Prof. Roberto Navigli

Apprendimento Automatico Esercitazione 15/04/2009 Prof. Roberto Navigli Apprendimento Automatico Esercitazione 15/04/2009 Prof. Roberto Navigli Esercizio 1 Si vuole apprendere un classificatore Naive Bayes per le interrogazioni di un motore di ricerca. Ogni interrogazione

Dettagli

nb2-tutorial_pyplot December 5, 2017 Breve compendio per l uso dei plot in Python

nb2-tutorial_pyplot December 5, 2017 Breve compendio per l uso dei plot in Python nb2-tutorial_pyplot December 5, 2017 Breve compendio per l uso dei plot in Python matplotlib e un contenitore di programmi realizzato per facilitare il plotting attraverso un suo sottoinsieme chiamato

Dettagli

MANUALE MATLAB. Nel manuale proposto ci soffermeremo ad osservare alcune funzioni proposte da Matlab inerenti all attività di laboratorio.

MANUALE MATLAB. Nel manuale proposto ci soffermeremo ad osservare alcune funzioni proposte da Matlab inerenti all attività di laboratorio. MANUALE MATLAB Nel manuale proposto ci soffermeremo ad osservare alcune funzioni proposte da Matlab inerenti all attività di laboratorio. LOAD: La funzione load serve per caricare dei dati presenti in

Dettagli

Richiamo di Concetti di Apprendimento Automatico ed altre nozioni aggiuntive

Richiamo di Concetti di Apprendimento Automatico ed altre nozioni aggiuntive Sistemi Intelligenti 1 Richiamo di Concetti di Apprendimento Automatico ed altre nozioni aggiuntive Libro di riferimento: T. Mitchell Sistemi Intelligenti 2 Ingredienti Fondamentali Apprendimento Automatico

Dettagli

Complementi di Matematica A.A Laboratorio 10

Complementi di Matematica A.A Laboratorio 10 Complementi di Matematica A.A. 2016-2017 Laboratorio 10 Equazioni non lineari (fzero) Sia f : R R una funzione che ammette una radice α, ovvero t.c. f(α) = 0. Possiamo utilizzare la funzione predefinita

Dettagli

Apprendimento Automatico

Apprendimento Automatico Apprendimento Automatico Metodi Bayesiani - Naive Bayes Fabio Aiolli 13 Dicembre 2017 Fabio Aiolli Apprendimento Automatico 13 Dicembre 2017 1 / 18 Classificatore Naive Bayes Una delle tecniche più semplici

Dettagli

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

e applicazioni al dominio del Contact Management Andrea Brunello Università degli Studi di Udine e applicazioni al dominio del Contact Management Parte IV: valutazione dei Università degli Studi di Udine Cross- In collaborazione con dott. Enrico Marzano, CIO Gap srl progetto Active Contact System

Dettagli

Finite Model Theory / Descriptive Complexity: bin

Finite Model Theory / Descriptive Complexity: bin , CMPSCI 601: Recall From Last Time Lecture 19 Finite Model Theory / Descriptive Compleity: Th: FO L DSPACE Fagin s Th: NP SO. bin is quantifier-free.!#"$&% ('*), 1 Space 0 1 ) % Time $ "$ $ $ "$ $.....

Dettagli

TRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+

TRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ TRADUZIONE DI STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ a cura di: Eleonora Antonelli Simone Maletta Stefano Novara INDICE 1. Grammatica di TLA+ a cura di Eleonora Antonelli

Dettagli

Riconoscimento e recupero dell informazione per bioinformatica. Clustering: validazione. Manuele Bicego

Riconoscimento e recupero dell informazione per bioinformatica. Clustering: validazione. Manuele Bicego Riconoscimento e recupero dell informazione per bioinformatica Clustering: validazione Manuele Bicego Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Definizione

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

Programmi Python: esempi (in Python 3) Prof.ssa Valeria Vittorini Prof. Roberto Canonico Corso di Programmazione I a.a

Programmi Python: esempi (in Python 3) Prof.ssa Valeria Vittorini Prof. Roberto Canonico Corso di Programmazione I a.a Programmi Python: esempi (in Python 3) Prof.ssa Valeria Vittorini Prof. Roberto Canonico Corso di Programmazione I a.a. 2018-2019 Esempio #1: calcolo numeri primi Come esempio di funzione, si riporta sotto

Dettagli

NumPy. Programmazione Orientata agli Oggetti e Scripting in Python

NumPy. Programmazione Orientata agli Oggetti e Scripting in Python NumPy Programmazione Orientata agli Oggetti e Scripting in Python NumPy: Informazioni di Base Estensione che aggiunge supporto per vettori e matrici multidimensionali Fornisce: funzioni matematiche di

Dettagli

Problemi di ricerca in insiemi ordinati

Problemi di ricerca in insiemi ordinati Problemi di ricerca in insiemi ordinati Abbiamo visto che, per trovare un elemento in un insieme ordinato, con l algoritmo della ricerca binaria restringiamo l intervallo della ricerca alla metà in ogni

Dettagli

Programma del corso di: Calcolo Numerico Corso di laurea in Matematica a.a. 2005-06 Prof. B.Paternoster

Programma del corso di: Calcolo Numerico Corso di laurea in Matematica a.a. 2005-06 Prof. B.Paternoster Programma del corso di: Calcolo Numerico Corso di laurea in Matematica a.a. 2005-06 Prof. B.Paternoster Richiami di analisi degli errori. Rappresentazione dei numeri in un calcolatore. Operazioni di macchina.

Dettagli

Universita degli Studi di Siena

Universita degli Studi di Siena Universita degli Studi di Siena Facolta di Ingegneria Dispense del corso di Sistemi di Supporto alle Decisioni I La Programmazione Dinamica Chiara Mocenni Corso di Laurea triennale in Ingegneria Gestionale

Dettagli

MACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it

MACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it MACHINE LEARNING e DATA MINING Introduzione a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it Apprendimento Automatico(i) Branca dell AI che si occupa di realizzare dispositivi artificiali capaci di

Dettagli