azureml - creating and using machine learning solutions (italian)
TRANSCRIPT
#sqlsatTorino
#sqlsat400May 23, 2015
AzureML - Creating and Using Machine
Learning Solutions
Davide Mauri
@mauridb
www.davidemauri.it
dmauri@solidq
#sqlsatTorino
#sqlsat400May 23, 2015
Davide Mauri
Microsoft SQL Server MVP
Works with SQL Server from 6.5, on BI from 2003
Specialized in Data Solution Architecture, Database Design, Performance Tuning, High-Performance Data Warehousing, BI, Big Data
President of UGISS (Italian SQL Server UG)
Regular Speaker @ SQL Server events
Consulting & Training, Mentor @ SolidQ
E-mail: [email protected]
Twitter: @mauridb
Blog: http://sqlblog.com/blogs/davide_mauri/default.aspx
#sqlsatTorino
#sqlsat400May 23, 2015
Agenda
Machine Learning, uats dat?
Supervised & Unsupervised Methods
Tool e Linguaggi
Esperimenti On-Premises
Azure Machine Learning
Integrazione di AzureML nelle applicazioni
#sqlsatTorino
#sqlsat400May 23, 2015
Machine Learning
Algoritmi che apprendono dai dati
Niente di nuovo dal punto di vista scientifico "Field of study that gives computers the ability to learn
without being explicitly programmed“ - 1959, Arthur Samuel
In Italiano: «Apprendimento Automatico» Nome meno bello ma più vicino alla realtà
Richiede *molta* potenza di calcolo (anche per Not-So-Big Data) Azure, here we come!
#sqlsatTorino
#sqlsat400May 23, 2015
Machine Learning
Molto, molto, molto, molto utile per Identificare pattern sconosciuti e non “umanamente”
identificabili Ad es. in spazi multi-dimensionali (da un punto di vista
matematico e pratico, sono oggetti con cui ci relazioniamo tutti i giorni)
Identificare correlazioni nascoste Es. relazioni di causa/effetto per identificare frodi, eventi
specifici (rottura di un pezzo)
Classificare in automatico insiemi di dati Es. autore di provenienza di un testo, sentiment analysis,
pattern recognition
Anticipare il futuro basandosi su conoscenza passata Es. Analisi delle tendenze di prezzi, stock, costi
#sqlsatTorino
#sqlsat400May 23, 2015
Machine Learning
Ci sono due (ma alcuni le dividono in cinque!) grosse categorie Supervised Learning
Unsupervised Learning
Supervised: agli algoritmi viene insegnato qual è il risultato atteso
Unsupervised: gli algoritmi identificano in autonomia le regole / i pattern
#sqlsatTorino
#sqlsat400May 23, 2015
Linguaggi
Linguaggi comuni ed utilizzati attualmente R (MS ha appena acquisito Revolution Analytics)
Pyton (Scikit-Learn – pron: “sy-kit learn”)
In ambito .NET Infer.NET
http://research.microsoft.com/en-us/um/cambridge/projects/infernet/
F# http://fsharp.org/guides/machine-learning/index.html
http://stackoverflow.com/questions/8068040/resources-for-working-with-machine-learning-in-f
Azure ML Net# - Linguaggo specifico per Reti Neurali Artificiali
#sqlsatTorino
#sqlsat400May 23, 2015
AzureML
“Democratize Machine Learning”
https://studio.azureml.net/
Gratis (“Free Tier”) per dati fino a 10GB e per attività di test/sviluppo
Sviluppo di esperimenti e pubblicazione degli algoritmi tramite Web API / Service
#sqlsatTorino
#sqlsat400May 23, 2015
Tool
R + RStudio IDE free per R, molto ben fatto
http://www.rstudio.com/
Anaconda Python Distribuzione di Python con tutti i package necessari per fare
Data Science
http://www.continuum.io/
PyTools For Visual Studio Estensione per sviluppare con Python con Visual Studio
Team di sviluppo assorbito da AzureML
https://pytools.codeplex.com/
#sqlsatTorino
#sqlsat400May 23, 2015
IRIS Dataset
Disponibile presso il sito UC Irvine Machine Learning Repository http://archive.ics.uci.edu/ml/datasets/Iris
150 classificazioni di fiori “iris” 3 classi: Virginica, Versicolor, Setosa
4 feature (dimensioni): Sepal Width & Length, Petal Width & Length
Uno dei set più famosi Una classe linearmente separabile
Le alter due classi NON sono linearmente separabili
#sqlsatTorino
#sqlsat400May 23, 2015
IRIS Dataset
http://www.anselm.edu/homepage/jpitocch/genbi101/diversity3Plants.html
#sqlsatTorino
#sqlsat400May 23, 2015
Azure Machine Learning
www.azureml.com
Azure ML Studio Web application per lo sviluppo dei modelli
Processo di sviluppo Experiment
Score
Evaluate
Publish
#sqlsatTorino
#sqlsat400May 23, 2015
Web Endpoint
Azure Machine Learning permette di creare un endpoint web per invocare l’algoritmo di ML da applicazioni custom
Protocollo basato su JSON
Insieme al web service viene creato anche Pagina di Help
Endpoint per chiamata singola
Endpoint per chiamata batch
#sqlsatTorino
#sqlsat400May 23, 2015
Valutazioni
Sessione
http://speakerscore.com/7M4M
Conferenza
http://speakerscore.com/MK1T